From bceec95e5674477012d2e1508ff86f72d8887c94 Mon Sep 17 00:00:00 2001 From: AmadeusVF Date: Thu, 2 Jul 2026 08:50:02 -0400 Subject: [PATCH] Update Trinkets and Trackers to version 1.3.5 --- T&T - Trinkets and Trackers/1.3.5/README.md | 50 + .../1.3.5/T&T Item Blueprints.json | 1 + .../1.3.5/T&T Portable Database.json | 1 + .../1.3.5/TrinketsAndTrackers.js | 20229 ++++++++++++++++ T&T - Trinkets and Trackers/script.json | 9 +- 5 files changed, 20287 insertions(+), 3 deletions(-) create mode 100644 T&T - Trinkets and Trackers/1.3.5/README.md create mode 100644 T&T - Trinkets and Trackers/1.3.5/T&T Item Blueprints.json create mode 100644 T&T - Trinkets and Trackers/1.3.5/T&T Portable Database.json create mode 100644 T&T - Trinkets and Trackers/1.3.5/TrinketsAndTrackers.js diff --git a/T&T - Trinkets and Trackers/1.3.5/README.md b/T&T - Trinkets and Trackers/1.3.5/README.md new file mode 100644 index 0000000000..812ba1f874 --- /dev/null +++ b/T&T - Trinkets and Trackers/1.3.5/README.md @@ -0,0 +1,50 @@ +# Trinkets & Trackers (T&T) + +**Author:** [AmadeusVF](https://app.roll20.net/users/15900768/amadeusvf) +**Version:** 1.3.5 Public Release + +Trinkets & Trackers is a Roll20 API script for D&D games that adds chat-based +tools for inventory, shops, token setup, combat support, conditions, and +initiative management. It is designed to reduce manual bookkeeping during play +and give the DM faster control over common table actions. + +For more information, visit my [patreon](https://www.patreon.com/c/AmadeusVF). + +## Main Features + +- **Chat-based interactive inventory:** use, equip, discard, and transfer items + from character to character directly from chat menus. +- **Dynamic shop system:** manage shops, prices, stock, purchases, inventory + delivery, currency, and campaign economy from Roll20. +- **Token management:** initialize tokens and configure vision, bars, size, and + other token defaults used by the script. +- **Combat assistance:** challenge attacks against AC, apply damage, and handle + resistance, vulnerability, immunity, healing, and concentration support. +- **Concentration tracker:** track active concentration effects and help the DM + manage them during combat. +- **Condition applier:** apply common conditions to tokens from script menus. +- **Advanced Group Initiative:** manage initiative for selected groups more + efficiently checking for advantage or disadvantage on rolls. + +## Requirements + +To use the interactive inventory and shop system, the campaign must include +these two handouts: + +- `T&T Portable Database` +- `T&T Blueprints` + +These handouts are used by the script to store and read item, shop, and +blueprint data. They should exist in the Roll20 campaign before using inventory +or shop features. + +## Basic Use + +- `!tntDM menu` opens the DM control console, where the DM can access inventory, + shop, token, combat, and management tools. +- `!tntToken Init` initializes selected tokens so they can work with the script, + including token setup, bars, vision, size, and saved token data. + +Once the required handouts are present and tokens have been initialized, the DM +and players can use the chat menus to manage items, shops, combat actions, +conditions, healing, concentration, and initiative directly in Roll20. diff --git a/T&T - Trinkets and Trackers/1.3.5/T&T Item Blueprints.json b/T&T - Trinkets and Trackers/1.3.5/T&T Item Blueprints.json new file mode 100644 index 0000000000..b0e133dc95 --- /dev/null +++ b/T&T - Trinkets and Trackers/1.3.5/T&T Item Blueprints.json @@ -0,0 +1 @@ +{"blueprints":[{"nm":"Club","blueprint":{"nm":"Club","item":{"tp":"Item","cp":"67a65924db873a00127f6c2f","dn":"Light. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nDamage: 1d4\nDamage Type: Bludgeoning\nProperties: Light\nMastery: Slow\nWeight: 2","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Club","rd":"Club Attack","cp":"67a65924db873a00127f6c2f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Club (Off-Hand)","rd":"Club (Off-Hand) Attack","cp":"67a65924db873a00127f6c2f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Club Damage","cp":"67a65924db873a00127f6c2f","ay":"auto","dT":"Bludgeoning","die":"d4","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Club (Off-Hand) Damage","cp":"67a65924db873a00127f6c2f","ay":"none","dT":"Bludgeoning","die":"d4","ct":1,"oC":false}]}},{"nm":"Club +1","blueprint":{"nm":"Club +1","item":{"tp":"Item","cp":"6744e42895192d0012ba2db5","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Club +1","rd":"Club +1 Attack","cp":"6744e42895192d0012ba2db5","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Club +1 (Off-hand)","rd":"Club +1 Attack (Off-hand)","cp":"6744e42895192d0012ba2db5","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Club +1 Damage","cp":"6744e42895192d0012ba2db5","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Club +1 Damage (Off-hand)","cp":"6744e42895192d0012ba2db5","ay":"none","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Club +2","blueprint":{"nm":"Club +2","item":{"tp":"Item","cp":"6744e42a95192d0012ba2e49","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Club +2","rd":"Club +2 Attack","cp":"6744e42a95192d0012ba2e49","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Club +2 (Off-hand)","rd":"Club +2 Attack (Off-hand)","cp":"6744e42a95192d0012ba2e49","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Club +2 Damage","cp":"6744e42a95192d0012ba2e49","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Club +2 Damage (Off-hand)","cp":"6744e42a95192d0012ba2e49","ay":"none","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Club +3","blueprint":{"nm":"Club +3","item":{"tp":"Item","cp":"6744e42b95192d0012ba2e64","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Club +3","rd":"Club +3 Attack","cp":"6744e42b95192d0012ba2e64","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Club +3 (Off-hand)","rd":"Club +3 Attack (Off-hand)","cp":"6744e42b95192d0012ba2e64","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Club +3 Damage","cp":"6744e42b95192d0012ba2e64","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Club +3 Damage (Off-hand)","cp":"6744e42b95192d0012ba2e64","ay":"none","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Club of Warning","blueprint":{"nm":"Club of Warning","item":{"tp":"Item","cp":"681529f6a193700012c13505","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Club of Warning Attunement","cp":"681529f6a193700012c13505","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Club of Warning","rd":"Club of Warning Attack","cp":"681529f6a193700012c13505","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Club of Warning (Off-hand)","rd":"Club of Warning Attack (Off-hand)","cp":"681529f6a193700012c13505","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Club of Warning Initiative Advantage","cp":"681529f6a193700012c13505","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Club of Warning Damage","cp":"681529f6a193700012c13505","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Club of Warning Damage (Off-hand)","cp":"681529f6a193700012c13505","ay":"none","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Dagger","blueprint":{"nm":"Dagger","item":{"tp":"Item","cp":"67a6599fdb873a00127f9232","dn":"Finesse. When making an attack with a Finesse weapon, use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.\nLight. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nThrown. If a weapon has the Thrown property, you can throw the weapon to make a ranged attack, and you can draw that weapon as part of the attack. If the weapon is a Melee weapon, use the same ability modifier for the attack and damage rolls that you use for a melee attack with that weapon.\nDamage: 1d4\nDamage Type: Piercing\nProperties: Finesse, Light, Thrown (Range 20/60)\nMastery: Nick\nWeight: 1","wt":1,"ps":["Finesse","Light","Thrown (Range 20/60)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":4,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Dagger","rd":"Dagger Attack STR","cp":"67a6599fdb873a00127f9232","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Dagger (Thrown)","rd":"Throw Dagger (Strength)","cp":"67a6599fdb873a00127f9232","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Dagger (Finesse)","rd":"Dagger Attack DEX","cp":"67a6599fdb873a00127f9232","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dagger (Off-Hand)","cp":"67a6599fdb873a00127f9232","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dagger Damage STR","cp":"67a6599fdb873a00127f9232","ay":"auto","dT":"Piercing","die":"d4","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dagger Damage Thrown","cp":"67a6599fdb873a00127f9232","ay":"auto","dT":"Piercing","die":"d4","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dagger Damage DEX","cp":"67a6599fdb873a00127f9232","ay":"auto","dT":"Piercing","die":"d4","ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dagger Damage (Off Hand)","cp":"67a6599fdb873a00127f9232","ay":"none","dT":"Piercing","die":"d4","ct":1,"oC":false}]}},{"nm":"Dagger +1","blueprint":{"nm":"Dagger +1","item":{"tp":"Item","cp":"6744e38f95192d0012ba067e","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":4,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Dagger +1","rd":"Dagger +1 Attack","cp":"6744e38f95192d0012ba067e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Dagger +1 (Finesse)","rd":"Dagger +1 Attack (Finesse)","cp":"6744e38f95192d0012ba067e","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dagger +1 (Off-hand)","rd":"Dagger +1 Attack (Off-hand)","cp":"6744e38f95192d0012ba067e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dagger +1 (Thrown)","rd":"Dagger +1 Attack (Thrown)","cp":"6744e38f95192d0012ba067e","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dagger +1 Damage","cp":"6744e38f95192d0012ba067e","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dagger +1 Damage (Finesse)","cp":"6744e38f95192d0012ba067e","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dagger +1 Damage (Off-hand)","cp":"6744e38f95192d0012ba067e","ay":"none","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dagger +1 Damage (Thrown)","cp":"6744e38f95192d0012ba067e","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dagger +2","blueprint":{"nm":"Dagger +2","item":{"tp":"Item","cp":"6744e3f595192d0012ba1fee","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":4,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Dagger +2","rd":"Dagger +2 Attack","cp":"6744e3f595192d0012ba1fee","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Dagger +2 (Finesse)","rd":"Dagger +2 Attack (Finesse)","cp":"6744e3f595192d0012ba1fee","aT":"Action","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dagger +2 (Off-hand)","rd":"Dagger +2 Attack (Off-hand)","cp":"6744e3f595192d0012ba1fee","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dagger +2 (Thrown)","rd":"Dagger +2 Attack (Thrown)","cp":"6744e3f595192d0012ba1fee","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dagger +2 Damage","cp":"6744e3f595192d0012ba1fee","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dagger +2 Damage (Finesse)","cp":"6744e3f595192d0012ba1fee","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dagger +2 Damage (Off-hand)","cp":"6744e3f595192d0012ba1fee","ay":"none","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dagger +2 Damage (Thrown)","cp":"6744e3f595192d0012ba1fee","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Dagger +3","blueprint":{"nm":"Dagger +3","item":{"tp":"Item","cp":"6744e3df95192d0012ba1a15","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":4,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Dagger +3","rd":"Dagger +3 Attack","cp":"6744e3df95192d0012ba1a15","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Dagger +3 (Finesse)","rd":"Dagger +3 Attack (Finesse)","cp":"6744e3df95192d0012ba1a15","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dagger +3 (Off-hand)","rd":"Dagger +3 Attack (Off-hand)","cp":"6744e3df95192d0012ba1a15","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dagger +3 (Thrown)","rd":"Dagger +3 Attack (Thrown)","cp":"6744e3df95192d0012ba1a15","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dagger +3 Damage","cp":"6744e3df95192d0012ba1a15","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dagger +3 Damage (Finesse)","cp":"6744e3df95192d0012ba1a15","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dagger +3 Damage (Off-hand)","cp":"6744e3df95192d0012ba1a15","ay":"none","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dagger +3 Damage (Thrown)","cp":"6744e3df95192d0012ba1a15","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Dagger of Venom","blueprint":{"nm":"Dagger of Venom","item":{"tp":"Item","cp":"6813f58801f94d0012a5fd64","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nYou can take a Bonus Action to magically coat the blade with poison. The poison remains for 1 minute or until an attack using this weapon hits a creature. That creature must succeed on a DC 15 Constitution saving throw or take 2d10 Poison damage and have the Poisoned condition for 1 minute. The weapon can't be used this way again until the next dawn.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":5,"Action":1,"Resource":1,"dm":5},"ch":[{"id":"c1","tp":"Ak","nm":"Dagger of Venom","rd":"Dagger of Venom Attack","cp":"6813f58801f94d0012a5fd64","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Dagger of Venom (Finesse)","rd":"Dagger of Venom Attack (Finesse)","cp":"6813f58801f94d0012a5fd64","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dagger of Venom (Off-Hand)","rd":"Dagger of Venom Attack (Off-hand)","cp":"6813f58801f94d0012a5fd64","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dagger of Venom (Thrown)","rd":"Dagger of Venom Attack (Thrown)","cp":"6813f58801f94d0012a5fd64","aT":"Action","rg":"20/60 ft","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c5","tp":"Action","nm":"Coat Dagger of Venom","rd":"Dagger of Venom Bonus Action","cp":"6813f58801f94d0012a5fd64","dn":"You can take a Bonus Action to magically coat the blade with poison. The poison remains for 1 minute or until an attack using this weapon hits a creature. That creature must succeed on a DC 15 Constitution saving throw or take 2d10 Poison damage and have the Poisoned condition for 1 minute. The weapon can't be used this way again until the next dawn."},{"id":"c6","tp":"Ak","nm":"Dagger of Venom Poison","rd":"Dagger of Venom Poison Attack","cp":"6813f58801f94d0012a5fd64","aT":"Action","ak":{"tp":"Attack Save"},"save":{"onFail":"Take 2d10 Poison damage and have the Poisoned condition for 1 minute.","saveAbility":"Constitution","saveFlat":15}},{"id":"c7","tp":"Resource","nm":"Dagger of Venom Poison","rd":"Dagger of Venom Poison Resource","cp":"6813f58801f94d0012a5fd64","vl":1},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dagger of Venom Damage","cp":"6813f58801f94d0012a5fd64","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dagger of Venom Damage (Finesse)","cp":"6813f58801f94d0012a5fd64","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dagger of Venom Damage (Off-hand)","cp":"6813f58801f94d0012a5fd64","ay":"none","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dagger of Venom Damage (Thrown)","cp":"6813f58801f94d0012a5fd64","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c6-c1","tp":"dm","pt":"c6","nm":"Dagger of Venom Poison Damage","cp":"6813f58801f94d0012a5fd64","ay":"none","dT":"Poison","die":"d10","ct":2,"oC":false}]}},{"nm":"Dagger of Warning","blueprint":{"nm":"Dagger of Warning","item":{"tp":"Item","cp":"68152948a193700012c112d5","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Am":1,"Ak":4,"RB":1,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Dagger of Warning Attunement","cp":"68152948a193700012c112d5","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dagger of Warning","rd":"Dagger of Warning Attack","cp":"68152948a193700012c112d5","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dagger of Warning (Finesse)","rd":"Dagger of Warning Attack (Finesse)","cp":"68152948a193700012c112d5","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dagger of Warning (Off-hand)","rd":"Dagger of Warning Attack (Off-hand)","cp":"68152948a193700012c112d5","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c5","tp":"Ak","nm":"Dagger of Warning (Thrown)","rd":"Dagger of Warning Attack (Thrown)","cp":"68152948a193700012c112d5","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dagger of Warning Initiative Advantage","cp":"68152948a193700012c112d5","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dagger of Warning Damage","cp":"68152948a193700012c112d5","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dagger of Warning Damage (Finesse)","cp":"68152948a193700012c112d5","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dagger of Warning Damage (Off-hand)","cp":"68152948a193700012c112d5","ay":"none","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c5-c1","tp":"dm","pt":"c5","nm":"Dagger of Warning Damage (Thrown)","cp":"68152948a193700012c112d5","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Dart","blueprint":{"nm":"Dart","item":{"tp":"Item","cp":"67a659a2db873a00127f933a","dn":"Finesse. When making an attack with a Finesse weapon, use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nThrown. If a weapon has the Thrown property, you can throw the weapon to make a ranged attack, and you can draw that weapon as part of the attack. If the weapon is a Melee weapon, use the same ability modifier for the attack and damage rolls that you use for a melee attack with that weapon.\nDamage: 1d4\nDamage Type: Piercing\nProperties: Finesse, Thrown (Range 20/60)\nMastery: Vex\nWeight: .25","wt":0.25,"ps":["Finesse","Thrown (Range 20/60)"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dart","rd":"Dart Attack","cp":"67a659a2db873a00127f933a","aT":"Action","rg":"20/60","ak":{"aB":"Dexterity"}},{"id":"c2","tp":"Ak","nm":"Dart (Finesse)","rd":"Dart Attack (Finesse)","cp":"67a659a2db873a00127f933a","aT":"Action","rg":"20/60","ak":{"aB":"Strength"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dart Damage","cp":"67a659a2db873a00127f933a","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dart Damage (Finesse)","cp":"67a659a2db873a00127f933a","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Dart +1","blueprint":{"nm":"Dart +1","item":{"tp":"Item","cp":"6744e42e95192d0012ba2f21","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dart +1","rd":"Dart +1 Attack","cp":"6744e42e95192d0012ba2f21","aT":"Action","rg":"20/60","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Dart +1 (Finesse)","rd":"Dart +1 Attack (Finesse)","cp":"6744e42e95192d0012ba2f21","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dart +1 Damage","cp":"6744e42e95192d0012ba2f21","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dart +1 Damage (Finesse)","cp":"6744e42e95192d0012ba2f21","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dart +2","blueprint":{"nm":"Dart +2","item":{"tp":"Item","cp":"6744e40a95192d0012ba25a3","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dart +2","rd":"Dart +2 Attack","cp":"6744e40a95192d0012ba25a3","aT":"Action","rg":"20/60","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Dart +2 (Finesse)","rd":"Dart +2 Attack (Finesse)","cp":"6744e40a95192d0012ba25a3","aT":"Action","rg":"20/60","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dart +2 Damage","cp":"6744e40a95192d0012ba25a3","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dart +2 Damage (Finesse)","cp":"6744e40a95192d0012ba25a3","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Dart +3","blueprint":{"nm":"Dart +3","item":{"tp":"Item","cp":"6744e42d95192d0012ba2f05","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dart +3","rd":"Dart +3 Attack","cp":"6744e42d95192d0012ba2f05","aT":"Action","rg":"20/60","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Dart +3 (Finesse)","rd":"Dart +3 Attack (Finesse)","cp":"6744e42d95192d0012ba2f05","aT":"Action","rg":"20/60","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dart +3 Damage","cp":"6744e42d95192d0012ba2f05","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dart +3 Damage (Finesse)","cp":"6744e42d95192d0012ba2f05","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Dart of Warning","blueprint":{"nm":"Dart of Warning","item":{"tp":"Item","cp":"6815299ca193700012c123ce","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Dart of Warning Attunement","cp":"6815299ca193700012c123ce","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dart of Warning","rd":"Dart of Warning Attack","cp":"6815299ca193700012c123ce","aT":"Action","rg":"20/60","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Dart of Warning (Finesse)","rd":"Dart of Warning Attack (Finesse)","cp":"6815299ca193700012c123ce","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dart of Warning Initiative Advantage","cp":"6815299ca193700012c123ce","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dart of Warning Damage","cp":"6815299ca193700012c123ce","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dart of Warning Damage (Finesse)","cp":"6815299ca193700012c123ce","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Defender Club","blueprint":{"nm":"Defender Club","item":{"tp":"Item","cp":"68152924a193700012c10b90","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Club Attunement","cp":"68152924a193700012c10b90","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Club","rd":"Defender Club Attack","cp":"68152924a193700012c10b90","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Club (Off-hand)","rd":"Defender Club Attack (Off-hand)","cp":"68152924a193700012c10b90","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Club Damage","cp":"68152924a193700012c10b90","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Club Damage (Off-hand)","cp":"68152924a193700012c10b90","ay":"none","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Dagger","blueprint":{"nm":"Defender Dagger","item":{"tp":"Item","cp":"68152925a193700012c10bd3","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Am":1,"Ak":4,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Defender Dagger Attunement","cp":"68152925a193700012c10bd3","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Dagger STR","rd":"Defender Dagger STR Attack","cp":"68152925a193700012c10bd3","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Dagger DEX","rd":"Defender Dagger DEX Attack","cp":"68152925a193700012c10bd3","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Dagger (Off-hand)","rd":"Defender Dagger Attack (Off-hand)","cp":"68152925a193700012c10bd3","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c5","tp":"Ak","nm":"Defender Dagger (Thrown)","rd":"Defender Dagger Attack (Thrown)","cp":"68152925a193700012c10bd3","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Dagger Damage","cp":"68152925a193700012c10bd3","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Dagger Damage (Finesse)","cp":"68152925a193700012c10bd3","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Dagger Damage (Off-hand)","cp":"68152925a193700012c10bd3","ay":"none","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c5-c1","tp":"dm","pt":"c5","nm":"Defender Dagger Damage (Thrown)","cp":"68152925a193700012c10bd3","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Greatclub","blueprint":{"nm":"Defender Greatclub","item":{"tp":"Item","cp":"68152960a193700012c117c6","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Greatclub Attunement","cp":"68152960a193700012c117c6","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Greatclub","rd":"Defender Greatclub Attack","cp":"68152960a193700012c117c6","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Greatclub Damage","cp":"68152960a193700012c117c6","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Handaxe","blueprint":{"nm":"Defender Handaxe","item":{"tp":"Item","cp":"68152927a193700012c10c37","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Defender Handaxe Attunement","cp":"68152927a193700012c10c37","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Handaxe","rd":"Defender Handaxe Attack","cp":"68152927a193700012c10c37","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Handaxe (Off-hand)","rd":"Defender Handaxe Attack (Off-hand)","cp":"68152927a193700012c10c37","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Handaxe (Thrown)","rd":"Defender Handaxe Attack (Thrown)","cp":"68152927a193700012c10c37","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Handaxe Damage","cp":"68152927a193700012c10c37","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Handaxe Damage (Off-hand)","cp":"68152927a193700012c10c37","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Handaxe Damage (Thrown)","cp":"68152927a193700012c10c37","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Light Hammer","blueprint":{"nm":"Defender Light Hammer","item":{"tp":"Item","cp":"68152924a193700012c10ba0","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Defender Light Hammer Attunement","cp":"68152924a193700012c10ba0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Light Hammer","rd":"Defender Light Hammer Attack","cp":"68152924a193700012c10ba0","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Light Hammer (Off-hand)","rd":"Defender Light Hammer Attack (Off-hand)","cp":"68152924a193700012c10ba0","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Light Hammer (Thrown)","rd":"Defender Light Hammer Attack (Thrown)","cp":"68152924a193700012c10ba0","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Light Hammer Damage","cp":"68152924a193700012c10ba0","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Light Hammer Damage (Off-hand)","cp":"68152924a193700012c10ba0","ay":"none","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Light Hammer Damage (Thrown)","cp":"68152924a193700012c10ba0","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Mace","blueprint":{"nm":"Defender Mace","item":{"tp":"Item","cp":"68152957a193700012c115e7","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Mace Attunement","cp":"68152957a193700012c115e7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Mace","rd":"Defender Mace Attack","cp":"68152957a193700012c115e7","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Mace Damage","cp":"68152957a193700012c115e7","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Quarterstaff","blueprint":{"nm":"Defender Quarterstaff","item":{"tp":"Item","cp":"68152928a193700012c10c8c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Quarterstaff Attunement","cp":"68152928a193700012c10c8c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Quarterstaff","rd":"Defender Quarterstaff Attack","cp":"68152928a193700012c10c8c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Quarterstaff (Two-handed)","rd":"Defender Quarterstaff Attack (Two-handed)","cp":"68152928a193700012c10c8c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Quarterstaff Damage","cp":"68152928a193700012c10c8c","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Quarterstaff Damage (Two-handed)","cp":"68152928a193700012c10c8c","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Sickle","blueprint":{"nm":"Defender Sickle","item":{"tp":"Item","cp":"68152957a193700012c115f7","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Sickle Attunement","cp":"68152957a193700012c115f7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Sickle","rd":"Defender Sickle Attack","cp":"68152957a193700012c115f7","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Sickle (Off-hand)","rd":"Defender Sickle Attack (Off-hand)","cp":"68152957a193700012c115f7","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Sickle Damage","cp":"68152957a193700012c115f7","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Sickle Damage (Off-hand)","cp":"68152957a193700012c115f7","ay":"none","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Spear","blueprint":{"nm":"Defender Spear","item":{"tp":"Item","cp":"68152a10a193700012c13aae","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Defender Spear Attunement","cp":"68152a10a193700012c13aae","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Spear","rd":"Defender Spear Attack","cp":"68152a10a193700012c13aae","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Spear (Thrown)","rd":"Defender Spear Attack (Thrown)","cp":"68152a10a193700012c13aae","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Spear (Two-handed)","rd":"Defender Spear Attack (Two-handed)","cp":"68152a10a193700012c13aae","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Spear Damage","cp":"68152a10a193700012c13aae","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Spear Damage (Thrown)","cp":"68152a10a193700012c13aae","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Spear Damage (Two-handed)","cp":"68152a10a193700012c13aae","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Club","blueprint":{"nm":"Dragon Slayer Club","item":{"tp":"Item","cp":"681529f0a193700012c1339e","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Club","rd":"Dragon Slayer Club Attack","cp":"681529f0a193700012c1339e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Club (Off-hand)","rd":"Dragon Slayer Club Attack (Off-hand)","cp":"681529f0a193700012c1339e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Club Extra Damage","cp":"681529f0a193700012c1339e","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Club Damage","cp":"681529f0a193700012c1339e","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Club Damage (Off-hand)","cp":"681529f0a193700012c1339e","ay":"none","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Dagger","blueprint":{"nm":"Dragon Slayer Dagger","item":{"tp":"Item","cp":"681529baa193700012c129cc","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":4,"Effect":1,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Dagger","rd":"Dragon Slayer Dagger Attack","cp":"681529baa193700012c129cc","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Dagger (Finesse)","rd":"Dragon Slayer Dagger Attack (Finesse)","cp":"681529baa193700012c129cc","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Dagger (Off-hand)","rd":"Dragon Slayer Dagger Attack (Off-hand)","cp":"681529baa193700012c129cc","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Ak","nm":"Dragon Slayer Dagger (Thrown)","rd":"Dragon Slayer Dagger Attack (Thrown)","cp":"681529baa193700012c129cc","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c5","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Dagger Extra Damage","cp":"681529baa193700012c129cc","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Dagger Damage","cp":"681529baa193700012c129cc","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Dagger Damage (Finesse)","cp":"681529baa193700012c129cc","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Dagger Damage (Off-hand)","cp":"681529baa193700012c129cc","ay":"none","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dragon Slayer Dagger Damage (Thrown)","cp":"681529baa193700012c129cc","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Dart","blueprint":{"nm":"Dragon Slayer Dart","item":{"tp":"Item","cp":"681529bba193700012c129dc","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Dart","rd":"Dragon Slayer Dart Attack","cp":"681529bba193700012c129dc","aT":"Action","rg":"20/60","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Dart (Finesse)","rd":"Dragon Slayer Dart Attack (Finesse)","cp":"681529bba193700012c129dc","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Dart Extra Damage","cp":"681529bba193700012c129dc","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Dart Damage","cp":"681529bba193700012c129dc","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Dart Damage (Finesse)","cp":"681529bba193700012c129dc","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Greatclub","blueprint":{"nm":"Dragon Slayer Greatclub","item":{"tp":"Item","cp":"681529f0a193700012c133ae","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Greatclub","rd":"Dragon Slayer Greatclub Attack","cp":"681529f0a193700012c133ae","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Greatclub Extra Damage","cp":"681529f0a193700012c133ae","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Greatclub Damage","cp":"681529f0a193700012c133ae","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Handaxe","blueprint":{"nm":"Dragon Slayer Handaxe","item":{"tp":"Item","cp":"68152951a193700012c114d9","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":3,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Handaxe","rd":"Dragon Slayer Handaxe Attack","cp":"68152951a193700012c114d9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Handaxe (Off-hand)","rd":"Dragon Slayer Handaxe Attack (Off-hand)","cp":"68152951a193700012c114d9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Handaxe (Thrown)","rd":"Dragon Slayer Handaxe Attack (Thrown)","cp":"68152951a193700012c114d9","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Handaxe Extra Damage","cp":"68152951a193700012c114d9","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Handaxe Damage","cp":"68152951a193700012c114d9","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Handaxe Damage (Off-hand)","cp":"68152951a193700012c114d9","ay":"none","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Handaxe Damage (Thrown)","cp":"68152951a193700012c114d9","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Light Crossbow","blueprint":{"nm":"Dragon Slayer Light Crossbow","item":{"tp":"Item","cp":"681529bca193700012c12a14","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Light Crossbow","rd":"Dragon Slayer Light Crossbow Attack","cp":"681529bca193700012c12a14","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Light Crossbow Extra Damage","cp":"681529bca193700012c12a14","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Light Crossbow Damage","cp":"681529bca193700012c12a14","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Light Hammer","blueprint":{"nm":"Dragon Slayer Light Hammer","item":{"tp":"Item","cp":"68152956a193700012c115b7","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":3,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Light Hammer","rd":"Dragon Slayer Light Hammer Attack","cp":"68152956a193700012c115b7","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Light Hammer (Off-hand)","rd":"Dragon Slayer Light Hammer Attack (Off-hand)","cp":"68152956a193700012c115b7","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Light Hammer (Thrown)","rd":"Dragon Slayer Light Hammer Attack (Thrown)","cp":"68152956a193700012c115b7","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Light Hammer Extra Damage","cp":"68152956a193700012c115b7","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Light Hammer Damage","cp":"68152956a193700012c115b7","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Light Hammer Damage (Off-hand)","cp":"68152956a193700012c115b7","ay":"none","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Light Hammer Damage (Thrown)","cp":"68152956a193700012c115b7","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Mace","blueprint":{"nm":"Dragon Slayer Mace","item":{"tp":"Item","cp":"681529f0a193700012c133be","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Mace","rd":"Dragon Slayer Mace Attack","cp":"681529f0a193700012c133be","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Mace Extra Damage","cp":"681529f0a193700012c133be","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Mace Damage","cp":"681529f0a193700012c133be","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Quarterstaff","blueprint":{"nm":"Dragon Slayer Quarterstaff","item":{"tp":"Item","cp":"68152929a193700012c10cca","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Quarterstaff","rd":"Dragon Slayer Quarterstaff Attack","cp":"68152929a193700012c10cca","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Quarterstaff (Two-handed)","rd":"Dragon Slayer Quarterstaff Attack (Two-handed)","cp":"68152929a193700012c10cca","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Quarterstaff Extra Damage","cp":"68152929a193700012c10cca","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Quarterstaff Damage","cp":"68152929a193700012c10cca","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Quarterstaff Damage (Two-handed)","cp":"68152929a193700012c10cca","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Shortbow","blueprint":{"nm":"Dragon Slayer Shortbow","item":{"tp":"Item","cp":"68152a13a193700012c13b3c","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Shortbow","rd":"Dragon Slayer Shortbow Attack","cp":"68152a13a193700012c13b3c","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Shortbow Extra Damage","cp":"68152a13a193700012c13b3c","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Shortbow Damage","cp":"68152a13a193700012c13b3c","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Sickle","blueprint":{"nm":"Dragon Slayer Sickle","item":{"tp":"Item","cp":"68152995a193700012c12248","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Sickle","rd":"Dragon Slayer Sickle Attack","cp":"68152995a193700012c12248","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Sickle (Off-hand)","rd":"Dragon Slayer Sickle Attack (Off-hand)","cp":"68152995a193700012c12248","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Sickle Extra Damage","cp":"68152995a193700012c12248","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Sickle Damage","cp":"68152995a193700012c12248","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Sickle Damage (Off-hand)","cp":"68152995a193700012c12248","ay":"none","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Sling","blueprint":{"nm":"Dragon Slayer Sling","item":{"tp":"Item","cp":"68152915a193700012c108b0","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Sling","rd":"Dragon Slayer Sling Attack","cp":"68152915a193700012c108b0","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Sling Extra Damage","cp":"68152915a193700012c108b0","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Sling Damage","cp":"68152915a193700012c108b0","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Spear","blueprint":{"nm":"Dragon Slayer Spear","item":{"tp":"Item","cp":"68152a12a193700012c13b0e","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Spear","rd":"Dragon Slayer Spear Attack","cp":"68152a12a193700012c13b0e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Spear (Thrown)","rd":"Dragon Slayer Spear Attack (Thrown)","cp":"68152a12a193700012c13b0e","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Spear (Two-handed)","rd":"Dragon Slayer Spear Attack (Two-handed)","cp":"68152a12a193700012c13b0e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Spear Extra Damage","cp":"68152a12a193700012c13b0e","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Spear Damage","cp":"68152a12a193700012c13b0e","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Spear Damage (Thrown)","cp":"68152a12a193700012c13b0e","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Spear Damage (Two-handed)","cp":"68152a12a193700012c13b0e","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Energy Shortbow","blueprint":{"nm":"Energy Shortbow","item":{"tp":"Item","cp":"6744e32b95192d0012b9eede","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon, which has no string. Each time you pull your arm back in a firing motion,\na magical arrow made of golden energy appears nocked and ready to fire. An arrow produced by this weapon deals Force damage instead of Piercing damage on a hit, and it disappears after it hits or misses its target. Until it disappears, the arrow emits Bright Light in a 20-foot radius and Dim Light for an additional 20 feet.\n\nThis weapon has the following additional properties.\n\nArrow of Restraint. Whenever you use this weapon to make a ranged attack against a creature, you can try to restrain the target instead of dealing damage to it. If the arrow hits, the target must succeed on a DC 15 Strength saving throw or have the Restrained condition for 1 minute. As an action, a creature Restrained by an arrow can make a DC 20 Strength (Athletics) check to try to break the restraint, ending the effect on itself on a successful check.\n\nArrow of Transport. As a Magic action, you can fire one energy arrow from this weapon at a target you can see within 60 feet of yourself. The target can be either a willing Medium or smaller creature or an object that isn't being worn or carried, provided the object is small enough to fit inside a 5-foot Cube. The arrow teleports the target to an unoccupied space you can see within 10 feet of you.\n\nEnergy Ladder. As a Magic action, you can loose a flurry of energy arrows from this weapon at a wall up to 60 feet away from yourself. The arrows become glowing rungs that stick out of the wall, forming a magical ladder up to 60 feet long on the wall. This ladder lasts for 1 minute before disappearing.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Am":1,"Ak":2,"Action":2,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Energy Shortbow Attunement","cp":"6744e32b95192d0012b9eede","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Energy Shortbow","rd":"Energy Shortbow Attack","cp":"6744e32b95192d0012b9eede","aT":"Action","rg":"80/320","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"save":{"onFail":"Restrained Condition for 1 minute or until succeeding on a DC 20 Strength (Athletics) check to end the effect","saveAbility":"Strength","saveFlat":15},"onHit":"An arrow produced by this weapon deals Force damage instead of Piercing damage on a hit, and it disappears after it hits or misses its target."},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Arrow of Restraint","rd":"Energy Shortbow Arrow of Restraint Save","cp":"6744e32b95192d0012b9eede","aT":"Action","dn":"Whenever you use this weapon to make a ranged attack against a creature, you can try to restrain the target instead of dealing damage to it.","ak":{"tp":"Attack Save"},"save":{"onFail":"Have the Restrained condition for 1 minute.","saveAbility":"Strength","saveFlat":15},"onHit":"If the arrow hits, the target must succeed on a DC 15 Strength saving throw or have the Restrained condition for 1 minute."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Arrow of Transport","rd":"Energy Shortbow Arrow of Transport Magic Action","cp":"6744e32b95192d0012b9eede","dn":"As a Magic action, you can fire one energy arrow from this weapon at a target you can see within 60 feet of yourself. The target can be either a willing Medium or smaller creature or an object that isn't being worn or carried, provided the object is small enough to fit inside a 5-foot Cube. The arrow teleports the target to an unoccupied space you can see within 10 feet of you."},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Energy Ladder","rd":"Energy Shortbow Energy Ladder Magic Action","cp":"6744e32b95192d0012b9eede","dn":"As a Magic action, you can loose a flurry of energy arrows from this weapon at a wall up to 60 feet away from yourself. The arrows become glowing rungs that stick out of the wall, forming a magical ladder up to 60 feet long on the wall. This ladder lasts for 1 minute before disappearing. "},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Energy Shortbow Damage","cp":"6744e32b95192d0012b9eede","ay":"auto","dT":"Force","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Club","blueprint":{"nm":"Flame Tongue Club","item":{"tp":"Item","cp":"6744e3f095192d0012ba1eab","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Club Attunement","cp":"6744e3f095192d0012ba1eab","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Club","rd":"Flame Tongue Club Attack","cp":"6744e3f095192d0012ba1eab","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Club (Off-hand)","rd":"Flame Tongue Club Attack (Off-hand)","cp":"6744e3f095192d0012ba1eab","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Club On or Off","rd":"Flame Tongue Club Bonus Action","cp":"6744e3f095192d0012ba1eab","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Club","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e3f095192d0012ba1eab","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Club Damage","cp":"6744e3f095192d0012ba1eab","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Club Damage (Off-hand)","cp":"6744e3f095192d0012ba1eab","ay":"none","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Dagger","blueprint":{"nm":"Flame Tongue Dagger","item":{"tp":"Item","cp":"6744e2d095192d0012b9d9af","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Am":1,"Ak":4,"Action":1,"Effect":1,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Dagger Attunement","cp":"6744e2d095192d0012b9d9af","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Dagger","rd":"Flame Tongue Dagger Attack","cp":"6744e2d095192d0012b9d9af","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Dagger (Finesse)","rd":"Flame Tongue Dagger Attack (Finesse)","cp":"6744e2d095192d0012b9d9af","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Dagger (Off-hand)","rd":"Flame Tongue Dagger Attack (Off-hand)","cp":"6744e2d095192d0012b9d9af","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c5","tp":"Ak","nm":"Flame Tongue Dagger (Thrown)","rd":"Flame Tongue Dagger Attack (Thrown)","cp":"6744e2d095192d0012b9d9af","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Dagger On or Off","rd":"Flame Tongue Dagger Bonus Action","cp":"6744e2d095192d0012b9d9af","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Dagger","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e2d095192d0012b9d9af","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Dagger Damage","cp":"6744e2d095192d0012b9d9af","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Dagger Damage (Finesse)","cp":"6744e2d095192d0012b9d9af","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Dagger Damage (Off-hand)","cp":"6744e2d095192d0012b9d9af","ay":"none","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c5-c1","tp":"dm","pt":"c5","nm":"Flame Tongue Dagger Damage (Thrown)","cp":"6744e2d095192d0012b9d9af","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Greatclub","blueprint":{"nm":"Flame Tongue Greatclub","item":{"tp":"Item","cp":"6744e2dc95192d0012b9dcea","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Greatclub Attunement","cp":"6744e2dc95192d0012b9dcea","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Greatclub","rd":"Flame Tongue Greatclub Attack","cp":"6744e2dc95192d0012b9dcea","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Greatclub","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e2dc95192d0012b9dcea","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Greatclub On or Off","rd":"Flame Tongue Greatclub Bonus Action","cp":"6744e2dc95192d0012b9dcea","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Greatclub Damage","cp":"6744e2dc95192d0012b9dcea","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Handaxe","blueprint":{"nm":"Flame Tongue Handaxe","item":{"tp":"Item","cp":"6744e41095192d0012ba2725","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Action":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Handaxe Attunement","cp":"6744e41095192d0012ba2725","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Handaxe","rd":"Flame Tongue Handaxe Attack","cp":"6744e41095192d0012ba2725","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Handaxe (Off-hand)","rd":"Flame Tongue Handaxe Attack (Off-hand)","cp":"6744e41095192d0012ba2725","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Handaxe (Thrown)","rd":"Flame Tongue Handaxe Attack (Thrown)","cp":"6744e41095192d0012ba2725","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Handaxe","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41095192d0012ba2725","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Handaxe On or Off","rd":"Flame Tongue Handaxe Bonus Action","cp":"6744e41095192d0012ba2725","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Handaxe Damage","cp":"6744e41095192d0012ba2725","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Handaxe Damage (Off-hand)","cp":"6744e41095192d0012ba2725","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Handaxe Damage (Thrown)","cp":"6744e41095192d0012ba2725","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Light Hammer","blueprint":{"nm":"Flame Tongue Light Hammer","item":{"tp":"Item","cp":"6744e43295192d0012ba3035","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Action":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Light Hammer Attunement","cp":"6744e43295192d0012ba3035","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Light Hammer","rd":"Flame Tongue Light Hammer Attack","cp":"6744e43295192d0012ba3035","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Light Hammer (Off-hand)","rd":"Flame Tongue Light Hammer Attack (Off-hand)","cp":"6744e43295192d0012ba3035","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Light Hammer (Thrown)","rd":"Flame Tongue Light Hammer Attack (Thrown)","cp":"6744e43295192d0012ba3035","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Light Hammer","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43295192d0012ba3035","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Light Hammer On or Off","rd":"Flame Tongue Light Hammer Bonus Action","cp":"6744e43295192d0012ba3035","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Light Hammer Damage","cp":"6744e43295192d0012ba3035","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Light Hammer Damage (Off-hand)","cp":"6744e43295192d0012ba3035","ay":"none","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Light Hammer Damage (Thrown)","cp":"6744e43295192d0012ba3035","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Mace","blueprint":{"nm":"Flame Tongue Mace","item":{"tp":"Item","cp":"6744e43595192d0012ba30db","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":1,"Action":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Mace Attunement","cp":"6744e43595192d0012ba30db","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Mace","rd":"Flame Tongue Mace Attack","cp":"6744e43595192d0012ba30db","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Mace On or Off","rd":"Flame Tongue Mace Bonus Action","cp":"6744e43595192d0012ba30db","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Mace","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43595192d0012ba30db","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Mace Damage","cp":"6744e43595192d0012ba30db","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Quarterstaff","blueprint":{"nm":"Flame Tongue Quarterstaff","item":{"tp":"Item","cp":"6744e41395192d0012ba27fb","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Quarterstaff Attunement","cp":"6744e41395192d0012ba27fb","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Quarterstaff","rd":"Flame Tongue Quarterstaff Attack","cp":"6744e41395192d0012ba27fb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Quarterstaff (Two-handed)","rd":"Flame Tongue Quarterstaff Attack (Two-handed)","cp":"6744e41395192d0012ba27fb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Quarterstaff On or Off","rd":"Flame Tongue Quarterstaff Bonus Action","cp":"6744e41395192d0012ba27fb","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Quarterstaff","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41395192d0012ba27fb","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Quarterstaff Damage","cp":"6744e41395192d0012ba27fb","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Quarterstaff Damage (Two-handed)","cp":"6744e41395192d0012ba27fb","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Sickle","blueprint":{"nm":"Flame Tongue Sickle","item":{"tp":"Item","cp":"6744e43795192d0012ba317b","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Sickle Attunement","cp":"6744e43795192d0012ba317b","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Sickle","rd":"Flame Tongue Sickle Attack","cp":"6744e43795192d0012ba317b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Sickle (Off-hand)","rd":"Flame Tongue Sickle Attack (Off-hand)","cp":"6744e43795192d0012ba317b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Sickle On or Off","rd":"Flame Tongue Sickle Bonus Action","cp":"6744e43795192d0012ba317b","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Sickle","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43795192d0012ba317b","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Sickle Damage","cp":"6744e43795192d0012ba317b","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Sickle Damage (Off-hand)","cp":"6744e43795192d0012ba317b","ay":"none","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Spear","blueprint":{"nm":"Flame Tongue Spear","item":{"tp":"Item","cp":"6744e43895192d0012ba31b1","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Am":1,"Ak":3,"Action":1,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Spear Attunement","cp":"6744e43895192d0012ba31b1","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Spear","rd":"Flame Tongue Spear Attack","cp":"6744e43895192d0012ba31b1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Spear (Thrown)","rd":"Flame Tongue Spear Attack (Thrown)","cp":"6744e43895192d0012ba31b1","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Spear (Two-handed)","rd":"Flame Tongue Spear Attack (Two-handed)","cp":"6744e43895192d0012ba31b1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Spear On or Off","rd":"Flame Tongue Spear Bonus Action","cp":"6744e43895192d0012ba31b1","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Spear","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43895192d0012ba31b1","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Spear Damage","cp":"6744e43895192d0012ba31b1","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Spear Damage (Thrown)","cp":"6744e43895192d0012ba31b1","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Spear Damage (Two-handed)","cp":"6744e43895192d0012ba31b1","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Giant Slayer Club","blueprint":{"nm":"Giant Slayer Club","item":{"tp":"Item","cp":"6744e43195192d0012ba2fff","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Club","rd":"Giant Slayer Club Attack","cp":"6744e43195192d0012ba2fff","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Club (Off-Hand)","rd":"Giant Slayer Club Attack (Off-hand)","cp":"6744e43195192d0012ba2fff","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Club","rd":"Giant Slayer Club Giant Damage Effect","cp":"6744e43195192d0012ba2fff","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Club Damage","cp":"6744e43195192d0012ba2fff","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Club Damage (Off-hand)","cp":"6744e43195192d0012ba2fff","ay":"none","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Club Knock Prone","cp":"6744e43195192d0012ba2fff","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Dagger","blueprint":{"nm":"Giant Slayer Dagger","item":{"tp":"Item","cp":"6744e43c95192d0012ba32cf","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":5,"Effect":1,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Dagger","rd":"Giant Slayer Dagger Attack","cp":"6744e43c95192d0012ba32cf","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Dagger (Finesse)","rd":"Giant Slayer Dagger Attack (Finesse)","cp":"6744e43c95192d0012ba32cf","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Ak","nm":"Giant Slayer Dagger (Off-hand)","rd":"Giant Slayer Dagger Attack (Off-hand)","cp":"6744e43c95192d0012ba32cf","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c4","tp":"Ak","nm":"Giant Slayer Dagger (Thrown)","rd":"Giant Slayer Dagger Attack (Thrown)","cp":"6744e43c95192d0012ba32cf","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c5","tp":"Effect","nm":"Giant Slayer Dagger","rd":"Giant Slayer Dagger Giant Damage Effect","cp":"6744e43c95192d0012ba32cf","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Dagger Damage","cp":"6744e43c95192d0012ba32cf","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Dagger Damage (Finesse)","cp":"6744e43c95192d0012ba32cf","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Giant Slayer Dagger Damage (Off-hand)","cp":"6744e43c95192d0012ba32cf","ay":"none","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Giant Slayer Dagger Damage (Thrown)","cp":"6744e43c95192d0012ba32cf","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c5-c1","tp":"Ak","pt":"c5","cascades":[{"ref":"c5","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Dagger Knock Prone","cp":"6744e43c95192d0012ba32cf","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Dart","blueprint":{"nm":"Giant Slayer Dart","item":{"tp":"Item","cp":"6744e43d95192d0012ba3306","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Dart","rd":"Giant Slayer Dart Attack","cp":"6744e43d95192d0012ba3306","aT":"Action","rg":"20/60","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Dart (Finesse)","rd":"Giant Slayer Dart Attack (Finesse)","cp":"6744e43d95192d0012ba3306","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Dart","rd":"Giant Slayer Dart Giant Damage Effect","cp":"6744e43d95192d0012ba3306","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Dart Damage","cp":"6744e43d95192d0012ba3306","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Dart Damage (Finesse)","cp":"6744e43d95192d0012ba3306","ay":"auto","dT":"Piercing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Dart Knock Prone","cp":"6744e43d95192d0012ba3306","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Greatclub","blueprint":{"nm":"Giant Slayer Greatclub","item":{"tp":"Item","cp":"6744e43f95192d0012ba338d","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Greatclub","rd":"Giant Slayer Greatclub Attack","cp":"6744e43f95192d0012ba338d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Greatclub","rd":"Giant Slayer Greatclub Giant Damage Effect","cp":"6744e43f95192d0012ba338d","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Greatclub Damage","cp":"6744e43f95192d0012ba338d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Greatclub Knock Prone","cp":"6744e43f95192d0012ba338d","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Handaxe","blueprint":{"nm":"Giant Slayer Handaxe","item":{"tp":"Item","cp":"6744e3f095192d0012ba1ec6","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":4,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Handaxe","rd":"Giant Slayer Handaxe Attack","cp":"6744e3f095192d0012ba1ec6","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Handaxe (Off-hand)","rd":"Giant Slayer Handaxe Attack (Off-hand)","cp":"6744e3f095192d0012ba1ec6","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Ak","nm":"Giant Slayer Handaxe (Thrown)","rd":"Giant Slayer Handaxe Attack (Thrown)","cp":"6744e3f095192d0012ba1ec6","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c4","tp":"Effect","nm":"Giant Slayer Handaxe","rd":"Giant Slayer Handaxe Giant Damage Effect","cp":"6744e3f095192d0012ba1ec6","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Handaxe Damage","cp":"6744e3f095192d0012ba1ec6","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Handaxe Damage (Off-hand)","cp":"6744e3f095192d0012ba1ec6","ay":"none","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Giant Slayer Handaxe Damage (Thrown)","cp":"6744e3f095192d0012ba1ec6","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"Ak","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Handaxe Knock Prone","cp":"6744e3f095192d0012ba1ec6","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Light Crossbow","blueprint":{"nm":"Giant Slayer Light Crossbow","item":{"tp":"Item","cp":"6744e42695192d0012ba2d40","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Light Crossbow","rd":"Giant Slayer Light Crossbow Attack","cp":"6744e42695192d0012ba2d40","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Light Crossbow","rd":"Giant Slayer Light Crossbow Giant Damage Effect","cp":"6744e42695192d0012ba2d40","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Light Crossbow Damage","cp":"6744e42695192d0012ba2d40","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Light Crossbow Knock Prone","cp":"6744e42695192d0012ba2d40","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Light Hammer","blueprint":{"nm":"Giant Slayer Light Hammer","item":{"tp":"Item","cp":"6744e2df95192d0012b9ddb5","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":4,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Light Hammer","rd":"Giant Slayer Light Hammer Attack","cp":"6744e2df95192d0012b9ddb5","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Light Hammer (Off-hand)","rd":"Giant Slayer Light Hammer Attack (Off-hand)","cp":"6744e2df95192d0012b9ddb5","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Ak","nm":"Giant Slayer Light Hammer (Thrown)","rd":"Giant Slayer Light Hammer Attack (Thrown)","cp":"6744e2df95192d0012b9ddb5","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c4","tp":"Effect","nm":"Giant Slayer Light Hammer","rd":"Giant Slayer Light Hammer Giant Damage Effect","cp":"6744e2df95192d0012b9ddb5","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Light Hammer Damage","cp":"6744e2df95192d0012b9ddb5","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Light Hammer Damage (Off-hand)","cp":"6744e2df95192d0012b9ddb5","ay":"none","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Giant Slayer Light Hammer Damage (Thrown)","cp":"6744e2df95192d0012b9ddb5","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"Ak","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Light Hammer Knock Prone","cp":"6744e2df95192d0012b9ddb5","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Mace","blueprint":{"nm":"Giant Slayer Mace","item":{"tp":"Item","cp":"6744e43b95192d0012ba3295","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Mace","rd":"Giant Slayer Mace Attack","cp":"6744e43b95192d0012ba3295","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Mace","rd":"Giant Slayer Mace Giant Damage Effect","cp":"6744e43b95192d0012ba3295","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Mace Damage","cp":"6744e43b95192d0012ba3295","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Mace Knock Prone","cp":"6744e43b95192d0012ba3295","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Quarterstaff","blueprint":{"nm":"Giant Slayer Quarterstaff","item":{"tp":"Item","cp":"6744e2d395192d0012b9da5f","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Quarterstaff","rd":"Giant Slayer Quarterstaff Attack","cp":"6744e2d395192d0012b9da5f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Quarterstaff (Two-Handed)","rd":"Giant Slayer Quarterstaff Attack (Two-handed)","cp":"6744e2d395192d0012b9da5f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Quarterstaff","rd":"Giant Slayer Quarterstaff Giant Damage Effect","cp":"6744e2d395192d0012b9da5f","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Quarterstaff Damage","cp":"6744e2d395192d0012b9da5f","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Quarterstaff Damage (Two-handed)","cp":"6744e2d395192d0012b9da5f","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Quarterstaff Knock Prone","cp":"6744e2d395192d0012b9da5f","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Shortbow","blueprint":{"nm":"Giant Slayer Shortbow","item":{"tp":"Item","cp":"6744e44095192d0012ba33de","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Shortbow","rd":"Giant Slayer Shortbow Attack","cp":"6744e44095192d0012ba33de","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Shortbow","rd":"Giant Slayer Shortbow Giant Damage Effect","cp":"6744e44095192d0012ba33de","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Shortbow Damage","cp":"6744e44095192d0012ba33de","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Shortbow Knock Prone","cp":"6744e44095192d0012ba33de","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Sickle","blueprint":{"nm":"Giant Slayer Sickle","item":{"tp":"Item","cp":"6744e41e95192d0012ba2b0c","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Sickle","rd":"Giant Slayer Sickle Attack","cp":"6744e41e95192d0012ba2b0c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Sickle (Off-Hand)","rd":"Giant Slayer Sickle Attack (Off-hand)","cp":"6744e41e95192d0012ba2b0c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Sickle","rd":"Giant Slayer Sickle Giant Damage Effect","cp":"6744e41e95192d0012ba2b0c","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Sickle Damage","cp":"6744e41e95192d0012ba2b0c","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Sickle Damage (Off-hand)","cp":"6744e41e95192d0012ba2b0c","ay":"none","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Sickle Knock Prone","cp":"6744e41e95192d0012ba2b0c","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Sling","blueprint":{"nm":"Giant Slayer Sling","item":{"tp":"Item","cp":"6744e32b95192d0012b9eec3","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Sling","rd":"Giant Slayer Sling Attack","cp":"6744e32b95192d0012b9eec3","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Sling","rd":"Giant Slayer Sling Giant Damage Effect","cp":"6744e32b95192d0012b9eec3","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Sling Damage","cp":"6744e32b95192d0012b9eec3","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Sling Knock Prone","cp":"6744e32b95192d0012b9eec3","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Spear","blueprint":{"nm":"Giant Slayer Spear","item":{"tp":"Item","cp":"6744e44395192d0012ba349b","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Spear","rd":"Giant Slayer Spear Attack","cp":"6744e44395192d0012ba349b","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Giant Slayer Spear (Two-Handed)","rd":"Giant Slayer Spear Attack (Two-handed)","cp":"6744e44395192d0012ba349b","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Effect","nm":"Giant Slayer Spear","rd":"Giant Slayer Spear Giant Damage Effect","cp":"6744e44395192d0012ba349b","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Spear Damage","cp":"6744e44395192d0012ba349b","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Spear Damage (Two-handed)","cp":"6744e44395192d0012ba349b","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Spear Knock Prone","cp":"6744e44395192d0012ba349b","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Greatclub","blueprint":{"nm":"Greatclub","item":{"tp":"Item","cp":"67a6599fdb873a00127f9216","dn":"Two-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d8\nDamage Type: Bludgeoning\nProperties: Two-Handed\nMastery: Push\nWeight: 10","wt":10,"ps":["Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatclub","rd":"Greatclub Attack","cp":"67a6599fdb873a00127f9216","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatclub Damage","cp":"67a6599fdb873a00127f9216","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false}]}},{"nm":"Greatclub +1","blueprint":{"nm":"Greatclub +1","item":{"tp":"Item","cp":"6744e44695192d0012ba355d","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatclub +1","rd":"Greatclub +1 Attack","cp":"6744e44695192d0012ba355d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatclub +1 Damage","cp":"6744e44695192d0012ba355d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Greatclub +2","blueprint":{"nm":"Greatclub +2","item":{"tp":"Item","cp":"6744e43795192d0012ba3160","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatclub +2","rd":"Greatclub +2 Attack","cp":"6744e43795192d0012ba3160","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatclub +2 Damage","cp":"6744e43795192d0012ba3160","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Greatclub +3","blueprint":{"nm":"Greatclub +3","item":{"tp":"Item","cp":"6744e44295192d0012ba3465","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatclub +3","rd":"Greatclub +3 Attack","cp":"6744e44295192d0012ba3465","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatclub +3 Damage","cp":"6744e44295192d0012ba3465","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Greatclub of Warning","blueprint":{"nm":"Greatclub of Warning","item":{"tp":"Item","cp":"68152963a193700012c11865","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Greatclub of Warning Attunement","cp":"68152963a193700012c11865","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Greatclub of Warning","rd":"Greatclub of Warning Attack","cp":"68152963a193700012c11865","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatclub of Warning Initiative Advantage","cp":"68152963a193700012c11865","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Greatclub of Warning Damage","cp":"68152963a193700012c11865","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Handaxe","blueprint":{"nm":"Handaxe","item":{"tp":"Item","cp":"67a6599cdb873a00127f9105","dn":"Light. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nThrown. If a weapon has the Thrown property, you can throw the weapon to make a ranged attack, and you can draw that weapon as part of the attack. If the weapon is a Melee weapon, use the same ability modifier for the attack and damage rolls that you use for a melee attack with that weapon.\nDamage: 1d6\nDamage Type: Slashing\nProperties: Light, Thrown (Range 20/60)\nMastery: Vex\nWeight: 2","wt":2,"ps":["Light","Thrown (Range 20/60)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Handaxe","rd":"Handaxe Attack","cp":"67a6599cdb873a00127f9105","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Throw Handaxe","cp":"67a6599cdb873a00127f9105","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Handaxe (Off-Hand)","rd":"Handaxe (Off-Hand) Attack","cp":"67a6599cdb873a00127f9105","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Handaxe Damage","cp":"67a6599cdb873a00127f9105","ay":"auto","dT":"Slashing","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Thrown Handaxe Damage","cp":"67a6599cdb873a00127f9105","ay":"auto","dT":"Slashing","die":"d6","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Handaxe (Off-Hand) Damage","cp":"67a6599cdb873a00127f9105","ay":"none","dT":"Slashing","die":"d6","ct":1,"oC":false}]}},{"nm":"Handaxe +1","blueprint":{"nm":"Handaxe +1","item":{"tp":"Item","cp":"6744e43695192d0012ba3111","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Handaxe +1","rd":"Handaxe +1 Attack","cp":"6744e43695192d0012ba3111","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Handaxe +1 (Off-hand)","rd":"Handaxe +1 Attack (Off-hand)","cp":"6744e43695192d0012ba3111","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Handaxe +1 (Thrown)","rd":"Handaxe +1 Attack (Thrown)","cp":"6744e43695192d0012ba3111","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Handaxe +1 Damage","cp":"6744e43695192d0012ba3111","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Handaxe +1 Damage (Off-hand)","cp":"6744e43695192d0012ba3111","ay":"none","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Handaxe +1 Damage (Thrown)","cp":"6744e43695192d0012ba3111","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Handaxe +2","blueprint":{"nm":"Handaxe +2","item":{"tp":"Item","cp":"6744e44495192d0012ba34b6","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Handaxe +2","rd":"Handaxe +2 Attack","cp":"6744e44495192d0012ba34b6","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Handaxe +2 (Off-hand)","rd":"Handaxe +2 Attack (Off-hand)","cp":"6744e44495192d0012ba34b6","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Handaxe +2 (Thrown)","rd":"Handaxe +2 Attack (Thrown)","cp":"6744e44495192d0012ba34b6","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Handaxe +2 Damage","cp":"6744e44495192d0012ba34b6","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Handaxe +2 Damage (Off-hand)","cp":"6744e44495192d0012ba34b6","ay":"none","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Handaxe +2 Damage (Thrown)","cp":"6744e44495192d0012ba34b6","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Handaxe +3","blueprint":{"nm":"Handaxe +3","item":{"tp":"Item","cp":"6744e4a895192d0012ba4f82","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Handaxe +3","rd":"Handaxe +3 Attack","cp":"6744e4a895192d0012ba4f82","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Handaxe +3 (Off-hand)","rd":"Handaxe +3 Attack (Off-hand)","cp":"6744e4a895192d0012ba4f82","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Handaxe +3 (Thrown)","rd":"Handaxe +3 Attack (Thrown)","cp":"6744e4a895192d0012ba4f82","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Handaxe +3 Damage","cp":"6744e4a895192d0012ba4f82","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Handaxe +3 Damage (Off-hand)","cp":"6744e4a895192d0012ba4f82","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Handaxe +3 Damage (Thrown)","cp":"6744e4a895192d0012ba4f82","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Handaxe of Warning","blueprint":{"nm":"Handaxe of Warning","item":{"tp":"Item","cp":"68152a21a193700012c13e01","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Am":1,"Ak":3,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Handaxe of Warning Attunement","cp":"68152a21a193700012c13e01","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Handaxe of Warning","rd":"Handaxe of Warning Attack","cp":"68152a21a193700012c13e01","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Handaxe of Warning (Off-hand)","rd":"Handaxe of Warning Attack (Off-hand)","cp":"68152a21a193700012c13e01","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Handaxe of Warning (Thrown)","rd":"Handaxe of Warning Attack (Thrown)","cp":"68152a21a193700012c13e01","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Handaxe of Warning Initiative Advantage","cp":"68152a21a193700012c13e01","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Handaxe of Warning Damage","cp":"68152a21a193700012c13e01","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Handaxe of Warning Damage (Off-hand)","cp":"68152a21a193700012c13e01","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Handaxe of Warning Damage (Thrown)","cp":"68152a21a193700012c13e01","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Club","blueprint":{"nm":"Holy Avenger Club","item":{"tp":"Item","cp":"681529efa193700012c1338e","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Club Attunement","cp":"681529efa193700012c1338e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Club","rd":"Holy Avenger Club Attack","cp":"681529efa193700012c1338e","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Club (Off-hand)","rd":"Holy Avenger Club Attack (Off-hand)","cp":"681529efa193700012c1338e","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Club Effect - Damage","cp":"681529efa193700012c1338e","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Club Defense","cp":"681529efa193700012c1338e","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Club Spell Saving Throw Advantage","cp":"681529efa193700012c1338e","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Club Damage","cp":"681529efa193700012c1338e","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Club Damage (Off-hand)","cp":"681529efa193700012c1338e","ay":"none","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Dagger","blueprint":{"nm":"Holy Avenger Dagger","item":{"tp":"Item","cp":"681529bea193700012c12a7d","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Am":1,"Ak":4,"Effect":1,"Defense":1,"RB":1,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Dagger Attunement","cp":"681529bea193700012c12a7d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Dagger","rd":"Holy Avenger Dagger Attack","cp":"681529bea193700012c12a7d","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Dagger (Finesse)","rd":"Holy Avenger Dagger Attack (Finesse)","cp":"681529bea193700012c12a7d","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Dagger (Off-hand)","rd":"Holy Avenger Dagger Attack (Off-hand)","cp":"681529bea193700012c12a7d","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c5","tp":"Ak","nm":"Holy Avenger Dagger (Thrown)","rd":"Holy Avenger Dagger Attack (Thrown)","cp":"681529bea193700012c12a7d","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Dagger Effect - Damage","cp":"681529bea193700012c12a7d","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Dagger Defense","cp":"681529bea193700012c12a7d","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Dagger Spell Saving Throw Advantage","cp":"681529bea193700012c12a7d","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Dagger Damage","cp":"681529bea193700012c12a7d","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Dagger Damage (Finesse)","cp":"681529bea193700012c12a7d","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Dagger Damage (Off-hand)","cp":"681529bea193700012c12a7d","ay":"none","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c5-c1","tp":"dm","pt":"c5","nm":"Holy Avenger Dagger Damage (Thrown)","cp":"681529bea193700012c12a7d","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Dart","blueprint":{"nm":"Holy Avenger Dart","item":{"tp":"Item","cp":"6815290ba193700012c106f0","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Dart Attunement","cp":"6815290ba193700012c106f0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Dart","rd":"Holy Avenger Dart Attack","cp":"6815290ba193700012c106f0","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Dart (Finesse)","rd":"Holy Avenger Dart Attack (Finesse)","cp":"6815290ba193700012c106f0","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Dart Effect - Damage","cp":"6815290ba193700012c106f0","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Dart Defense","cp":"6815290ba193700012c106f0","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Dart Spell Saving Throw Advantage","cp":"6815290ba193700012c106f0","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Dart Damage","cp":"6815290ba193700012c106f0","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Dart Damage (Finesse)","cp":"6815290ba193700012c106f0","ay":"auto","dT":"Piercing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Greatclub","blueprint":{"nm":"Holy Avenger Greatclub","item":{"tp":"Item","cp":"681529bea193700012c12a8d","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Greatclub Attunement","cp":"681529bea193700012c12a8d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Greatclub","rd":"Holy Avenger Greatclub Attack","cp":"681529bea193700012c12a8d","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Greatclub Effect - Damage","cp":"681529bea193700012c12a8d","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Greatclub Defense","cp":"681529bea193700012c12a8d","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Greatclub Spell Saving Throw Advantage","cp":"681529bea193700012c12a8d","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Greatclub Damage","cp":"681529bea193700012c12a8d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Handaxe","blueprint":{"nm":"Holy Avenger Handaxe","item":{"tp":"Item","cp":"68152a16a193700012c13be4","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Defense":1,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Handaxe Attunement","cp":"68152a16a193700012c13be4","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Hand Crossbow","rd":"Holy Avenger Handaxe Attack","cp":"68152a16a193700012c13be4","aT":"Action","rg":"30/120","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Handaxe (Off-hand)","rd":"Holy Avenger Handaxe Attack (Off-hand)","cp":"68152a16a193700012c13be4","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Handaxe (Thrown)","rd":"Holy Avenger Handaxe Attack (Thrown)","cp":"68152a16a193700012c13be4","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Handaxe Effect - Damage","cp":"68152a16a193700012c13be4","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Handaxe Defense","cp":"68152a16a193700012c13be4","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Handaxe Spell Saving Throw Advantage","cp":"68152a16a193700012c13be4","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Handaxe Damage","cp":"68152a16a193700012c13be4","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Handaxe Damage (Off-hand)","cp":"68152a16a193700012c13be4","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Handaxe Damage (Thrown)","cp":"68152a16a193700012c13be4","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Light Crossbow","blueprint":{"nm":"Holy Avenger Light Crossbow","item":{"tp":"Item","cp":"6815290ca193700012c1072e","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Light Crossbow Attunement","cp":"6815290ca193700012c1072e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Light Crossbow","rd":"Holy Avenger Light Crossbow Attack","cp":"6815290ca193700012c1072e","aT":"Action","rg":"80/320","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Light Crossbow Effect - Damage","cp":"6815290ca193700012c1072e","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Light Crossbow Defense","cp":"6815290ca193700012c1072e","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Light Crossbow Spell Saving Throw Advantage","cp":"6815290ca193700012c1072e","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Light Crossbow Damage","cp":"6815290ca193700012c1072e","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Light Hammer","blueprint":{"nm":"Holy Avenger Light Hammer","item":{"tp":"Item","cp":"6815296fa193700012c11aa7","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Defense":1,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Light Hammer Attunement","cp":"6815296fa193700012c11aa7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Light Hammer","rd":"Holy Avenger Light Hammer Attack","cp":"6815296fa193700012c11aa7","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Light Hammer (Off-hand)","rd":"Holy Avenger Light Hammer Attack (Off-hand)","cp":"6815296fa193700012c11aa7","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Light Hammer (Thrown)","rd":"Holy Avenger Light Hammer Attack (Thrown)","cp":"6815296fa193700012c11aa7","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Light Hammer Effect - Damage","cp":"6815296fa193700012c11aa7","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Light Hammer Defense","cp":"6815296fa193700012c11aa7","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Light Hammer Spell Saving Throw Advantage","cp":"6815296fa193700012c11aa7","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Light Hammer Damage","cp":"6815296fa193700012c11aa7","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Light Hammer Damage (Off-hand)","cp":"6815296fa193700012c11aa7","ay":"none","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Light Hammer Damage (Thrown)","cp":"6815296fa193700012c11aa7","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Mace","blueprint":{"nm":"Holy Avenger Mace","item":{"tp":"Item","cp":"68152a16a193700012c13bf4","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Mace Attunement","cp":"68152a16a193700012c13bf4","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Mace","rd":"Holy Avenger Mace Attack","cp":"68152a16a193700012c13bf4","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Mace Effect - Damage","cp":"68152a16a193700012c13bf4","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Mace Defense","cp":"68152a16a193700012c13bf4","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Mace Spell Saving Throw Advantage","cp":"68152a16a193700012c13bf4","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Mace Damage","cp":"68152a16a193700012c13bf4","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Quarterstaff","blueprint":{"nm":"Holy Avenger Quarterstaff","item":{"tp":"Item","cp":"681529c0a193700012c12aeb","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Quarterstaff Attunement","cp":"681529c0a193700012c12aeb","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Quarterstaff","rd":"Holy Avenger Quarterstaff Attack","cp":"681529c0a193700012c12aeb","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Quarterstaff (Two-handed)","rd":"Holy Avenger Quarterstaff Attack (Two-handed)","cp":"681529c0a193700012c12aeb","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Quarterstaff Effect - Damage","cp":"681529c0a193700012c12aeb","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Quarterstaff Defense","cp":"681529c0a193700012c12aeb","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Quarterstaff Spell Saving Throw Advantage","cp":"681529c0a193700012c12aeb","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Quarterstaff Damage","cp":"681529c0a193700012c12aeb","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Quarterstaff Damage (Two-handed)","cp":"681529c0a193700012c12aeb","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Shortbow","blueprint":{"nm":"Holy Avenger Shortbow","item":{"tp":"Item","cp":"6815290ca193700012c10710","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Shortbow Attunement","cp":"6815290ca193700012c10710","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Shortbow","rd":"Holy Avenger Shortbow Attack","cp":"6815290ca193700012c10710","aT":"Action","rg":"80/320","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Shortbow Effect - Damage","cp":"6815290ca193700012c10710","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Shortbow Defense","cp":"6815290ca193700012c10710","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Shortbow Spell Saving Throw Advantage","cp":"6815290ca193700012c10710","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Shortbow Damage","cp":"6815290ca193700012c10710","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Sickle","blueprint":{"nm":"Holy Avenger Sickle","item":{"tp":"Item","cp":"68152a16a193700012c13bd4","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Sickle Attunement","cp":"68152a16a193700012c13bd4","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Sickle","rd":"Holy Avenger Sickle Attack","cp":"68152a16a193700012c13bd4","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Sickle (Off-hand)","rd":"Holy Avenger Sickle Attack (Off-hand)","cp":"68152a16a193700012c13bd4","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Sickle Effect - Damage","cp":"68152a16a193700012c13bd4","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Sickle Defense","cp":"68152a16a193700012c13bd4","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Sickle Spell Saving Throw Advantage","cp":"68152a16a193700012c13bd4","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Sickle Damage","cp":"68152a16a193700012c13bd4","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Sickle Damage (Off-hand)","cp":"68152a16a193700012c13bd4","ay":"none","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Sling","blueprint":{"nm":"Holy Avenger Sling","item":{"tp":"Item","cp":"681529bfa193700012c12aad","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Sling Attunement","cp":"681529bfa193700012c12aad","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Sling","rd":"Holy Avenger Sling Attack","cp":"681529bfa193700012c12aad","aT":"Action","rg":"30/120","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Sling Effect - Damage","cp":"681529bfa193700012c12aad","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Sling Defense","cp":"681529bfa193700012c12aad","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Sling Spell Saving Throw Advantage","cp":"681529bfa193700012c12aad","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Sling Damage","cp":"681529bfa193700012c12aad","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Spear","blueprint":{"nm":"Holy Avenger Spear","item":{"tp":"Item","cp":"6815296fa193700012c11ac7","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Defense":1,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Spear Attunement","cp":"6815296fa193700012c11ac7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Spear","rd":"Holy Avenger Spear Attack","cp":"6815296fa193700012c11ac7","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Spear (Thrown)","rd":"Holy Avenger Spear Attack (Thrown)","cp":"6815296fa193700012c11ac7","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Spear (Two-handed)","rd":"Holy Avenger Spear Attack (Two-handed)","cp":"6815296fa193700012c11ac7","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Spear Effect - Damage","cp":"6815296fa193700012c11ac7","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Spear Defense","cp":"6815296fa193700012c11ac7","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Spear Spell Saving Throw Advantage","cp":"6815296fa193700012c11ac7","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Spear Damage","cp":"6815296fa193700012c11ac7","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Spear Damage (Thrown)","cp":"6815296fa193700012c11ac7","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Spear Damage (Two-handed)","cp":"6815296fa193700012c11ac7","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Light Crossbow","blueprint":{"nm":"Light Crossbow","item":{"tp":"Item","cp":"67a659a2db873a00127f9358","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nLoading. You can fire only one piece of ammunition from a Loading weapon when you use an action, a Bonus Action, or a Reaction to fire it, regardless of the number of attacks you can normally make.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d8\nDamage Type: Piercing\nProperties: Ammunition (Range 80/320; Bolt), Loading, Two-Handed\nMastery: Slow\nWeight: 5","wt":5,"ps":["Ammunition (Range 80/320; Bolt)","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Light Crossbow","rd":"Light Crossbow Attack","cp":"67a659a2db873a00127f9358","aT":"Action","rg":"80/320 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Crossbow Damage","cp":"67a659a2db873a00127f9358","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false}]}},{"nm":"Light Crossbow +1","blueprint":{"nm":"Light Crossbow +1","item":{"tp":"Item","cp":"6744e45a95192d0012ba3a96","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Light Crossbow +1","rd":"Light Crossbow +1 Attack","cp":"6744e45a95192d0012ba3a96","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Crossbow +1 Damage","cp":"6744e45a95192d0012ba3a96","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Light Crossbow +2","blueprint":{"nm":"Light Crossbow +2","item":{"tp":"Item","cp":"6744e4e995192d0012ba5d6d","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Light Crossbow +2","rd":"Light Crossbow +2 Attack","cp":"6744e4e995192d0012ba5d6d","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Crossbow +2 Damage","cp":"6744e4e995192d0012ba5d6d","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Light Crossbow +3","blueprint":{"nm":"Light Crossbow +3","item":{"tp":"Item","cp":"6744e45a95192d0012ba3ab3","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Light Crossbow +3","rd":"Light Crossbow +3 Attack","cp":"6744e45a95192d0012ba3ab3","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Crossbow +3 Damage","cp":"6744e45a95192d0012ba3ab3","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Light Crossbow of Warning","blueprint":{"nm":"Light Crossbow of Warning","item":{"tp":"Item","cp":"68152930a193700012c10dda","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Light Crossbow of Warning Attunement","cp":"68152930a193700012c10dda","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Light Crossbow of Warning","rd":"Light Crossbow of Warning Attack","cp":"68152930a193700012c10dda","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Light Crossbow of Warning Initiative Advantage","cp":"68152930a193700012c10dda","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Light Crossbow of Warning Damage","cp":"68152930a193700012c10dda","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Light Hammer","blueprint":{"nm":"Light Hammer","item":{"tp":"Item","cp":"67a659a0db873a00127f9292","dn":"Light. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nThrown. If a weapon has the Thrown property, you can throw the weapon to make a ranged attack, and you can draw that weapon as part of the attack. If the weapon is a Melee weapon, use the same ability modifier for the attack and damage rolls that you use for a melee attack with that weapon.\nDamage: 1d4\nDamage Type: Bludgeoning\nProperties: Light, Thrown (Range 20/60)\nMastery: Nick\nWeight: 2","wt":2,"ps":["Light","Thrown (Range 20/60)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Light Hammer","rd":"Light Hammer Attack","cp":"67a659a0db873a00127f9292","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Throw Light Hammer","cp":"67a659a0db873a00127f9292","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Light Hammer (Off-Hand)","cp":"67a659a0db873a00127f9292","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Hammer Damage","cp":"67a659a0db873a00127f9292","ay":"auto","dT":"Bludgeoning","die":"d4","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Light Hammer Thrown Damage","cp":"67a659a0db873a00127f9292","ay":"auto","dT":"Bludgeoning","die":"d4","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Light Hammer (Off-Hand) Damage","cp":"67a659a0db873a00127f9292","ay":"none","dT":"Bludgeoning","die":"d4","ct":1,"oC":false}]}},{"nm":"Light Hammer +1","blueprint":{"nm":"Light Hammer +1","item":{"tp":"Item","cp":"6744e45395192d0012ba38be","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Light Hammer +1","rd":"Light Hammer +1 Attack","cp":"6744e45395192d0012ba38be","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Light Hammer +1 (Off-hand)","rd":"Light Hammer +1 Attack (Off-hand)","cp":"6744e45395192d0012ba38be","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Light Hammer +1 (Thrown)","rd":"Light Hammer +1 Attack (Thrown)","cp":"6744e45395192d0012ba38be","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Hammer +1 Damage","cp":"6744e45395192d0012ba38be","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Light Hammer +1 Damage (Off-hand)","cp":"6744e45395192d0012ba38be","ay":"none","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Light Hammer +1 Damage (Thrown)","cp":"6744e45395192d0012ba38be","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Light Hammer +2","blueprint":{"nm":"Light Hammer +2","item":{"tp":"Item","cp":"6744e4ae95192d0012ba512b","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Light Hammer +2","rd":"Light Hammer +2 Attack","cp":"6744e4ae95192d0012ba512b","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Light Hammer +2 (Off-hand)","rd":"Light Hammer +2 Attack (Off-hand)","cp":"6744e4ae95192d0012ba512b","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Light Hammer +2 (Thrown)","rd":"Light Hammer +2 Attack (Thrown)","cp":"6744e4ae95192d0012ba512b","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Hammer +2 Damage","cp":"6744e4ae95192d0012ba512b","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Light Hammer +2 Damage (Off-hand)","cp":"6744e4ae95192d0012ba512b","ay":"none","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Light Hammer +2 Damage (Thrown)","cp":"6744e4ae95192d0012ba512b","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Light Hammer +3","blueprint":{"nm":"Light Hammer +3","item":{"tp":"Item","cp":"6744e4e995192d0012ba5d88","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Light Hammer +3","rd":"Light Hammer +3 Attack","cp":"6744e4e995192d0012ba5d88","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Light Hammer +3 (Off-hand)","rd":"Light Hammer +3 Attack (Off-hand)","cp":"6744e4e995192d0012ba5d88","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Light Hammer +3 (Thrown)","rd":"Light Hammer +3 Attack (Thrown)","cp":"6744e4e995192d0012ba5d88","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Light Hammer +3 Damage","cp":"6744e4e995192d0012ba5d88","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Light Hammer +3 Damage (Off-hand)","cp":"6744e4e995192d0012ba5d88","ay":"none","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Light Hammer +3 Damage (Thrown)","cp":"6744e4e995192d0012ba5d88","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Light Hammer of Warning","blueprint":{"nm":"Light Hammer of Warning","item":{"tp":"Item","cp":"6815294aa193700012c11346","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Am":1,"Ak":3,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Light Hammer of Warning Attunement","cp":"6815294aa193700012c11346","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Light Hammer of Warning","rd":"Light Hammer of Warning Attack","cp":"6815294aa193700012c11346","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Light Hammer of Warning (Off-hand)","rd":"Light Hammer of Warning Attack (Off-hand)","cp":"6815294aa193700012c11346","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Light Hammer of Warning (Thrown)","rd":"Light Hammer of Warning Attack (Thrown)","cp":"6815294aa193700012c11346","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Light Hammer of Warning Initiative Advantage","cp":"6815294aa193700012c11346","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Light Hammer of Warning Damage","cp":"6815294aa193700012c11346","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Light Hammer of Warning Damage (Off-hand)","cp":"6815294aa193700012c11346","ay":"none","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Light Hammer of Warning Damage (Thrown)","cp":"6815294aa193700012c11346","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Luck Blade Sickle","blueprint":{"nm":"Luck Blade Sickle","item":{"tp":"Item","cp":"681529c2a193700012c12b53","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Am":1,"Ak":2,"RB":1,"Resource":2,"dm":2,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Sickle Attunement","cp":"681529c2a193700012c12b53","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Sickle","rd":"Luck Blade Sickle Attack","cp":"681529c2a193700012c12b53","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Luck Blade Sickle (Off-hand)","rd":"Luck Blade Sickle Attack (Off-hand)","cp":"681529c2a193700012c12b53","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Sickle Save Bonus","cp":"681529c2a193700012c12b53","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Sickle Luck Resource","cp":"681529c2a193700012c12b53","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Sickle Wish Resource","cp":"681529c2a193700012c12b53","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Sickle Damage","cp":"681529c2a193700012c12b53","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Luck Blade Sickle Damage (Off-hand)","cp":"681529c2a193700012c12b53","ay":"none","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Sickle Luck Action","cp":"681529c2a193700012c12b53","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Mace","blueprint":{"nm":"Mace","item":{"tp":"Item","cp":"67a659a0db873a00127f92b0","dn":"Damage: 1d6\nDamage Type: Bludgeoning\nProperties: --\nMastery: Sap\nWeight: 4","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Mace","rd":"Mace Attack","cp":"67a659a0db873a00127f92b0","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Mace Damage","cp":"67a659a0db873a00127f92b0","ay":"auto","dT":"Bludgeoning","die":"d6","ct":1,"oC":false}]}},{"nm":"Mace +1","blueprint":{"nm":"Mace +1","item":{"tp":"Item","cp":"6744e45e95192d0012ba3bb4","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Mace +1","rd":"Mace +1 Attack","cp":"6744e45e95192d0012ba3bb4","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Mace +1 Damage","cp":"6744e45e95192d0012ba3bb4","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Mace +2","blueprint":{"nm":"Mace +2","item":{"tp":"Item","cp":"6744e46095192d0012ba3c42","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Mace +2","rd":"Mace +2 Attack","cp":"6744e46095192d0012ba3c42","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Mace +2 Damage","cp":"6744e46095192d0012ba3c42","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Mace +3","blueprint":{"nm":"Mace +3","item":{"tp":"Item","cp":"6744e45e95192d0012ba3bcf","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Mace +3","rd":"Mace +3 Attack","cp":"6744e45e95192d0012ba3bcf","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Mace +3 Damage","cp":"6744e45e95192d0012ba3bcf","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Mace of Disruption","blueprint":{"nm":"Mace of Disruption","item":{"tp":"Item","cp":"6744e46095192d0012ba3c60","dn":"When you hit a Fiend or an Undead with this magic weapon, that creature takes an extra 2d6 Radiant damage. If the target has 25 Hit Points or fewer after taking this damage, it must succeed on a DC 15 Wisdom saving throw or be destroyed. On a successful save, the creature has the Frightened condition until the end of your next turn.\nLight. While you hold this weapon, it sheds Bright Light in a 20-foot radius and Dim Light for an additional 20 feet.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Mace of Disruption Attunement","cp":"6744e46095192d0012ba3c60","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Mace of Disruption","rd":"Mace of Disruption Attack","cp":"6744e46095192d0012ba3c60","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mace of Disruption vs Fiend or Undead","rd":"Mace of Disruption Fiend or Undead Effect","cp":"6744e46095192d0012ba3c60","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with this magic weapon, that creature takes an extra 2d6 Radiant damage.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fiend or Undead Destroy Save (Mace of Disruption)","rd":"Mace of Disruption Fiend or Undead Destroy Save","cp":"6744e46095192d0012ba3c60","aT":"Action","dn":"When you hit a Fiend or an Undead with this magic weapon, that creature takes an extra 2d6 Radiant damage. If the target has 25 Hit Points or fewer after taking this damage, it must succeed on a DC 15 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is destroyed.","onSucceed":"The creature has the Frightened condition until the end of your next turn.","saveAbility":"Wisdom","saveFlat":15}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Mace of Disruption Damage","cp":"6744e46095192d0012ba3c60","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Mace of Smiting","blueprint":{"nm":"Mace of Smiting","item":{"tp":"Item","cp":"6744e45c95192d0012ba3b3e","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. The bonus increases to +3 when you use the weapon to attack a Construct.\nWhen you roll a 20 on an attack roll made with this weapon, the target takes an extra 7 Bludgeoning damage, or 14 Bludgeoning damage if it's a Construct. If a Construct has 25 Hit Points or fewer after taking this damage, it is destroyed.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Mace of Smiting","rd":"Mace of Smiting Attack","cp":"6744e45c95192d0012ba3b3e","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. The bonus increases to +3 when you use the weapon to attack a Construct.","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you roll a 20 on an attack roll made with this weapon, the target takes an extra 7 Bludgeoning damage, or 14 Bludgeoning damage if it's a Construct. If a Construct has 25 Hit Points or fewer after taking this damage, it is destroyed."},{"id":"c2","tp":"Effect","nm":"Mace of Smiting vs Construct","rd":"Mace of Smiting vs Construct Effect","cp":"6744e45c95192d0012ba3b3e","cy":"[\"Attack\",\"Damage\"]","dn":"The Mace of Smiting's bonus to attack and damage increases to +3 when you use the weapon to attack a Construct.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Mace of Smiting Damage","cp":"6744e45c95192d0012ba3b3e","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Mace of Terror","blueprint":{"nm":"Mace of Terror","item":{"tp":"Item","cp":"68140588a009ba0012a3840e","dn":"This magic weapon has 3 charges and regains 1d3 expended charges daily at dawn. While holding the weapon, you can take a Magic action and expend 1 charge to release a wave of terror from it. Each creature of your choice within 30 feet of you must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute. While Frightened in this way, a creature must spend its turns trying to move as far away from you as it can, and it can't make Opportunity Attacks. For its action, it can use only the Dash action or try to escape from an effect that prevents it from moving. If it has nowhere it can move, the creature can take the Dodge action. At the end of each of its turns, a creature repeats the save, ending the effect on itself on a success.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Mace of Terror Attunement","cp":"68140588a009ba0012a3840e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Mace of Terror","rd":"Mace of Terror Attack","cp":"68140588a009ba0012a3840e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Resource","nm":"Wave of Terror Charges","rd":"Mace of Terror Wave of Terror Resource","cp":"68140588a009ba0012a3840e","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Mace of Terror Damage","cp":"68140588a009ba0012a3840e","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","nm":"Wave of Terror Save (Mace of Terror)","rd":"Mace of Terror Wave of Terror Save","cp":"68140588a009ba0012a3840e","aT":"Action","rg":"30 ft","dn":"Each creature of your choice within 30 feet of you must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute. While Frightened in this way, a creature must spend its turns trying to move as far away from you as it can, and it can't make Opportunity Attacks. For its action, it can use only the Dash action or try to escape from an effect that prevents it from moving. If it has nowhere it can move, the creature can take the Dodge action. At the end of each of its turns, a creature repeats the save.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Prevents or ends the effect on itself.","saveAbility":"Wisdom","saveFlat":15}}]}},{"nm":"Mace of Warning","blueprint":{"nm":"Mace of Warning","item":{"tp":"Item","cp":"6815299ca193700012c123ae","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Mace of Warning Attunement","cp":"6815299ca193700012c123ae","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Mace of Warning","rd":"Mace of Warning Attack","cp":"6815299ca193700012c123ae","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mace of Warning Initiative Advantage","cp":"6815299ca193700012c123ae","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Mace of Warning Damage","cp":"6815299ca193700012c123ae","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Nine Lives Stealer Club","blueprint":{"nm":"Nine Lives Stealer Club","item":{"tp":"Item","cp":"6744e4aa95192d0012ba4ff5","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Club Attunement","cp":"6744e4aa95192d0012ba4ff5","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Club","rd":"Nine Lives Stealer Club Attack","cp":"6744e4aa95192d0012ba4ff5","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Club (Off-Hand)","rd":"Nine Lives Stealer Club (Off-Hand) Attack","cp":"6744e4aa95192d0012ba4ff5","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Club Life Stealing Resource","cp":"6744e4aa95192d0012ba4ff5","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Club Damage","cp":"6744e4aa95192d0012ba4ff5","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Club (Off-Hand) Damage","cp":"6744e4aa95192d0012ba4ff5","ay":"none","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Club Life Stealing Save","cp":"6744e4aa95192d0012ba4ff5","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Dagger","blueprint":{"nm":"Nine Lives Stealer Dagger","item":{"tp":"Item","cp":"6744e33295192d0012b9f0b5","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Am":1,"Ak":5,"Resource":1,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Dagger Attunement","cp":"6744e33295192d0012b9f0b5","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Dagger (STR)","rd":"Nine Lives Stealer Dagger (STR) Attack","cp":"6744e33295192d0012b9f0b5","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Dagger (DEX)","rd":"Nine Lives Stealer Dagger (DEX) Attack","cp":"6744e33295192d0012b9f0b5","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Dagger (Off-hand)","rd":"Nine Lives Stealer Dagger (Off-Hand) Attack","cp":"6744e33295192d0012b9f0b5","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c5","tp":"Ak","nm":"Nine Lives Stealer Dagger (Thrown)","rd":"Nine Lives Stealer Dagger (Thrown) Attack","cp":"6744e33295192d0012b9f0b5","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Dagger Life Stealing Resource","cp":"6744e33295192d0012b9f0b5","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Dagger (STR) Damage","cp":"6744e33295192d0012b9f0b5","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Dagger (DEX) Damage","cp":"6744e33295192d0012b9f0b5","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Dagger (Off-Hand) Damage","cp":"6744e33295192d0012b9f0b5","ay":"none","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c5-c1","tp":"dm","pt":"c5","nm":"Nine Lives Stealer Dagger (Thrown) Damage","cp":"6744e33295192d0012b9f0b5","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Dagger Life Stealing Save","cp":"6744e33295192d0012b9f0b5","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Dart","blueprint":{"nm":"Nine Lives Stealer Dart","item":{"tp":"Item","cp":"6744e46795192d0012ba3e1a","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Dart Attunement","cp":"6744e46795192d0012ba3e1a","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Dart","rd":"Nine Lives Stealer Dart Attack","cp":"6744e46795192d0012ba3e1a","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Dart (Finesse)","rd":"Nine Lives Stealer Dart (STR) Attack","cp":"6744e46795192d0012ba3e1a","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Dagger Life Stealing Resource","cp":"6744e46795192d0012ba3e1a","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Dart Damage","cp":"6744e46795192d0012ba3e1a","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Dart (STR) Damage","cp":"6744e46795192d0012ba3e1a","ay":"auto","dT":"Piercing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"x1","tp":"Ak","nm":"Life Stealing Save","rd":"Nine Lives Stealer Dart Life Stealing Save","cp":"6744e46795192d0012ba3e1a","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Greatclub","blueprint":{"nm":"Nine Lives Stealer Greatclub","item":{"tp":"Item","cp":"6744e3f795192d0012ba2075","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Greatclub Attunement","cp":"6744e3f795192d0012ba2075","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Greatclub","rd":"Nine Lives Stealer Greatclub Attack","cp":"6744e3f795192d0012ba2075","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Greatclub Life Stealing Resource","cp":"6744e3f795192d0012ba2075","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Greatclub Damage","cp":"6744e3f795192d0012ba2075","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Greatclub Life Stealing Save","cp":"6744e3f795192d0012ba2075","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Handaxe","blueprint":{"nm":"Nine Lives Stealer Handaxe","item":{"tp":"Item","cp":"6744e4a295192d0012ba4dc0","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Am":1,"Ak":4,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Handaxe Attunement","cp":"6744e4a295192d0012ba4dc0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Handaxe","rd":"Nine Lives Stealer Handaxe Attack","cp":"6744e4a295192d0012ba4dc0","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Handaxe (Off-hand)","rd":"Nine Lives Stealer Handaxe (Off-Hand) Attack","cp":"6744e4a295192d0012ba4dc0","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Handaxe (Thrown)","rd":"Nine Lives Stealer Handaxe (Thrown) Attack","cp":"6744e4a295192d0012ba4dc0","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Handaxe Life Stealing Resource","cp":"6744e4a295192d0012ba4dc0","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Handaxe Damage","cp":"6744e4a295192d0012ba4dc0","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Handaxe (Off-Hand) Damage","cp":"6744e4a295192d0012ba4dc0","ay":"none","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Handaxe (Thrown) Damage","cp":"6744e4a295192d0012ba4dc0","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Handaxe Life Stealing Save","cp":"6744e4a295192d0012ba4dc0","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Light Crossbow","blueprint":{"nm":"Nine Lives Stealer Light Crossbow","item":{"tp":"Item","cp":"6744e33c95192d0012b9f310","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Light Crossbow Attunement","cp":"6744e33c95192d0012b9f310","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Light Crossbow","rd":"Nine Lives Stealer Light Crossbow Attack","cp":"6744e33c95192d0012b9f310","aT":"Action","rg":"80/320","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Light Crossbow Life Stealing Resource","cp":"6744e33c95192d0012b9f310","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Light Crossbow Damage","cp":"6744e33c95192d0012b9f310","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Light Crossbow Life Stealing Save","cp":"6744e33c95192d0012b9f310","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Light Hammer","blueprint":{"nm":"Nine Lives Stealer Light Hammer","item":{"tp":"Item","cp":"6744e33b95192d0012b9f2da","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Am":1,"Ak":4,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Light Hammer Attunement","cp":"6744e33b95192d0012b9f2da","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Light Hammer","rd":"Nine Lives Stealer Light Hammer Attack","cp":"6744e33b95192d0012b9f2da","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Light Hammer (Off-hand)","rd":"Nine Lives Stealer Light Hammer (Off-Hand) Attack","cp":"6744e33b95192d0012b9f2da","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Light Hammer (Thrown)","rd":"Nine Lives Stealer Light Hammer (Thrown) Attack","cp":"6744e33b95192d0012b9f2da","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Light Hammer Life Stealing Resource","cp":"6744e33b95192d0012b9f2da","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Light Hammer Damage","cp":"6744e33b95192d0012b9f2da","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Light Hammer (Off-Hand) Damage","cp":"6744e33b95192d0012b9f2da","ay":"none","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Light Hammer (Thrown) Damage","cp":"6744e33b95192d0012b9f2da","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Light Hammer Life Stealing Save","cp":"6744e33b95192d0012b9f2da","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Mace","blueprint":{"nm":"Nine Lives Stealer Mace","item":{"tp":"Item","cp":"6744e46b95192d0012ba3f11","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Mace Attunement","cp":"6744e46b95192d0012ba3f11","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Mace","rd":"Nine Lives Stealer Mace Attack","cp":"6744e46b95192d0012ba3f11","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Mace Life Stealing Resource","cp":"6744e46b95192d0012ba3f11","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Mace Damage","cp":"6744e46b95192d0012ba3f11","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Mace Life Stealing Save","cp":"6744e46b95192d0012ba3f11","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Quarterstaff","blueprint":{"nm":"Nine Lives Stealer Quarterstaff","item":{"tp":"Item","cp":"6744e45d95192d0012ba3b99","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Quarterstaff Attunement","cp":"6744e45d95192d0012ba3b99","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Quarterstaff (One-Handed)","rd":"Nine Lives Stealer Quarterstaff (One-Handed) Attack","cp":"6744e45d95192d0012ba3b99","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Quarterstaff (Two-Handed)","rd":"Nine Lives Stealer Quarterstaff (Two-Handed) Attack","cp":"6744e45d95192d0012ba3b99","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Quarterstaff Life Stealing Resource","cp":"6744e45d95192d0012ba3b99","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Quarterstaff (One-Handed) Damage","cp":"6744e45d95192d0012ba3b99","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Quarterstaff (Two-Handed) Damage","cp":"6744e45d95192d0012ba3b99","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Quarterstaff Life Stealing Save","cp":"6744e45d95192d0012ba3b99","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Shortbow","blueprint":{"nm":"Nine Lives Stealer Shortbow","item":{"tp":"Item","cp":"6744e46295192d0012ba3ced","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Shortbow Attunement","cp":"6744e46295192d0012ba3ced","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Shortbow","rd":"Nine Lives Stealer Shortbow Attack","cp":"6744e46295192d0012ba3ced","aT":"Action","rg":"80/320","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Shortbow Life Stealing Resource","cp":"6744e46295192d0012ba3ced","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Shortbow Damage","cp":"6744e46295192d0012ba3ced","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Shortbow Life Stealing Save","cp":"6744e46295192d0012ba3ced","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Sickle","blueprint":{"nm":"Nine Lives Stealer Sickle","item":{"tp":"Item","cp":"6744e46395192d0012ba3d08","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Sickle Attunement","cp":"6744e46395192d0012ba3d08","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Sickle","rd":"Nine Lives Stealer Sickle Attack","cp":"6744e46395192d0012ba3d08","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Sickle (Off-Hand)","rd":"Nine Lives Stealer Sickle (Off-Hand) Attack","cp":"6744e46395192d0012ba3d08","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Sickle Life Stealing Resource","cp":"6744e46395192d0012ba3d08","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Sickle Damage","cp":"6744e46395192d0012ba3d08","ay":"auto","dT":"Slashing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Sickle (Off-Hand) Damage","cp":"6744e46395192d0012ba3d08","ay":"none","dT":"Slashing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Sickle Life Stealing Save","cp":"6744e46395192d0012ba3d08","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Sling","blueprint":{"nm":"Nine Lives Stealer Sling","item":{"tp":"Item","cp":"6744e2c795192d0012b9d6f5","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Sling Attunement","cp":"6744e2c795192d0012b9d6f5","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Sling","rd":"Nine Lives Stealer Sling Attack","cp":"6744e2c795192d0012b9d6f5","aT":"Action","rg":"30/120","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Sling Life Stealing Resource","cp":"6744e2c795192d0012b9d6f5","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Sling Damage","cp":"6744e2c795192d0012b9d6f5","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Sling Life Stealing Save","cp":"6744e2c795192d0012b9d6f5","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Spear","blueprint":{"nm":"Nine Lives Stealer Spear","item":{"tp":"Item","cp":"6744e46595192d0012ba3d92","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Am":1,"Ak":4,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Spear Attunement","cp":"6744e46595192d0012ba3d92","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Spear (One-Handed)","rd":"Nine Lives Stealer Spear (One-Handed) Attack","cp":"6744e46595192d0012ba3d92","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Spear (Thrown)","rd":"Nine Lives Stealer Spear (Thrown) Attack","cp":"6744e46595192d0012ba3d92","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Spear (Two-Handed)","rd":"Nine Lives Stealer Spear (Two-Handed) Attack","cp":"6744e46595192d0012ba3d92","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Spear Life Stealing Resource","cp":"6744e46595192d0012ba3d92","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Spear (One-Handed) Damage","cp":"6744e46595192d0012ba3d92","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Spear (Thrown) Damage","cp":"6744e46595192d0012ba3d92","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Spear (Two-Handed) Damage","cp":"6744e46595192d0012ba3d92","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Spear Life Stealing Save","cp":"6744e46595192d0012ba3d92","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Oathbow Shortbow","blueprint":{"nm":"Oathbow Shortbow","item":{"tp":"Item","cp":"6744e4a995192d0012ba4fc1","dn":"When you nock an arrow on this bow, it whispers in Elvish, 'Swift defeat to my enemies.' When you use this weapon to make a ranged attack, you can utter or sign the following command words: 'Swift death to you who have wronged me.' The target of your attack becomes your sworn enemy until it dies or until dawn 7 days later. You can have only one such sworn enemy at a time. When your sworn enemy dies, you can choose a new one after the next dawn. When you make a ranged attack roll with this weapon against your sworn enemy, you have Advantage on the roll. In addition, your target gains no benefit from Half Cover or Three-Quarters Cover, and you suffer no Disadvantage due to long range. If the attack hits, your sworn enemy takes an extra 3d6 Piercing damage. While your sworn enemy lives, you have Disadvantage on attack rolls with all other weapons.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Am":1,"Ak":1,"Effect":2,"dm":1,"RB":2},"ch":[{"id":"c1","tp":"Am","nm":"Oathbow Shortbow Attunement","cp":"6744e4a995192d0012ba4fc1","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Oathbow Shortbow","rd":"Oathbow Shortbow Attack","cp":"6744e4a995192d0012ba4fc1","aT":"Action","rg":"80/320","dn":"When you use this weapon to make a ranged attack, you can utter or sign the following command words: 'Swift death to you who have wronged me.' The target of your attack becomes your sworn enemy until it dies or until dawn 7 days later. You can have only one such sworn enemy at a time.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sworn Enemy (Oathbow)","rd":"Oathbow Shortbow Sworn Enemy Effect","cp":"6744e4a995192d0012ba4fc1","cy":"[]","dn":"When you make a ranged attack roll with this weapon against your sworn enemy, you have Advantage on the roll. In addition, your target gains no benefit from Half Cover or Three-Quarters Cover, and you suffer no Disadvantage due to long range. If the attack hits, your sworn enemy takes an extra 3d6 Piercing damage. While your sworn enemy lives, you have Disadvantage on attack rolls with all other weapons.","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Oathbow Shortbow Damage","cp":"6744e4a995192d0012ba4fc1","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"RB","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1","actions":["Activate"]}],"nm":"Oathbow Shortbow Advantage vs Sworn Enemy","cp":"6744e4a995192d0012ba4fc1","bC":"[\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c1-c2","tp":"RB","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1","actions":["Activate"]}],"nm":"Oathbow Shortbow Disadvantage with Other Weapons","cp":"6744e4a995192d0012ba4fc1","bC":"[\"Attacks\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c1-c3","tp":"Effect","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1","actions":["Activate"]}],"nm":"Extra Damage against Sworn Enemy","rd":"Oathbow Longbow Extra Damage vs Sworn Enemy Effect","cp":"6744e4a995192d0012ba4fc1","cy":"[\"Damage\"]","dn":"When you make a ranged attack roll with this weapon against your sworn enemy and the attack hits, your sworn enemy takes an extra 3d6 Piercing damage.","diceValue":"3d6","active":false}]}},{"nm":"Quarterstaff","blueprint":{"nm":"Quarterstaff","item":{"tp":"Item","cp":"67a659a1db873a00127f92e1","dn":"Versatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nArcane Focus\nAn Arcane Focus is bejeweled or carved to channel arcane magic. A Sorcerer, Warlock, or Wizard can use this an item as a Spellcasting Focus.\nDruidic Focus\nA Druidic Focus is carved, tied with ribbon, or painted to channel primal magic. A Druid or Ranger can use such this item as a Spellcasting Focus.\nDamage: 1d6 (1d8)\nDamage Type: Bludgeoning\nProperties: Versatile\nMastery: Topple\nWeight: 4","wt":4,"ps":["Versatile (1d8)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Quarterstaff (One Handed)","rd":"Quarterstaff One Handed Attack","cp":"67a659a1db873a00127f92e1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Quarterstaff (Two Handed)","rd":"Quarterstaff Two-Handed Attack","cp":"67a659a1db873a00127f92e1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Quarterstaff One Handed Damage","cp":"67a659a1db873a00127f92e1","ay":"auto","dT":"Bludgeoning","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Quarterstaff Two Handed Damage","cp":"67a659a1db873a00127f92e1","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false}]}},{"nm":"Quarterstaff +1","blueprint":{"nm":"Quarterstaff +1","item":{"tp":"Item","cp":"6744e42895192d0012ba2d96","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Quarterstaff +1","rd":"Quarterstaff +1 Attack","cp":"6744e42895192d0012ba2d96","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Quarterstaff +1 (Two-handed)","rd":"Quarterstaff +1 Attack (Two-handed)","cp":"6744e42895192d0012ba2d96","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Quarterstaff +1 Damage","cp":"6744e42895192d0012ba2d96","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Quarterstaff +1 Damage (Two-handed)","cp":"6744e42895192d0012ba2d96","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Quarterstaff +2","blueprint":{"nm":"Quarterstaff +2","item":{"tp":"Item","cp":"6744e47795192d0012ba424d","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Quarterstaff +2","rd":"Quarterstaff +2 Attack","cp":"6744e47795192d0012ba424d","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Quarterstaff +2 (Two-handed)","rd":"Quarterstaff +2 Attack (Two-handed)","cp":"6744e47795192d0012ba424d","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Quarterstaff +2 Damage","cp":"6744e47795192d0012ba424d","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Quarterstaff +2 Damage (Two-handed)","cp":"6744e47795192d0012ba424d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Quarterstaff +3","blueprint":{"nm":"Quarterstaff +3","item":{"tp":"Item","cp":"6744e47e95192d0012ba444d","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Quarterstaff +3","rd":"Quarterstaff +3 Attack","cp":"6744e47e95192d0012ba444d","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Quarterstaff +3 (Two-handed)","rd":"Quarterstaff +3 Attack (Two-handed)","cp":"6744e47e95192d0012ba444d","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Quarterstaff +3 Damage","cp":"6744e47e95192d0012ba444d","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Quarterstaff +3 Damage (Two-handed)","cp":"6744e47e95192d0012ba444d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Quarterstaff of the Acrobat","blueprint":{"nm":"Quarterstaff of the Acrobat","item":{"tp":"Item","cp":"6744e48495192d0012ba45d5","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nWhile holding this weapon, you can cause it to emit green Dim Light out to 10 feet, either as a Bonus Action or after you roll Initiative, or you can extinguish the light as a Bonus Action.\nWhile holding this weapon, you can take a Bonus Action to alter its form, turning it into a 6-inch rod (for ease of storage) or a 10-foot pole, or reverting it a Quarterstaff; the weapon will elongate only as far as the surrounding space allows.\nIn certain forms, the weapon has the following additional properties.\nAcrobatic Assist (Quarterstaff or 10-Foot Pole Forms Only). While holding this weapon, you have Advantage on Dexterity (Acrobatics) checks.\nAttack Deflection (Quarterstaff Form Only). When you are hit by an attack while holding the weapon, you can take a Reaction to twirl the weapon around you, gaining a +5 bonus to your Armor Class against the triggering attack, potentially causing the attack to miss you. You can't use this property again until you finish a Short or Long Rest.\nRanged Weapon (Quarterstaff Form Only). This weapon has the Thrown property with a normal range of 30 feet and a long range of 120 feet. Immediately after you make a ranged attack with the weapon, it flies back to your hand.","wt":4,"ps":["Versatile","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":3,"Action":3,"RB":1,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Quarterstaff of the Acrobat Attunement","cp":"6744e48495192d0012ba45d5","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Quarterstaff of the Acrobat","rd":"Quarterstaff of the Acrobat Attack","cp":"6744e48495192d0012ba45d5","aT":"Action","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Quarterstaff of the Acrobat (Thrown)","rd":"Quarterstaff of the Acrobat Attack (Thrown)","cp":"6744e48495192d0012ba45d5","aT":"Action","rg":"30/120","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c4","tp":"Ak","nm":"Quarterstaff of the Acrobat (Two-handed)","rd":"Quarterstaff of the Acrobat Attack (Two-handed)","cp":"6744e48495192d0012ba45d5","aT":"Action","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dim Light On or Off","rd":"Quarterstaff of the Acrobat Bonus Action","cp":"6744e48495192d0012ba45d5","dn":"While holding this weapon, you can cause it to emit green Dim Light out to 10 feet, either as a Bonus Action or after you roll Initiative, or you can extinguish the light as a Bonus Action."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Alter Quarterstaff of the Acrobat","rd":"Quarterstaff of the Acrobat Bonus Action","cp":"6744e48495192d0012ba45d5","dn":"While holding this weapon, you can take a Bonus Action to alter its form, turning it into a 6-inch rod (for ease of storage) or a 10-foot pole, or reverting it a Quarterstaff; the weapon will elongate only as far as the surrounding space allows."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Quarterstaff of the Acrobat Acrobatic Assist Roll Bonus","cp":"6744e48495192d0012ba45d5","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Acrobatics\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Attack Deflection","rd":"Quarterstaff of the Acrobat Attack Deflection Resource","cp":"6744e48495192d0012ba45d5","vl":1},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Quarterstaff of the Acrobat Damage","cp":"6744e48495192d0012ba45d5","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Quarterstaff of the Acrobat Damage (Thrown)","cp":"6744e48495192d0012ba45d5","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Quarterstaff of the Acrobat Damage (Two-handed)","cp":"6744e48495192d0012ba45d5","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c4-c1","tp":"Action","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Attack Deflection","rd":"Quarterstaff of the Acrobat Attack Deflection Reaction","cp":"6744e48495192d0012ba45d5","dn":"When you are hit by an attack while holding the weapon, you can take a Reaction to twirl the weapon around you, gaining a +5 bonus to your Armor Class against the triggering attack, potentially causing the attack to miss you."}]}},{"nm":"Quarterstaff of Warning","blueprint":{"nm":"Quarterstaff of Warning","item":{"tp":"Item","cp":"68152917a193700012c1092c","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Quarterstaff of Warning Attunement","cp":"68152917a193700012c1092c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Quarterstaff of Warning","rd":"Quarterstaff of Warning Attack","cp":"68152917a193700012c1092c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Quarterstaff of Warning (Two-handed)","rd":"Quarterstaff of Warning Attack (Two-handed)","cp":"68152917a193700012c1092c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Quarterstaff of Warning Initiative Advantage","cp":"68152917a193700012c1092c","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Quarterstaff of Warning Damage","cp":"68152917a193700012c1092c","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Quarterstaff of Warning Damage (Two-handed)","cp":"68152917a193700012c1092c","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Shortbow","blueprint":{"nm":"Shortbow","item":{"tp":"Item","cp":"67a659a1db873a00127f92ce","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost. \nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d6\nDamage Type: Piercing\nProperties: Ammunition (Range 80/320; Arrow), Two-Handed\nMastery: Vex\nWeight: 2\n25 GP","wt":2,"ps":["Ammunition (Range 80/320; Arrow)","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Shortbow","rd":"Shortbow Attack","cp":"67a659a1db873a00127f92ce","aT":"Action","rg":"80/320 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortbow Damage","cp":"67a659a1db873a00127f92ce","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false}]}},{"nm":"Shortbow +1","blueprint":{"nm":"Shortbow +1","item":{"tp":"Item","cp":"6744e2ef95192d0012b9e21e","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Shortbow +1","rd":"Shortbow +1 Attack","cp":"6744e2ef95192d0012b9e21e","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortbow +1 Damage","cp":"6744e2ef95192d0012b9e21e","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Shortbow +2","blueprint":{"nm":"Shortbow +2","item":{"tp":"Item","cp":"6744e48795192d0012ba4681","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Shortbow +2","rd":"Shortbow +2 Attack","cp":"6744e48795192d0012ba4681","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortbow +2 Damage","cp":"6744e48795192d0012ba4681","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Shortbow +3","blueprint":{"nm":"Shortbow +3","item":{"tp":"Item","cp":"6744e48e95192d0012ba4870","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Shortbow +3","rd":"Shortbow +3 Attack","cp":"6744e48e95192d0012ba4870","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortbow +3 Damage","cp":"6744e48e95192d0012ba4870","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Shortbow of Warning","blueprint":{"nm":"Shortbow of Warning","item":{"tp":"Item","cp":"68152930a193700012c10dfd","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Shortbow of Warning Attunement","cp":"68152930a193700012c10dfd","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Shortbow of Warning","rd":"Shortbow of Warning Attack","cp":"68152930a193700012c10dfd","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortbow of Warning Initiative Advantage","cp":"68152930a193700012c10dfd","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Shortbow of Warning Damage","cp":"68152930a193700012c10dfd","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Sickle","blueprint":{"nm":"Sickle","item":{"tp":"Item","cp":"67a6599cdb873a00127f9140","dn":"Light. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nDamage: 1d4\nDamage Type: Slashing\nProperties: Light\nMastery: Nick\nWeight: 2","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Sickle","rd":"Sickle Attack","cp":"67a6599cdb873a00127f9140","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Sickle (Off-Hand)","rd":"Sickle (Off-Hand) Attack","cp":"67a6599cdb873a00127f9140","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sickle Damage","cp":"67a6599cdb873a00127f9140","ay":"auto","dT":"Slashing","die":"d4","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Sickle (Off-Hand) Damage","cp":"67a6599cdb873a00127f9140","ay":"none","dT":"Slashing","die":"d4","ct":1,"oC":false}]}},{"nm":"Sickle +1","blueprint":{"nm":"Sickle +1","item":{"tp":"Item","cp":"6744e2eb95192d0012b9e10f","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Sickle +1","rd":"Sickle +1 Attack","cp":"6744e2eb95192d0012b9e10f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Sickle +1 (Off-hand)","rd":"Sickle +1 Attack (Off-hand)","cp":"6744e2eb95192d0012b9e10f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sickle +1 Damage","cp":"6744e2eb95192d0012b9e10f","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Sickle +1 Damage (Off-hand)","cp":"6744e2eb95192d0012b9e10f","ay":"none","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Sickle +2","blueprint":{"nm":"Sickle +2","item":{"tp":"Item","cp":"6744e2c695192d0012b9d6bf","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Sickle +2","rd":"Sickle +2 Attack","cp":"6744e2c695192d0012b9d6bf","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Sickle +2 (Off-hand)","rd":"Sickle +2 Attack (Off-hand)","cp":"6744e2c695192d0012b9d6bf","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sickle +2 Damage","cp":"6744e2c695192d0012b9d6bf","ay":"auto","dT":"Slashing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Sickle +2 Damage (Off-hand)","cp":"6744e2c695192d0012b9d6bf","ay":"none","dT":"Slashing","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Sickle +3","blueprint":{"nm":"Sickle +3","item":{"tp":"Item","cp":"6744e2e095192d0012b9ddf2","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Sickle +3","rd":"Sickle +3 Attack","cp":"6744e2e095192d0012b9ddf2","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Sickle +3 (Off-hand)","rd":"Sickle +3 Attack (Off-hand)","cp":"6744e2e095192d0012b9ddf2","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sickle +3 Damage","cp":"6744e2e095192d0012b9ddf2","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Sickle +3 Damage (Off-hand)","cp":"6744e2e095192d0012b9ddf2","ay":"none","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Sickle of Warning","blueprint":{"nm":"Sickle of Warning","item":{"tp":"Item","cp":"6815299ca193700012c123be","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Sickle of Warning Attunement","cp":"6815299ca193700012c123be","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Sickle of Warning","rd":"Sickle of Warning Attack","cp":"6815299ca193700012c123be","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Sickle of Warning (Off-hand)","rd":"Sickle of Warning Attack (Off-hand)","cp":"6815299ca193700012c123be","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sickle of Warning Initiative Advantage","cp":"6815299ca193700012c123be","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Sickle of Warning Damage","cp":"6815299ca193700012c123be","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Sickle of Warning Damage (Off-hand)","cp":"6815299ca193700012c123be","ay":"none","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Sling","blueprint":{"nm":"Sling","item":{"tp":"Item","cp":"67a65995db873a00127f8ebd","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nDamage: 1d4\nDamage Type: Bludgeoning\nProperties: Ammunition (Range 30/120; Bullet)\nMastery: Slow\nWeight --\n1 SP","ps":["Ammunition (Range 30/120; Bullet)"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Sling","rd":"Sling Attack","cp":"67a65995db873a00127f8ebd","aT":"Action","rg":"30/120 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sling Damage","cp":"67a65995db873a00127f8ebd","ay":"auto","dT":"Bludgeoning","die":"d4","ct":1,"oC":false}]}},{"nm":"Sling +1","blueprint":{"nm":"Sling +1","item":{"tp":"Item","cp":"6744e48f95192d0012ba48aa","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Sling +1","rd":"Sling +1 Attack","cp":"6744e48f95192d0012ba48aa","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sling +1 Damage","cp":"6744e48f95192d0012ba48aa","ay":"auto","dT":"Bludgeoning","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Sling +2","blueprint":{"nm":"Sling +2","item":{"tp":"Item","cp":"6744e4b295192d0012ba5248","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Sling +2","rd":"Sling +2 Attack","cp":"6744e4b295192d0012ba5248","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sling +2 Damage","cp":"6744e4b295192d0012ba5248","ay":"auto","dT":"Bludgeoning","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Sling +3","blueprint":{"nm":"Sling +3","item":{"tp":"Item","cp":"6744e48f95192d0012ba488e","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Sling +3","rd":"Sling +3 Attack","cp":"6744e48f95192d0012ba488e","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sling +3 Damage","cp":"6744e48f95192d0012ba488e","ay":"auto","dT":"Bludgeoning","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Sling of Warning","blueprint":{"nm":"Sling of Warning","item":{"tp":"Item","cp":"68152964a193700012c11875","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Sling of Warning Attunement","cp":"68152964a193700012c11875","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Sling of Warning","rd":"Sling of Warning Attack","cp":"68152964a193700012c11875","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sling of Warning Initiative Advantage","cp":"68152964a193700012c11875","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Sling of Warning Damage","cp":"68152964a193700012c11875","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Spear","blueprint":{"nm":"Spear","item":{"tp":"Item","cp":"67a659a1db873a00127f92fc","dn":"Thrown. If a weapon has the Thrown property, you can throw the weapon to make a ranged attack, and you can draw that weapon as part of the attack. If the weapon is a Melee weapon, use the same ability modifier for the attack and damage rolls that you use for a melee attack with that weapon.\nVersatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nDamage: 1d6 (1d8)\nDamage Type: Piercing\nProperties: Thrown (Range 20/60), Versatile\nMastery: Sap\nWeight: 3","wt":3,"ps":["Thrown (Range 20/60)","Versatile (1d8)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Spear (One-Handed)","rd":"Spear One-Handed Attack","cp":"67a659a1db873a00127f92fc","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Throw Spear","cp":"67a659a1db873a00127f92fc","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Spear (Two-Handed)","rd":"Spear Two-Handed Attack","cp":"67a659a1db873a00127f92fc","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Spear One Handed Damage","cp":"67a659a1db873a00127f92fc","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Throw Spear Damage","cp":"67a659a1db873a00127f92fc","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Spear Two Handed Damage","cp":"67a659a1db873a00127f92fc","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false}]}},{"nm":"Spear +1","blueprint":{"nm":"Spear +1","item":{"tp":"Item","cp":"6744e48c95192d0012ba47c9","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Spear +1","rd":"Spear +1 Attack","cp":"6744e48c95192d0012ba47c9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Spear +1 (Thrown)","rd":"Spear +1 Attack (Thrown)","cp":"6744e48c95192d0012ba47c9","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Spear +1 (Two-handed)","rd":"Spear +1 Attack (Two-handed)","cp":"6744e48c95192d0012ba47c9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Spear +1 Damage","cp":"6744e48c95192d0012ba47c9","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Spear +1 Damage (Thrown)","cp":"6744e48c95192d0012ba47c9","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Spear +1 Damage (Two-handed)","cp":"6744e48c95192d0012ba47c9","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Spear +2","blueprint":{"nm":"Spear +2","item":{"tp":"Item","cp":"6744e49095192d0012ba48e2","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Spear +2","rd":"Spear +2 Attack","cp":"6744e49095192d0012ba48e2","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Spear +2 (Thrown)","rd":"Spear +2 Attack (Thrown)","cp":"6744e49095192d0012ba48e2","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Spear +2 (Two-handed)","rd":"Spear +2 Attack (Two-handed)","cp":"6744e49095192d0012ba48e2","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Spear +2 Damage","cp":"6744e49095192d0012ba48e2","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Spear +2 Damage (Thrown)","cp":"6744e49095192d0012ba48e2","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Spear +2 Damage (Two-handed)","cp":"6744e49095192d0012ba48e2","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Spear +3","blueprint":{"nm":"Spear +3","item":{"tp":"Item","cp":"6744e48c95192d0012ba47e4","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Spear +3","rd":"Spear +3 Attack","cp":"6744e48c95192d0012ba47e4","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Spear +3 (Thrown)","rd":"Spear +3 Attack (Thrown)","cp":"6744e48c95192d0012ba47e4","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Spear +3 (Two-handed)","rd":"Spear +3 Attack (Two-handed)","cp":"6744e48c95192d0012ba47e4","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Spear +3 Damage","cp":"6744e48c95192d0012ba47e4","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Spear +3 Damage (Thrown)","cp":"6744e48c95192d0012ba47e4","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Spear +3 Damage (Two-handed)","cp":"6744e48c95192d0012ba47e4","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Spear of Warning","blueprint":{"nm":"Spear of Warning","item":{"tp":"Item","cp":"68152a22a193700012c13e2f","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Am":1,"Ak":3,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Spear of Warning Attunement","cp":"68152a22a193700012c13e2f","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Spear of Warning","rd":"Spear of Warning Attack","cp":"68152a22a193700012c13e2f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Spear of Warning (Thrown)","rd":"Spear of Warning Attack (Thrown)","cp":"68152a22a193700012c13e2f","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c4","tp":"Ak","nm":"Spear of Warning (Two-handed)","rd":"Spear of Warning Attack (Two-handed)","cp":"68152a22a193700012c13e2f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Spear of Warning Initiative Advantage","cp":"68152a22a193700012c13e2f","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Spear of Warning Damage","cp":"68152a22a193700012c13e2f","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Spear of Warning Damage (Thrown)","cp":"68152a22a193700012c13e2f","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Spear of Warning Damage (Two-handed)","cp":"68152a22a193700012c13e2f","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Staff","blueprint":{"nm":"Staff","item":{"tp":"Item","cp":"6204556f4401f963c062ee1a","dn":"An arcane focus is a special item designed to channel the power of arcane spells. A sorcerer, warlock, or wizard can use such an item as a spellcasting focus, using it in place of any material component which does not list a cost.\n\n\n\nVersatile. This weapon can be used with one or two hands. A damage value in parentheses appears with the property - the damage when the weapon is used with two hands to make a melee attack.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Staff (One-Handed)","rd":"Staff Attack 1","cp":"6204556f4401f963c062ee1a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Staff (Two-Handed)","rd":"Staff Attack 2","cp":"6204556f4401f963c062ee1a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Staff Damage 1","cp":"6204556f4401f963c062ee1a","ay":"auto","dT":"Bludgeoning","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff Damage 2","cp":"6204556f4401f963c062ee1a","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false}]}},{"nm":"Staff of Charming","blueprint":{"nm":"Staff of Charming","item":{"tp":"Item","cp":"681421cb350b5e00122d5211","dn":"Requires Attunement by a Bard, Cleric, Druid, Sorcerer, Warlock, or Wizard\nThis staff has 10 charges. While holding the staff, you can use any of its properties:\nCast Spell. You can expend 1 of the staff's charges to cast Charm Person, Command, or Comprehend Languages from it using your spell save DC.\nReflect Enchantment. If you succeed on a saving throw against an Enchantment spell that targets only you, you can take a Reaction to expend 1 charge from the staff and turn the spell back on its caster as if you had cast the spell.\nResist Enchantment. If you fail a saving throw against an Enchantment spell that targets only you, you can turn your failed save into a successful one. You can't use this property of the staff again until the next dawn.\nRegaining Charges. The staff regains 1d8 + 2 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff crumbles to dust and is destroyed.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":4,"Resource":2,"dm":2,"Spell":3,"Action":2},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Charming Attunement","cp":"681421cb350b5e00122d5211","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Charming (One-handed)","rd":"Staff of Charming (One-handed) Attack","cp":"681421cb350b5e00122d5211","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Charming (Two-handed)","rd":"Staff of Charming (Two-handed) Attack","cp":"681421cb350b5e00122d5211","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Charming Charges","cp":"681421cb350b5e00122d5211","vl":10},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Resist Enchantment (Staff of Charming)","rd":"Staff of Charming Resist Enchantment Resource","cp":"681421cb350b5e00122d5211","vl":1},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Charming (One-handed) Damage","cp":"681421cb350b5e00122d5211","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Charming (Two-handed) Damage","cp":"681421cb350b5e00122d5211","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Charm Person","cp":"66e07b4b28743a0012c8637e","dn":"One Humanoid you can see within range makes a Wisdom saving throw. It does so with Advantage if you or your allies are fighting it. On a failed save, the target has the Charmed condition until the spell ends or until you or your allies damage it. The Charmed creature is Friendly to you. When the spell ends, the target knows it was Charmed by you."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Command","cp":"66e09003dc69af0030fa6976","dn":"You speak a one-word command to a creature you can see within range. The target must succeed on a Wisdom saving throw or follow the command on its next turn. Choose the command from these options:\nApproach. The target moves toward you by the shortest and most direct route, ending its turn if it moves within 5 feet of you.\nDrop. The target drops whatever it is holding and then ends its turn.\nFlee. The target spends its turn moving away from you by the fastest available means.\nGrovel. The target has the Prone condition and then ends its turn.\nHalt. On its turn, the target doesn't move and takes no action or Bonus Action."},{"id":"c1-c1-c3","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Comprehend Languages","cp":"66e08fbedc69af0030fa58eb","dn":"For the duration, you understand the literal meaning of any language that you hear or see signed. You also understand any written language that you see, but you must be touching the surface on which the words are written. It takes about 1 minute to read one page of text. This spell doesn't decode symbols or secret messages."},{"id":"c1-c1-c4","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Reflect Enchantment (Staff of Charming)","rd":"Staff of Charming Reflect Enchantment Reaction","cp":"681421cb350b5e00122d5211","dn":"If you succeed on a saving throw against an Enchantment spell that targets only you, you can take a Reaction to expend 1 charge from the staff and turn the spell back on its caster as if you had cast the spell."},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Resist Enchantment (Staff of Charming)","rd":"Staff of Charming Resist Enchantment","cp":"681421cb350b5e00122d5211","dn":"If you fail a saving throw against an Enchantment spell that targets only you, you can turn your failed save into a successful one."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Charm Person","rd":"Charm Person Attack","cp":"66e07b4b28743a0012c8637e","aT":"Action","rg":"30 feet","dn":"One creature you can see within range makes a Wisdom saving throw. It does so with Advantage if you or your allies are fighting it.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target has the Charmed condition until the spell ends or until you or your allies damage it.","saveAbility":"Wisdom"}},{"id":"c1-c1-c2-c1","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Command","rd":"Command Attack","cp":"66e09003dc69af0030fa6976","aT":"Action","rg":"60 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"The target follows the command on its next turn.","saveAbility":"Wisdom"}}]}},{"nm":"Staff of Fire","blueprint":{"nm":"Staff of Fire","item":{"tp":"Item","cp":"681421c2350b5e00122d51ae","dn":"Requires Attunement by a Druid, Sorcerer, Warlock, or Wizard\nYou have Resistance to Fire damage while you hold this staff.\nSpells. The staff has 10 charges. While holding the staff, you can cast one of the following spells from it, using your spell save DC: Burning Hands (1 charge), Fireball (3 charges), Wall of Fire (4 charges).\nRegaining Charges. The staff regains 1d6 + 4 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff crumbles into cinders and is destroyed.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":5,"Defense":1,"Resource":1,"dm":5,"Spell":3,"Upcasting":3},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Fire Attunement","cp":"681421c2350b5e00122d51ae","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Fire (One-Handed)","rd":"Staff of Fire (One-Handed) Attack","cp":"681421c2350b5e00122d51ae","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Fire (Two-Handed)","rd":"Staff of Fire (Two-Handed) Attack","cp":"681421c2350b5e00122d51ae","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Fire Fire Resistance","cp":"681421c2350b5e00122d51ae","damage":"Fire","defense":"Resistance"},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Fire Charges","cp":"681421c2350b5e00122d51ae","vl":10},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Fire (One-Handed) Damage","cp":"681421c2350b5e00122d51ae","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Fire (Two-Handed) Damage","cp":"681421c2350b5e00122d51ae","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands","cp":"66e08fdbdc69af0030fa5fdd","dn":"A thin sheet of flames shoots forth from you. Each creature in a 15-foot Cone makes a Dexterity saving throw, taking 3d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the Cone that aren't being worn or carried start burning."},{"id":"c1-c2-c2","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c2-c3","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","cp":"66e0902cdc69af0030fa730d","dn":"You create a wall of fire on a solid surface within range. You can make the wall up to 60 feet long, 20 feet high, and 1 foot thick, or a ringed wall up to 20 feet in diameter, 20 feet high, and 1 foot thick. The wall is opaque and lasts for the duration.\nWhen the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there. The other side of the wall deals no damage."},{"id":"c1-c2-c1-c1","tp":"Ak","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands","rd":"Burning Hands Attack","cp":"66e08fdbdc69af0030fa5fdd","aT":"Action","dn":"A thin sheet of flames shoots forth from you. Each creature in a 15-foot Cone makes a Dexterity saving throw, taking 3d6 Fire damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 3d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c2-c2-c1","tp":"Ak","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c2-c3-c1","tp":"Ak","pt":"c1-c2-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","rd":"Wall of Fire Attack","cp":"66e0902cdc69af0030fa730d","aT":"Action","dn":"When the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d8 Fire damage.","onSucceed":"Half damage.","saveAbility":"Dexterity"}},{"id":"c1-c2-c1-c1-c1","tp":"dm","pt":"c1-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands Damage","cp":"66e08fdbdc69af0030fa5fdd","ay":"none","dT":"Fire","die":"d6","ct":3,"oC":false},{"id":"c1-c2-c2-c1-c1","tp":"dm","pt":"c1-c2-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c2-c3-c1-c1","tp":"dm","pt":"c1-c2-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Damage","cp":"66e0902cdc69af0030fa730d","ay":"none","dT":"Fire","die":"d8","ct":5,"oC":false},{"id":"c1-c2-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands Damage Upcast","cp":"66e08fdbdc69af0030fa5fdd","vl":1},{"id":"c1-c2-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1},{"id":"c1-c2-c3-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c3-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Initial Damage Upcast","cp":"66e0902cdc69af0030fa730d","vl":1}]}},{"nm":"Staff of Frost","blueprint":{"nm":"Staff of Frost","item":{"tp":"Item","cp":"681421bcc19cbf0012acd446","dn":"Requires Attunement by a Druid, Sorcerer, Warlock, or Wizard\nYou have Resistance to Cold damage while you hold this staff.\nSpells. The staff has 10 charges. While holding the staff, you can cast one of the following spells using your spell save DC: Cone of Cold (5 charges), Ice Storm (4 charges), Fog Cloud (1 charge), Wall of Ice (4 charges).\nRegaining Charges. The staff regains 1d6 + 4 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff turns to water and is destroyed.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":6,"Defense":1,"Resource":1,"dm":7,"Spell":4,"Upcasting":20,"Condition":1},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Frost Attunement","cp":"681421bcc19cbf0012acd446","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Frost (One-Handed)","rd":"Staff of Frost Attack (One-handed) Attack","cp":"681421bcc19cbf0012acd446","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Frost (Two-Handed)","rd":"Staff of Frost Attack (Two-handed) Attack","cp":"681421bcc19cbf0012acd446","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Frost Cold Resistance","cp":"681421bcc19cbf0012acd446","damage":"Cold","defense":"Resistance"},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Frost Charges","cp":"681421bcc19cbf0012acd446","vl":10},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Frost (One-Handed) Damage","cp":"681421bcc19cbf0012acd446","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Frost (Two-Handed) Damage","cp":"681421bcc19cbf0012acd446","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold","cp":"66e09001dc69af0030fa68ef","dn":"You unleash a blast of cold air. Each creature in a 60-foot Cone originating from you makes a Constitution saving throw, taking 8d8 Cold damage on a failed save or half as much damage on a successful one. A creature killed by this spell becomes a frozen statue until it thaws."},{"id":"c1-c2-c2","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud","cp":"66e07b4528743a0012c861ef","dn":"You create a 20-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c3","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm","cp":"66e08faadc69af0030fa5447","dn":"Hail falls in a 20-foot-radius, 40-foot-high Cylinder centered on a point within range. Each creature in the Cylinder makes a Dexterity saving throw. A creature takes 2d10 Bludgeoning damage and 4d6 Cold damage on a failed save or half as much damage on a successful one.\nHailstones turn ground in the Cylinder into Difficult Terrain until the end of your next turn."},{"id":"c1-c2-c4","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice","cp":"66e08f5bdc69af0030fa39d0","dn":"You create a wall of ice on a solid surface within range. You can form it into a hemispherical dome or a globe with a radius of up to 10 feet, or you can shape a flat surface made up of ten 10-foot-square panels. Each panel must be contiguous with another panel. In any form, the wall is 1 foot thick and lasts for the duration.\nIf the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side) and makes a Dexterity saving throw, taking 10d6 Cold damage on a failed save or half as much damage on a successful one.\nThe wall is an object that can be damaged and thus breached. It has AC 12 and 30 Hit Points per 10-foot section, and it has Immunity to Cold, Poison, and Psychic damage and Vulnerability to Fire damage. Reducing a 10-foot section of wall to 0 Hit Points destroys it and leaves behind a sheet of frigid air in the space the wall occupied.\nA creature moving through the sheet of frigid air for the first time on a turn makes a Constitution saving throw, taking 5d6 Cold damage on a failed save or half as much damage on a successful one."},{"id":"c1-c2-c1-c1","tp":"Ak","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold","rd":"Cone of Cold Attack","cp":"66e09001dc69af0030fa68ef","aT":"Action","dn":"You unleash a blast of cold air. Each creature in a 60-foot Cone originating from you makes a Constitution saving throw, taking 8d8 Cold damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 8d8 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Constitution"}},{"id":"c1-c2-c2-c1","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 2","cp":"66e07b4528743a0012c861ef","vl":"You create a 40-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c2","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 3","cp":"66e07b4528743a0012c861ef","vl":"You create a 60-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c3","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 4","cp":"66e07b4528743a0012c861ef","vl":"You create a 80-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c4","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 5","cp":"66e07b4528743a0012c861ef","vl":"You create a 100-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c5","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 6","cp":"66e07b4528743a0012c861ef","vl":"You create a 120-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c6","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 7","cp":"66e07b4528743a0012c861ef","vl":"You create a 140-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c7","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 8","cp":"66e07b4528743a0012c861ef","vl":"You create a 160-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c8","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud Description Upcast 9","cp":"66e07b4528743a0012c861ef","vl":"You create a 180-foot-radius Sphere of fog centered on a point within range. The Sphere is Heavily Obscured. It lasts for the duration or until a strong wind (such as one created by Gust of Wind) disperses it."},{"id":"c1-c2-c2-c9","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 2","cp":"66e07b4528743a0012c861ef","vl":"40 ft radius"},{"id":"c1-c2-c2-c10","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 3","cp":"66e07b4528743a0012c861ef","vl":"60 ft radius"},{"id":"c1-c2-c2-c11","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 4","cp":"66e07b4528743a0012c861ef","vl":"80 ft radius"},{"id":"c1-c2-c2-c12","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 5","cp":"66e07b4528743a0012c861ef","vl":"100 ft radius"},{"id":"c1-c2-c2-c13","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 6","cp":"66e07b4528743a0012c861ef","vl":"120 ft radius"},{"id":"c1-c2-c2-c14","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 7","cp":"66e07b4528743a0012c861ef","vl":"140 ft radius"},{"id":"c1-c2-c2-c15","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 8","cp":"66e07b4528743a0012c861ef","vl":"160 ft radius"},{"id":"c1-c2-c2-c16","tp":"Upcasting","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fog Cloud AOE Size Upcast 9","cp":"66e07b4528743a0012c861ef","vl":"180 ft radius"},{"id":"c1-c2-c3-c1","tp":"Ak","pt":"c1-c2-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm","rd":"Ice Storm Attack","cp":"66e08faadc69af0030fa5447","aT":"Action","dn":"Hail falls in a 20-foot-radius, 40-foot-high Cylinder centered on a point within range. Each creature in the Cylinder makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 2d10 Bludgeoning damage and 4d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c2-c4-c1","tp":"Ak","pt":"c1-c2-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice - On Creation","rd":"Wall of Ice Creation Attack","cp":"66e08f5bdc69af0030fa39d0","aT":"Action","dn":"If the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side) and makes a Dexterity saving throw, taking 10d6 Cold damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 10d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c2-c4-c2","tp":"Condition","pt":"c1-c2-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice","rd":"Wall of Ice Condition","cp":"66e08f5bdc69af0030fa39d0","dn":"The wall is an object that can be damaged and thus breached. It has AC 12 and 30 Hit Points per 10-foot section, and it has Immunity to Cold, Poison, and Psychic damage and Vulnerability to Fire damage. Reducing a 10-foot section of wall to 0 Hit Points destroys it and leaves behind a sheet of frigid air in the space the wall occupied."},{"id":"c1-c2-c4-c3","tp":"Ak","pt":"c1-c2-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice - Frigid Air","rd":"Wall of Ice Frigid Air Attack","cp":"66e08f5bdc69af0030fa39d0","aT":"Action","dn":"Reducing a 10-foot section of wall to 0 Hit Points destroys it and leaves behind a sheet of frigid air in the space the wall occupied. A creature moving through the sheet of frigid air for the first time on a turn makes a Constitution saving throw, taking 5d6 Cold damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Constitution"}},{"id":"c1-c2-c1-c1-c1","tp":"dm","pt":"c1-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold Damage","cp":"66e09001dc69af0030fa68ef","ay":"none","dT":"Cold","die":"d8","ct":8,"oC":false},{"id":"c1-c2-c3-c1-c1","tp":"dm","pt":"c1-c2-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Bludgeoning Damage","cp":"66e08faadc69af0030fa5447","ay":"none","dT":"Bludgeoning","die":"d10","ct":2,"oC":false},{"id":"c1-c2-c3-c1-c2","tp":"dm","pt":"c1-c2-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Cold Damage","cp":"66e08faadc69af0030fa5447","ay":"none","dT":"Cold","die":"d6","ct":4,"oC":false},{"id":"c1-c2-c4-c1-c1","tp":"dm","pt":"c1-c2-c4-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Creation Damage","cp":"66e08f5bdc69af0030fa39d0","ay":"none","dT":"Cold","die":"d6","ct":10,"oC":false},{"id":"c1-c2-c4-c3-c1","tp":"dm","pt":"c1-c2-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Frigid Air Damage","cp":"66e08f5bdc69af0030fa39d0","ay":"none","dT":"Cold","die":"d6","ct":5,"oC":false},{"id":"c1-c2-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold Damage Upcast","cp":"66e09001dc69af0030fa68ef","vl":1},{"id":"c1-c2-c3-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c3-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Bludgeoning Damage Upcast","cp":"66e08faadc69af0030fa5447","vl":1},{"id":"c1-c2-c4-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c4-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Creation Damage Upcast","cp":"66e08f5bdc69af0030fa39d0","vl":2},{"id":"c1-c2-c4-c3-c1-c1","tp":"Upcasting","pt":"c1-c2-c4-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Frigid Air Damage Upcast","cp":"66e08f5bdc69af0030fa39d0","vl":1}]}},{"nm":"Staff of Healing","blueprint":{"nm":"Staff of Healing","item":{"tp":"Item","cp":"681421b4c19cbf0012acd40a","dn":"Requires Attunement by a Bard, Cleric, or Druid\nThis staff has 10 charges. While holding the staff, you can cast one of the following spells from it, using your spellcasting ability modifier: Cure Wounds (1 charge per spell level, maximun 4 charges for a level 4 spell), Lesser Restoration (2 charges), Mass Cure Wounds (5 charges).\nRegaining Charges. The staff regains 1d6 + 4 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff vanishes in a flash of light, lost forever.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":2,"Spell":3,"Healing":2,"Action":1,"Upcasting":2},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Healing Attunement","cp":"681421b4c19cbf0012acd40a","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Healing (One-Handed)","rd":"Staff of Healing (One-Handed) Attack","cp":"681421b4c19cbf0012acd40a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Healing (Two-Handed)","rd":"Staff of Healing (Two-Handed) Attack","cp":"681421b4c19cbf0012acd40a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Healing Charges","cp":"681421b4c19cbf0012acd40a","vl":10},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Healing (One-Handed) Damage","cp":"681421b4c19cbf0012acd40a","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Healing (Two-Handed) Damage","cp":"681421b4c19cbf0012acd40a","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cure Wounds","cp":"66e08f5cdc69af0030fa3a06","dn":"A creature you touch regains a number of Hit Points equal to 2d8 plus your spellcasting ability modifier."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lesser Restoration","cp":"66e08fe5dc69af0030fa622f","dn":"You touch a creature and end one condition on it: Blinded, Deafened, Paralyzed, or Poisoned."},{"id":"c1-c1-c3","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mass Cure Wounds","cp":"66e08f51dc69af0030fa3765","dn":"A wave of healing energy washes out from a point you can see within range. Choose up to six creatures in a 30-foot-radius Sphere centered on that point. Each target regains Hit Points equal to 5d8 plus your spellcasting ability modifier."},{"id":"c1-c1-c1-c1","tp":"Healing","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cure Wounds Healing","cp":"66e08f5cdc69af0030fa3a06"},{"id":"c1-c1-c2-c1","tp":"Action","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lesser Restoration","rd":"Lesser Restoration Bonus Action","cp":"66e08fe5dc69af0030fa622f","dn":"You touch a creature and end one condition on it: Blinded, Deafened, Paralyzed, or Poisoned."},{"id":"c1-c1-c3-c1","tp":"Healing","pt":"c1-c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mass Cure Wounds Healing","cp":"66e08f51dc69af0030fa3765"},{"id":"c1-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cure Wounds Healing Upcast","cp":"66e08f5cdc69af0030fa3a06","vl":2},{"id":"c1-c1-c3-c1-c1","tp":"Upcasting","pt":"c1-c1-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mass Cure Wounds Healing Upcast","cp":"66e08f51dc69af0030fa3765","vl":1}]}},{"nm":"Staff of Power","blueprint":{"nm":"Staff of Power","item":{"tp":"Item","cp":"68d550c04610250012fd316d","dn":"Requires Attunement by a Sorcerer, Warlock, or Wizard\nThis staff has 20 charges and can be wielded as a magic Quarterstaff that grants a +2 bonus to attack rolls and damage rolls made with it. While holding it, you gain a +2 bonus to Armor Class, saving throws, and spell attack rolls.\nSpells. While holding the staff, you can cast one of the following spells from it, using your spell save DC: Cone of Cold (5 charges), Fireball (level 5 version, 5 charges), Globe of Invulnerability (6 charges), Hold Monster (5 charges), Levitate (2 charges), Lightning Bolt (level 5 version, 5 charges), Magic Missile (1 charge), Ray of Enfeeblement (1 charge, Wall of Force (5 charges).\nRegaining Charges. The staff regains 2d8 + 4 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff retains its +2 bonus to attack rolls and damage rolls but loses all other properties. On a 20, the staff regains 1d8 + 2 charges.\nRetributive Strike. You can take a Magic action to break the staff over your knee or against a solid surface. The staff is destroyed and releases its magic in an explosion that fills a 30-foot Emanation originating from itself. You have a 50 percent chance to instantly travel to a random plane of existence, avoiding the explosion. If you fail to avoid the effect, you take Force damage equal to 16 times the number of charges in the staff. Each other creature in the area makes a DC 17 Dexterity saving throw. On a failed save, a creature takes Force damage equal to 4 times the number of charges in the staff. On a successful save, a creature takes half as much damage.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":10,"AC":1,"RB":2,"Resource":1,"Action":2,"dm":6,"Spell":9,"Upcasting":11,"Condition":2,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Power Attunement","cp":"68d550c04610250012fd316d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Power (One-Handed)","rd":"Staff of Power (One-Handed) Attack","cp":"68d550c04610250012fd316d","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Power (Two-Handed)","rd":"Staff of Power (Two-Handed) Attack","cp":"68d550c04610250012fd316d","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Power AC Bonus","cp":"68d550c04610250012fd316d","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Power Spell Bonus","cp":"68d550c04610250012fd316d","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":2,"dC":1,"tR":false},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Power Saving Throw Bonus","cp":"68d550c04610250012fd316d","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":2,"dC":1,"tR":false},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Power Charges","cp":"68d550c04610250012fd316d","vl":20},{"id":"c1-c5","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Retributive Strike","rd":"Staff of Power Retributive Strike Action","cp":"68d550c04610250012fd316d","dn":"You can take a Magic action to break the staff over your knee or against a solid surface."},{"id":"c1-c6","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Retributive Strike (Staff of Power)","rd":"Staff of Power Retributive Strike","cp":"68d550c04610250012fd316d","aT":"Action","dn":"You can take a Magic action to break the staff over your knee or against a solid surface. The staff is destroyed and releases its magic in an explosion that fills a 30-foot Emanation originating from itself. You have a 50 percent chance to instantly travel to a random plane of existence, avoiding the explosion. If you fail to avoid the effect, you take Force damage equal to 16 times the number of charges in the staff. Each other creature in the area makes a DC 17 Dexterity saving throw","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature takes Force damage equal to 4 times the number of charges in the staff.","onSucceed":"Half damage.","saveAbility":"Dexterity","saveFlat":17}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Power (One-Handed) Damage","cp":"68d550c04610250012fd316d","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Power (Two-Handed) Damage","cp":"68d550c04610250012fd316d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c4-c1","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold","cp":"66e09001dc69af0030fa68ef","dn":"You unleash a blast of cold air. Each creature in a 60-foot Cone originating from you makes a Constitution saving throw, taking 8d8 Cold damage on a failed save or half as much damage on a successful one. A creature killed by this spell becomes a frozen statue until it thaws."},{"id":"c1-c4-c2","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c4-c3","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Globe of Invulnerability","cp":"66e08fa5dc69af0030fa5303","dn":"An immobile, shimmering barrier appears in a 10-foot Emanation around you and remains for the duration.\nAny spell of level 5 or lower cast from outside the barrier can't affect anything within it. Such a spell can target creatures and objects within the barrier, but the spell has no effect on them. Similarly, the area within the barrier is excluded from areas of effect created by such spells."},{"id":"c1-c4-c4","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster","cp":"66e08fc8dc69af0030fa5b58","dn":"Choose a creature that you can see within range. The target must succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, the target repeats the save, ending the spell on itself on a success."},{"id":"c1-c4-c5","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Levitate","cp":"66e08fcfdc69af0030fa5d06","dn":"One creature or loose object of your choice that you can see within range rises vertically up to 20 feet and remains suspended there for the duration. The spell can levitate an object that weighs up to 500 pounds. An unwilling creature that succeeds on a Constitution saving throw is unaffected.\nThe target can move only by pushing or pulling against a fixed object or surface within reach (such as a wall or a ceiling), which allows it to move as if it were climbing. You can change the target's altitude by up to 20 feet in either direction on your turn. If you are the target, you can move up or down as part of your move. Otherwise, you can take a Magic action to move the target, which must remain within the spell's range.\nWhen the spell ends, the target floats gently to the ground if it is still aloft."},{"id":"c1-c4-c6","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt","cp":"66e07b5b28743a0012c8679e","dn":"A stroke of lightning forming a 100-foot-long, 5-foot-wide Line blasts out from you in a direction you choose. Each creature in the Line makes a Dexterity saving throw, taking 8d6 Lightning damage on a failed save or half as much damage on a successful one."},{"id":"c1-c4-c7","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missile","cp":"66e09013dc69af0030fa6d27","dn":"You create three glowing darts of magical force. Each dart strikes a creature of your choice that you can see within range. A dart deals 1d4 + 1 Force damage to its target. The darts all strike simultaneously, and you can direct them to hit one creature or several."},{"id":"c1-c4-c8","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ray of Enfeeblement","cp":"66e09018dc69af0030fa6e6b","dn":"A beam of enervating energy shoots from you toward a creature within range. The target must make a Constitution saving throw. On a successful save, the target has Disadvantage on the next attack roll it makes until the start of your next turn.\nOn a failed save, the target has Disadvantage on Strength-based D20 Tests for the duration. During that time, it also subtracts 1d8 from all its damage rolls. The target repeats the save at the end of each of its turns, ending the spell on a success."},{"id":"c1-c4-c9","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Force","cp":"66e08fc3dc69af0030fa5a14","dn":"An Invisible wall of force springs into existence at a point you choose within range. The wall appears in any orientation you choose, as a horizontal or vertical barrier or at an angle. It can be free floating or resting on a solid surface. You can form it into a hemispherical dome or a globe with a radius of up to 10 feet, or you can shape a flat surface made up of ten 10-foot-by-10-foot panels. Each panel must be contiguous with another panel. In any form, the wall is 1/4 inch thick and lasts for the duration. If the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side).\nNothing can physically pass through the wall. It is immune to all damage and can't be dispelled by Dispel Magic. A Disintegrate spell destroys the wall instantly, however. The wall also extends into the Ethereal Plane and blocks ethereal travel through the wall."},{"id":"c1-c4-c1-c1","tp":"Ak","pt":"c1-c4-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold","rd":"Cone of Cold Attack","cp":"66e09001dc69af0030fa68ef","aT":"Action","dn":"You unleash a blast of cold air. Each creature in a 60-foot Cone originating from you makes a Constitution saving throw, taking 8d8 Cold damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 8d8 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Constitution"}},{"id":"c1-c4-c2-c1","tp":"Ak","pt":"c1-c4-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c3-c1","tp":"Upcasting","pt":"c1-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Globe of Invulnerability Upcast 7","cp":"66e08fa5dc69af0030fa5303","vl":"An immobile, shimmering barrier appears in a 10-foot Emanation around you and remains for the duration.\nAny spell of level 6 or lower cast from outside the barrier can't affect anything within it. Such a spell can target creatures and objects within the barrier, but the spell has no effect on them. Similarly, the area within the barrier is excluded from areas of effect created by such spells."},{"id":"c1-c4-c3-c2","tp":"Upcasting","pt":"c1-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Globe of Invulnerability Upcast 8","cp":"66e08fa5dc69af0030fa5303","vl":"An immobile, shimmering barrier appears in a 10-foot Emanation around you and remains for the duration.\nAny spell of level 7 or lower cast from outside the barrier can't affect anything within it. Such a spell can target creatures and objects within the barrier, but the spell has no effect on them. Similarly, the area within the barrier is excluded from areas of effect created by such spells."},{"id":"c1-c4-c3-c3","tp":"Upcasting","pt":"c1-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Globe of Invulnerability Upcast 9","cp":"66e08fa5dc69af0030fa5303","vl":"An immobile, shimmering barrier appears in a 10-foot Emanation around you and remains for the duration.\nAny spell of level 8 or lower cast from outside the barrier can't affect anything within it. Such a spell can target creatures and objects within the barrier, but the spell has no effect on them. Similarly, the area within the barrier is excluded from areas of effect created by such spells."},{"id":"c1-c4-c3-c4","tp":"Condition","pt":"c1-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Globe of Invulnerability","rd":"Globe of Invulnerability Condition","cp":"66e08fa5dc69af0030fa5303","dn":"An immobile, shimmering barrier appears in a 10-foot Emanation around you and remains for the duration."},{"id":"c1-c4-c4-c1","tp":"Ak","pt":"c1-c4-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster","rd":"Hold Monster Attack","cp":"66e08fc8dc69af0030fa5b58","aT":"Action","rg":"90 feet","dn":"The target must succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, the target repeats the save, ending the spell on itself on a success.","ak":{"tp":"Spell Save"},"save":{"onFail":"Have the Paralyzed condition for the duration.","onSucceed":"Ends the spell.","saveAbility":"Wisdom"}},{"id":"c1-c4-c4-c2","tp":"Upcasting","pt":"c1-c4-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 6","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose two creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c4-c4-c3","tp":"Upcasting","pt":"c1-c4-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 7","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose three creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c4-c4-c4","tp":"Upcasting","pt":"c1-c4-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 8","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose four creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c4-c4-c5","tp":"Upcasting","pt":"c1-c4-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 9","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose five creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c4-c5-c1","tp":"Condition","pt":"c1-c4-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Levitate","rd":"Levitate Condition","cp":"66e08fcfdc69af0030fa5d06","dn":"One creature or loose object of your choice that you can see within range rises vertically up to 20 feet and remains suspended there for the duration. The spell can levitate an object that weighs up to 500 pounds."},{"id":"c1-c4-c5-c2","tp":"Ak","pt":"c1-c4-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Levitate - Unwilling Target","rd":"Levitate Attack","cp":"66e08fcfdc69af0030fa5d06","aT":"Action","rg":"60 ft","dn":"An unwilling creature that succeeds on a Constitution saving throw is unaffected.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target is levitated.","onSucceed":"No effect.","saveAbility":"Constitution"}},{"id":"c1-c4-c6-c1","tp":"Ak","pt":"c1-c4-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt","rd":"Lightning Bolt Attack","cp":"66e07b5b28743a0012c8679e","aT":"Action","dn":"A stroke of lightning forming a 100-foot-long, 5-foot-wide Line blasts out from you in a direction you choose. Each creature in the Line makes a Dexterity saving throw, taking 8d6 Lightning damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 8d6 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c7-c1","tp":"Ak","pt":"c1-c4-c7","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missile","rd":"Magic Missile Free Attack","cp":"66e09013dc69af0030fa6d27","aT":"Action","rg":"120 feet"},{"id":"c1-c4-c8-c1","tp":"Ak","pt":"c1-c4-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ray of Enfeeblement","rd":"Ray of Enfeeblement Attack","cp":"66e09018dc69af0030fa6e6b","aT":"Action","rg":"60 feet","dn":"The target must make a Constitution saving throw. On a successful save, the target has Disadvantage on the next attack roll it makes until the start of your next turn. On a failed save, the target has Disadvantage on Strength-based D20 Tests for the duration.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target has Disadvantage on Strength-based D20 Tests for the duration.","onSucceed":"Target has Disadvantage on the next attack roll it makes until the start of your next turn.","saveAbility":"Constitution"}},{"id":"c1-c4-c1-c1-c1","tp":"dm","pt":"c1-c4-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold Damage","cp":"66e09001dc69af0030fa68ef","ay":"none","dT":"Cold","die":"d8","ct":8,"oC":false},{"id":"c1-c4-c2-c1-c1","tp":"dm","pt":"c1-c4-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c4-c3-c4-c1","tp":"Defense","pt":"c1-c4-c3-c4","cascades":[{"ref":"c1-c4-c3-c4","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Globe of Invulnerability Spell Immunity","cp":"66e08fa5dc69af0030fa5303","damage":"Spells","defense":"Immunity","details":"Any spell of a level equal to or lower than that used to cast the Globe of Invulnerability can't affect anything within it."},{"id":"c1-c4-c5-c1-c1","tp":"Action","pt":"c1-c4-c5-c1","cascades":[{"ref":"c1-c4-c5-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Levitate - Move Target","rd":"Levitate Action","cp":"66e08fcfdc69af0030fa5d06","dn":"You can take a Magic action to move the target, which must remain within the spell's range."},{"id":"c1-c4-c6-c1-c1","tp":"dm","pt":"c1-c4-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt Damage","cp":"66e07b5b28743a0012c8679e","ay":"none","dT":"Lightning","die":"d6","ct":8,"oC":false},{"id":"c1-c4-c7-c1-c1","tp":"dm","pt":"c1-c4-c7-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missile Damage","cp":"66e09013dc69af0030fa6d27","ay":"none","dT":"Force","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c1-c4-c7-c1-c2","tp":"Upcasting","pt":"c1-c4-c7-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missle Upcast","cp":"66e09013dc69af0030fa6d27","vl":1},{"id":"c1-c4-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Cold Damage Upcast","cp":"66e09001dc69af0030fa68ef","vl":1},{"id":"c1-c4-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1},{"id":"c1-c4-c6-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c6-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt Damage Upcast","cp":"66e07b5b28743a0012c8679e","vl":1}]}},{"nm":"Staff of Striking","blueprint":{"nm":"Staff of Striking","item":{"tp":"Item","cp":"6744e49195192d0012ba494c","dn":"This staff can be wielded as a magic Quarterstaff that grants a +3 bonus to attack rolls and damage rolls made with it. The staff has 10 charges. When you hit with a melee attack using it, you can expend up to 3 charges. For each charge you expend, the target takes an extra 1d6 Force damage. Regaining Charges. The staff regains 1d6 + 4 ex - pended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff becomes a non - magical Staff.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"Resource":1,"Effect":3,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Striking Attunement","cp":"6744e49195192d0012ba494c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Striking (One-Handed)","rd":"Staff of Striking (One-Handed) Attack","cp":"6744e49195192d0012ba494c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Striking (Two-Handed)","rd":"Staff of Striking (Two-Handed) Attack","cp":"6744e49195192d0012ba494c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Striking Charges","cp":"6744e49195192d0012ba494c","vl":10},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Striking (1 Charge)","rd":"Staff of Striking 1 Charge Effect","cp":"6744e49195192d0012ba494c","cy":"[\"Damage\"]","dn":"When you hit with a melee attack using the Staff of Striking, you can expend 1 charge to deal an extra 1d6 Force damage to the target.","diceValue":"1d6","active":false},{"id":"c1-c3","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Striking (2 Charges)","rd":"Staff of Striking 2 Charges Effect","cp":"6744e49195192d0012ba494c","cy":"[\"Damage\"]","dn":"When you hit with a melee attack using the Staff of Striking, you can expend 2 charges to deal an extra 2d6 Force damage to the target.","diceValue":"2d6","active":false},{"id":"c1-c4","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Striking (3 Charges)","rd":"Staff of Striking 3 Charges Effect","cp":"6744e49195192d0012ba494c","cy":"[\"Damage\"]","dn":"When you hit with a melee attack using the Staff of Striking, you can expend 3 charges to deal an extra 3d6 Force damage to the target.","diceValue":"3d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Striking (One-Handed) Damage","cp":"6744e49195192d0012ba494c","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Striking (Two-Handed) Damage","cp":"6744e49195192d0012ba494c","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Staff of Swarming Insects","blueprint":{"nm":"Staff of Swarming Insects","item":{"tp":"Item","cp":"681421aac19cbf0012acd3ce","dn":"Requires Attunement by a Bard, Cleric, Druid, Sorcerer, Warlock, or Wizard\nThis staff has 10 charges.\nInsect Cloud. While holding the staff, you can take a Magic action and expend 1 charge to cause a swarm of harmless flying insects to fill a 30-foot Emanation originating from you. The insects remain for 10 minutes, making the area Heavily Obscured for creatures other than you. A strong wind (like that created by Gust of Wind) disperses the swarm and ends the effect.\nSpells. While holding the staff, you can cast one of the following spells from it, using your spell save DC and spell attack modifier: Giant Insect (4 charges), Insect Plague (5 charges).\nRegaining Charges. The staff regains 1d6 + 4 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, a swarm of insects consumes and destroys the staff, then disperses.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":3,"Action":1,"Spell":2,"Condition":2,"Upcasting":1},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Swarming Insects Attunement","cp":"681421aac19cbf0012acd3ce","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Swarming Insects (One-Handed)","rd":"Staff of Swarming Insects (One-Handed) Attack","cp":"681421aac19cbf0012acd3ce","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Swarming Insects (Two-Handed)","rd":"Staff of Swarming Insects (Two-Handed) Attack","cp":"681421aac19cbf0012acd3ce","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Swarming Insects Charges","cp":"681421aac19cbf0012acd3ce","vl":10},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Swarming Insects (One-Handed) Damage","cp":"681421aac19cbf0012acd3ce","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Swarming Insects (Two-Handed) Damage","cp":"681421aac19cbf0012acd3ce","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Insect Cloud (Staff of Swarming Insects","rd":"Staff of Swarming Insects - Insect Cloud Action","cp":"681421aac19cbf0012acd3ce","dn":"While holding the Staff of Swarming Insects, you can take a Magic action and expend 1 charge to cause a swarm of harmless flying insects to fill a 30-foot Emanation originating from you."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Giant Insect","cp":"66e09012dc69af0030fa6cf1","dn":"You summon a giant centipede, spider, or wasp (chosen when you cast the spell). It manifests in an unoccupied space you can see within range and uses the Giant Insect stat block. The form you choose determines certain details in its stat block. The creature disappears when it drops to 0 Hit Points or when the spell ends.\nThe creature is an ally to you and your allies. In combat, the creature shares your Initiative count, but it takes its turn immediately after yours. It obeys your verbal commands (no action required by you). If you don't issue any, it takes the Dodge action and uses its movement to avoid danger."},{"id":"c1-c1-c3","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Insect Plague","cp":"66e08fbddc69af0030fa58b5","dn":"Swarming locusts fill a 20-foot-radius Sphere centered on a point you choose within range. The Sphere remains for the duration, and its area is Lightly Obscured and Difficult Terrain.\nWhen the swarm appears, each creature in it makes a Constitution saving throw, taking 4d10 Piercing damage on a failed save or half as much damage on a successful one. A creature also makes this save when it enters the spell's area for the first time on a turn or ends its turn there. A creature makes this save only once per turn."},{"id":"c1-c1-c2-c1","tp":"Condition","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Giant Insect","rd":"Giant Insect Condition","cp":"66e09012dc69af0030fa6cf1","dn":"You summon a giant centipede, spider, or wasp (chosen when you cast the spell). It manifests in an unoccupied space you can see within range and uses the Giant Insect stat block."},{"id":"c1-c1-c3-c1","tp":"Condition","pt":"c1-c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Insect Plague","rd":"Insect Plague Condition","cp":"66e08fbddc69af0030fa58b5","dn":"Swarming locusts fill a 20-foot-radius Sphere centered on a point you choose within range. The Sphere remains for the duration, and its area is Lightly Obscured and Difficult Terrain."},{"id":"c1-c1-c3-c2","tp":"Ak","pt":"c1-c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Insect Plague","rd":"Insect Plague Attack","cp":"66e08fbddc69af0030fa58b5","aT":"Action","dn":"When the swarm appears, each creature in it makes a Constitution saving throw, taking 4d10 Piercing damage on a failed save or half as much damage on a successful one. A creature also makes this save when it enters the spell's area for the first time on a turn or ends its turn there. A creature makes this save only once per turn.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 4d10 Piercing damage.","onSucceed":"Half as much damage.","saveAbility":"Constitution"}},{"id":"c1-c1-c3-c2-c1","tp":"dm","pt":"c1-c1-c3-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Insect Plague Damage","cp":"66e08fbddc69af0030fa58b5","ay":"none","dT":"Piercing","die":"d10","ct":4,"oC":false},{"id":"c1-c1-c3-c2-c1-c1","tp":"Upcasting","pt":"c1-c1-c3-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Insect Plague Damage Upcast","cp":"66e08fbddc69af0030fa58b5","vl":1}]}},{"nm":"Staff of the Magi","blueprint":{"nm":"Staff of the Magi","item":{"tp":"Item","cp":"681421a3aa185e0012551b06","dn":"Requires Attunement by a Sorcerer, Warlock, or Wizard\nThis staff has 50 charges and can be wielded as a magic Quarterstaff that grants a +2 bonus to attack rolls and damage rolls made with it. While you hold it, you gain a +2 bonus to spell attack rolls.\nSpell Absorption. While holding the staff, you have Advantage on saving throws against spells. In addition, you can take a Reaction when another creature casts a spell that targets only you. If you do, the staff absorbs the magic of the spell, canceling its effect and gaining a number of charges equal to the absorbed spell's level. However, if doing so brings the staff's total number of charges above 50, the staff explodes as if you activated its Retributive Strike (see below).\nSpells. While holding the staff, you can cast one of the following spells from it, using your spell save DC: Arcane Lock (0 charges), Conjure Elemental (7 charges), Detect Magic (0 charges), Dispel Magic (3 charges), Enlarge / Reduce (0 charges), Fireball (level 7 version, 7 charges), Flaming Sphere (2 charges), Ice Storm (4 charges), Invisibility (2 charges), Knock (2 charges), Light (0 charges), Lightning Bolt (level 7 version, 7 charges), Mage Hand (0 charges), Passwall (5 charges), Plane Shift (7 charges), Protection from Evil and Good (0 charges), Telekinesis (5 charges), Wall of Fire (4 charges), Web (2 charges).\nRegaining Charges. The staff regains 4d6 + 2 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 20, the staff regains 1d12 + 1 charges.\nRetributive Strike. You can take a Magic action to break the staff over your knee or against a solid surface. The staff is destroyed and releases its magic in an explosion that fills a 30-foot Emanation originating from itself. You have a 50 percent chance to instantly travel to a random plane of existence, avoiding the explosion. If you fail to avoid the effect, you take Force damage equal to 16 times the number of charges in the staff. Each other creature in the area makes a DC 17 Dexterity saving throw. On a failed save, a creature takes Force damage equal to 6 times the number of charges in the staff. On a successful save, a creature takes half as much damage.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":15,"RB":5,"Action":6,"Resource":1,"dm":11,"Spell":19,"Condition":6,"Effect":2,"Defense":1,"Upcasting":7},"ch":[{"id":"c1","tp":"Am","nm":"Staff of the Magi Attunement","cp":"681421a3aa185e0012551b06","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of the Magi (One-Handed)","rd":"Staff of the Magi (One-Handed) Attack","cp":"681421a3aa185e0012551b06","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of the Magi (Two-Handed)","rd":"Staff of the Magi (Two-Handed) Attack","cp":"681421a3aa185e0012551b06","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of the Magi Spell Attack Bonus","cp":"681421a3aa185e0012551b06","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":2,"dC":1,"tR":false},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of the Magi Save Advantage vs Spells","cp":"681421a3aa185e0012551b06","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Spell Absorption (Staff of the Magi)","rd":"Staff of the Magi Spell Absorption Reaction","cp":"681421a3aa185e0012551b06","dn":"You can take a Reaction when another creature casts a spell that targets only you. If you do, the staff absorbs the magic of the spell, canceling its effect and gaining a number of charges equal to the absorbed spell's level."},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of the Magi Charges","cp":"681421a3aa185e0012551b06","vl":50},{"id":"c1-c5","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Retributive Strike","rd":"Staff of the Magi Retributive Strike Action","cp":"681421a3aa185e0012551b06","dn":"You can take a Magic action to break the staff over your knee or against a solid surface. The staff is destroyed and releases its magic in an explosion that fills a 30-foot Emanation originating from itself. You have a 50 percent chance to instantly travel to a random plane of existence, avoiding the explosion. If you fail to avoid the effect, you take Force damage equal to 16 times the number of charges in the staff. Each other creature in the area makes a DC 17 Dexterity saving throw. On a failed save, a creature takes Force damage equal to 6 times the number of charges in the staff. On a successful save, a creature takes half as much damage."},{"id":"c1-c6","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Retributive Strike (Staff of the Magi)","rd":"Staff of the Magi Retributive Strike","cp":"681421a3aa185e0012551b06","aT":"Action","dn":"You can take a Magic action to break the staff over your knee or against a solid surface. The staff is destroyed and releases its magic in an explosion that fills a 30-foot Emanation originating from itself. You have a 50 percent chance to instantly travel to a random plane of existence, avoiding the explosion. If you fail to avoid the effect, you take Force damage equal to 16 times the number of charges in the staff. Each other creature in the area makes a DC 17 Dexterity saving throw","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature takes Force damage equal to 4 times the number of charges in the staff.","onSucceed":"Half damage.","saveAbility":"Dexterity","saveFlat":17}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of the Magi (One-Handed) Damage","cp":"681421a3aa185e0012551b06","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of the Magi (Two-Handed) Damage","cp":"681421a3aa185e0012551b06","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c4-c1","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Arcane Lock","cp":"66e08ffbdc69af0030fa6775","dn":"You touch a closed door, window, gate, container, or hatch and magically lock it for the duration. This lock can't be unlocked by any nonmagical means. You and any creatures you designate when you cast the spell can open and close the object despite the lock. You can also set a password that, when spoken within 5 feet of the object, unlocks it for 1 minute."},{"id":"c1-c4-c2","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Conjure Elemental","cp":"66e08f9adc69af0030fa5060","dn":"You conjure a Large, intangible spirit from the Elemental Planes that appears in an unoccupied space within range. Choose the spirit's element, which determines its damage type: air (Lightning), earth (Thunder), fire (Fire), or water (Cold). The spirit lasts for the duration.\nWhenever a creature you can see enters the spirit's space or starts its turn within 5 feet of the spirit, you can force that creature to make a Dexterity saving throw if the spirit has no creature Restrained. On failed save, the target takes 8d8 damage of the spirit's type, and the target has the Restrained condition until the spell ends. At the start of each of its turns, the Restrained target repeats the save. On a failed save, the target takes 4d8 damage of the spirit's type. On a successful save, the target isn't Restrained by the spirit."},{"id":"c1-c4-c3","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Magic","cp":"66e07b5028743a0012c8649b","dn":"For the duration, you sense the presence of magical effects within 30 feet of yourself. If you sense such effects, you can take the Magic action to see a faint aura around any visible creature or object in the area that bears the magic, and if an effect was created by a spell, you learn the spell's school of magic.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead."},{"id":"c1-c4-c4","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dispel Magic","cp":"66e08fbadc69af0030fa57dd","dn":"Choose one creature, object, or magical effect within range. Any ongoing spell of level 3 or lower on the target ends. For each ongoing spell of level 4 or higher on the target, make an ability check using your spellcasting ability (DC 10 plus that spell's level). On a successful check, the spell ends."},{"id":"c1-c4-c5","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Enlarge/Reduce","rd":"Enlarge Reduce","cp":"66e09008dc69af0030fa6a84","dn":"For the duration, the spell enlarges or reduces a creature or an object you can see within range (see the chosen effect below). A targeted object must be neither worn nor carried. If the target is an unwilling creature, it can make a Constitution saving throw. On a successful save, the spell has no effect.\nEverything that a targeted creature is wearing and carrying changes size with it. Any item it drops returns to normal size at once. A thrown weapon or piece of ammunition returns to normal size immediately after it hits or misses a target.\nEnlarge. The target's size increases by one category-from Medium to Large, for example. The target also has Advantage on Strength checks and Strength saving throws. The target's attacks with its enlarged weapons or Unarmed Strikes deal an extra 1d4 damage on a hit.\nReduce. The target's size decreases by one category-from Medium to Small, for example. The target also has Disadvantage on Strength checks and Strength saving throws. The target's attacks with its reduced weapons or Unarmed Strikes deal 1d4 less damage on a hit (this can't reduce the damage below 1)."},{"id":"c1-c4-c6","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c4-c7","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flaming Sphere","cp":"66e08fdadc69af0030fa5f71","dn":"You create a 5-foot-diameter sphere of fire in an unoccupied space on the ground within range. It lasts for the duration. Any creature that ends its turn within 5 feet of the sphere makes a Dexterity saving throw, taking 2d6 Fire damage on a failed save or half as much damage on a successful one.\nAs a Bonus Action, you can move the sphere up to 30 feet, rolling it along the ground. If you move the sphere into a creature's space, that creature makes the save against the sphere, and the sphere stops moving for the turn.\nWhen you move the sphere, you can direct it over barriers up to 5 feet tall and jump it across pits up to 10 feet wide. Flammable objects that aren't being worn or carried start burning if touched by the sphere, and it sheds Bright Light in a 20-foot radius and Dim Light for an additional 20 feet."},{"id":"c1-c4-c8","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm","cp":"66e08faadc69af0030fa5447","dn":"Hail falls in a 20-foot-radius, 40-foot-high Cylinder centered on a point within range. Each creature in the Cylinder makes a Dexterity saving throw. A creature takes 2d10 Bludgeoning damage and 4d6 Cold damage on a failed save or half as much damage on a successful one.\nHailstones turn ground in the Cylinder into Difficult Terrain until the end of your next turn."},{"id":"c1-c4-c9","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Invisibility","cp":"66e09011dc69af0030fa6cbb","dn":"A creature you touch has the Invisible condition until the spell ends. The spell ends early immediately after the target makes an attack roll, deals damage, or casts a spell."},{"id":"c1-c4-c10","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Knock","cp":"66e07b4928743a0012c86313","dn":"Choose an object that you can see within range. The object can be a door, a box, a chest, a set of manacles, a padlock, or another object that contains a mundane or magical means that prevents access.\nA target that is held shut by a mundane lock or that is stuck or barred becomes unlocked, unstuck, or unbarred. If the object has multiple locks, only one of them is unlocked.\nIf the target is held shut by Arcane Lock, that spell is suppressed for 10 minutes, during which time the target can be opened and closed.\nWhen you cast the spell, a loud knock, audible up to 300 feet away, emanates from the target."},{"id":"c1-c4-c11","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Light","cp":"66e08fc0dc69af0030fa593c","dn":"You touch one Large or smaller object that isn't being worn or carried by someone else. Until the spell ends, the object sheds Bright Light in a 20-foot radius and Dim Light for an additional 20 feet. The light can be colored as you like.\nCovering the object with something opaque blocks the light. The spell ends if you cast it again."},{"id":"c1-c4-c12","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt","cp":"66e07b5b28743a0012c8679e","dn":"A stroke of lightning forming a 100-foot-long, 5-foot-wide Line blasts out from you in a direction you choose. Each creature in the Line makes a Dexterity saving throw, taking 8d6 Lightning damage on a failed save or half as much damage on a successful one."},{"id":"c1-c4-c13","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mage Hand","cp":"66e08fe5dc69af0030fa6214","dn":"A spectral, floating hand appears at a point you choose within range. The hand lasts for the duration. The hand vanishes if it is ever more than 30 feet away from you or if you cast this spell again.\nWhen you cast the spell, you can use the hand to manipulate an object, open an unlocked door or container, stow or retrieve an item from an open container, or pour the contents out of a vial.\nAs a Magic action on your later turns, you can control the hand thus again. As part of that action, you can move the hand up to 30 feet.\nThe hand can't attack, activate magic items, or carry more than 10 pounds."},{"id":"c1-c4-c14","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Passwall","cp":"66e0901fdc69af0030fa7000","dn":"A passage appears at a point that you can see on a wooden, plaster, or stone surface (such as a wall, ceiling, or floor) within range and lasts for the duration. You choose the opening's dimensions: up to 5 feet wide, 8 feet tall, and 20 feet deep. The passage creates no instability in a structure surrounding it.\nWhen the opening disappears, any creatures or objects still in the passage created by the spell are safely ejected to an unoccupied space nearest to the surface on which you cast the spell."},{"id":"c1-c4-c15","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plane Shift","cp":"66e0901bdc69af0030fa6f0d","dn":"You and up to eight willing creatures who link hands in a circle are transported to a different plane of existence. You can specify a target destination in general terms, such as the City of Brass on the Elemental Plane of Fire or the palace of Dispater on the second level of the Nine Hells, and you appear in or near that destination, as determined by the DM.\nAlternatively, if you know the sigil sequence of a teleportation circle on another plane of existence, this spell can take you to that circle. If the teleportation circle is too small to hold all the creatures you transported, they appear in the closest unoccupied spaces next to the circle."},{"id":"c1-c4-c16","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Protection from Evil and Good","cp":"66e08f57dc69af0030fa38f8","dn":"Until the spell ends, one willing creature you touch is protected against creatures that are Aberrations, Celestials, Elementals, Fey, Fiends, or Undead. The protection grants several benefits. Creatures of those types have Disadvantage on attack rolls against the target. The target also can't be possessed by or gain the Charmed or Frightened conditions from them. If the target is already possessed, Charmed, or Frightened by such a creature, the target has Advantage on any new saving throw against the relevant effect."},{"id":"c1-c4-c17","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis","cp":"66e08fd2dc69af0030fa5d8b","dn":"You gain the ability to move or manipulate creatures or objects by thought. When you cast the spell and as a Magic action on your later turns before the spell ends, you can exert your will on one creature or object that you can see within range, causing the appropriate effect below. You can affect the same target round after round or choose a new one at any time. If you switch targets, the prior target is no longer affected by the spell.\nCreature. You can try to move a Huge or smaller creature. The target must succeed on a Strength saving throw, or you move it up to 30 feet in any direction within the spell's range. Until the end of your next turn, the creature has the Restrained condition, and if you lift it into the air, it is suspended there. It falls at the end of your next turn unless you use this option on it again and it fails the save.\nObject. You can try to move a Huge or smaller object. If the object isn't being worn or carried, you automatically move it up to 30 feet in any direction within the spell's range.\nIf the object is worn or carried by a creature, that creature must succeed on a Strength saving throw, or you pull the object away and move it up to 30 feet in any direction within the spell's range.\nYou can exert fine control on objects with your telekinetic grip, such as manipulating a simple tool, opening a door or a container, stowing or retrieving an item from an open container, or pouring the contents from a vial."},{"id":"c1-c4-c18","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","cp":"66e0902cdc69af0030fa730d","dn":"You create a wall of fire on a solid surface within range. You can make the wall up to 60 feet long, 20 feet high, and 1 foot thick, or a ringed wall up to 20 feet in diameter, 20 feet high, and 1 foot thick. The wall is opaque and lasts for the duration.\nWhen the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there. The other side of the wall deals no damage."},{"id":"c1-c4-c19","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web","cp":"66e08f54dc69af0030fa3820","dn":"You conjure a mass of sticky webbing at a point within range. The webs fill a 20-foot Cube there for the duration. The webs are Difficult Terrain, and the area within them is Lightly Obscured.\nIf the webs aren't anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet.\nThe first time a creature enters the webs on a turn or starts its turn there, it must succeed on a Dexterity saving throw or have the Restrained condition while in the webs or until it breaks free.\nA creature Restrained by the webs can take an action to make a Strength (Athletics) check against your spell save DC. If it succeeds, it is no longer Restrained.\nThe webs are flammable. Any 5-foot Cube of webs exposed to fire burns away in 1 round, dealing 2d4 Fire damage to any creature that starts its turn in the fire."},{"id":"c1-c4-c2-c1","tp":"Ak","pt":"c1-c4-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Elemental Inital Attack","rd":"Conjure Elemental Initial Attack","cp":"66e08f9adc69af0030fa5060","aT":"Action","dn":"Whenever a creature you can see enters the spirit's space or starts its turn within 5 feet of the spirit, you can force that creature to make a Dexterity saving throw if the spirit has no creature Restrained.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target takes 8d8 damage of the spirit's type, and has the Restrained condition until the spell ends or a successful save.","onSucceed":"Target isn't Restrained by the spirit.","saveAbility":"Dexterity"}},{"id":"c1-c4-c2-c2","tp":"Ak","pt":"c1-c4-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Elemental Restrained Attack","rd":"Conjure Elemental Restrained Attack","cp":"66e08f9adc69af0030fa5060","aT":"Action","dn":"At the start of each of its turns, the Restrained target repeats the save. On a failed save, the target takes 4d8 damage of the spirit's type. On a successful save, the target isn't Restrained by the spirit.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target takes 4d8 damage of the spirit's type, and has the Restrained condition until the spell ends or a successful save.","onSucceed":"Target isn't Restrained by the spirit.","saveAbility":"Dexterity"}},{"id":"c1-c4-c3-c1","tp":"Condition","pt":"c1-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Magic Spell","rd":"Detect Magic Condition","cp":"66e07b5028743a0012c8649b","dn":"For the duration, you sense the presence of magical effects within 30 feet of yourself."},{"id":"c1-c4-c5-c1","tp":"Ak","pt":"c1-c4-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Enlarge Reduce Unwilling Target","rd":"Enlarge Reduce Unwilling Target Attack","cp":"66e09008dc69af0030fa6a84","aT":"Action","dn":"If the target is an unwilling creature, it can make a Constitution saving throw. On a successful save, the spell has no effect.","ak":{"tp":"Spell Save"},"save":{"onSucceed":"Has no effect.","saveAbility":"Constitution"}},{"id":"c1-c4-c5-c2","tp":"Condition","pt":"c1-c4-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Enlarged Spell","rd":"Enlarged Condition","cp":"66e09008dc69af0030fa6a84","dn":"The target's size increases by one category-from Medium to Large, for example. The target also has Advantage on Strength checks and Strength saving throws. The target's attacks with its enlarged weapons or Unarmed Strikes deal an extra 1d4 damage on a hit."},{"id":"c1-c4-c5-c3","tp":"Condition","pt":"c1-c4-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Reduced Spell","rd":"Reduced Condition","cp":"66e09008dc69af0030fa6a84","dn":"The target's size decreases by one category-from Medium to Small, for example. The target also has Disadvantage on Strength checks and Strength saving throws. The target's attacks with its reduced weapons or Unarmed Strikes deal 1d4 less damage on a hit (this can't reduce the damage below 1)."},{"id":"c1-c4-c6-c1","tp":"Ak","pt":"c1-c4-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c7-c1","tp":"Condition","pt":"c1-c4-c7","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flaming Sphere","rd":"Flaming Sphere Condition","cp":"66e08fdadc69af0030fa5f71","dn":"You create a 5-foot-diameter sphere of fire in an unoccupied space on the ground within range. It lasts for the duration."},{"id":"c1-c4-c7-c2","tp":"Ak","pt":"c1-c4-c7","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flaming Sphere","rd":"Flaming Sphere Attack","cp":"66e08fdadc69af0030fa5f71","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 2d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c8-c1","tp":"Ak","pt":"c1-c4-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm","rd":"Ice Storm Attack","cp":"66e08faadc69af0030fa5447","aT":"Action","dn":"Hail falls in a 20-foot-radius, 40-foot-high Cylinder centered on a point within range. Each creature in the Cylinder makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 2d10 Bludgeoning damage and 4d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c12-c1","tp":"Ak","pt":"c1-c4-c12","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt","rd":"Lightning Bolt Attack","cp":"66e07b5b28743a0012c8679e","aT":"Action","dn":"A stroke of lightning forming a 100-foot-long, 5-foot-wide Line blasts out from you in a direction you choose. Each creature in the Line makes a Dexterity saving throw, taking 8d6 Lightning damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 8d6 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c13-c1","tp":"Condition","pt":"c1-c4-c13","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mage Hand","rd":"Mage Hand Condition","cp":"66e08fe5dc69af0030fa6214","dn":"A spectral, floating hand appears at a point you choose within range. The hand lasts for the duration. The hand vanishes if it is ever more than 30 feet away from you or if you cast this spell again."},{"id":"c1-c4-c16-c1","tp":"Condition","pt":"c1-c4-c16","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Protection from Evil and Good","rd":"Protection from Evil and Good Condition","cp":"66e08f57dc69af0030fa38f8","dn":"Until the spell ends, one willing creature you touch is protected against creatures that are Aberrations, Celestials, Elementals, Fey, Fiends, or Undead. The protection grants several benefits."},{"id":"c1-c4-c17-c1","tp":"Action","pt":"c1-c4-c17","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis","rd":"Telekinesis Action","cp":"66e08fd2dc69af0030fa5d8b","dn":"When you cast the spell and as a Magic action on your later turns before the spell ends, you can exert your will on one creature or object that you can see within range, causing the appropriate effect."},{"id":"c1-c4-c17-c2","tp":"Ak","pt":"c1-c4-c17","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis - Move Creature Attempt","rd":"Telekinesis Move Creature Attack","cp":"66e08fd2dc69af0030fa5d8b","aT":"Action","dn":"You can try to move a Huge or smaller creature. The target must succeed on a Strength saving throw, or you move it up to 30 feet in any direction within the spell's range.","ak":{"tp":"Spell Save"},"save":{"onFail":"Move it up to 30 feet in any direction within the spell's range. Until the end of your next turn, the creature has the Restrained condition, and if you lift it into the air, it is suspended there. It falls at the end of your next turn unless you use this option on it again and it fails the save.","saveAbility":"Strength"}},{"id":"c1-c4-c17-c3","tp":"Ak","pt":"c1-c4-c17","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis - Move Object On Creature","rd":"Telekinesis Move Object On Creature Attack","cp":"66e08fd2dc69af0030fa5d8b","aT":"Action","dn":"If the object is worn or carried by a creature, that creature must succeed on a Strength saving throw, or you pull the object away and move it up to 30 feet in any direction within the spell's range.","ak":{"tp":"Spell Save"},"save":{"onFail":"Pull the object away and move it up to 30 feet in any direction within the spell's range.","saveAbility":"Strength"}},{"id":"c1-c4-c18-c1","tp":"Ak","pt":"c1-c4-c18","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","rd":"Wall of Fire Attack","cp":"66e0902cdc69af0030fa730d","aT":"Action","dn":"When the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d8 Fire damage.","onSucceed":"Half damage.","saveAbility":"Dexterity"}},{"id":"c1-c4-c19-c1","tp":"Ak","pt":"c1-c4-c19","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web","rd":"Web Attack","cp":"66e08f54dc69af0030fa3820","aT":"Action","dn":"The first time a creature enters the webs on a turn or starts its turn there, it must succeed on a Dexterity saving throw or have the Restrained condition while in the webs or until it breaks free.","ak":{"tp":"Spell Save"},"save":{"onFail":"Has the Restrained condition while in the webs or until it breaks free.","saveAbility":"Dexterity"}},{"id":"c1-c4-c19-c2","tp":"Ak","pt":"c1-c4-c19","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web - On Fire","rd":"Web Fire Attack","cp":"66e08f54dc69af0030fa3820","aT":"Free Action","dn":"The webs are flammable. Any 5-foot Cube of webs exposed to fire burns away in 1 round, dealing 2d4 Fire damage to any creature that starts its turn in the fire."},{"id":"c1-c4-c2-c1-c1","tp":"dm","pt":"c1-c4-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Conjure Elemental Initial Damage","cp":"66e08f9adc69af0030fa5060","ay":"none","die":"d8","ct":8,"oC":false},{"id":"c1-c4-c2-c2-c1","tp":"dm","pt":"c1-c4-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Conjure Elemental Restrained Damage","cp":"66e08f9adc69af0030fa5060","ay":"none","die":"d8","ct":4,"oC":false},{"id":"c1-c4-c3-c1-c1","tp":"Action","pt":"c1-c4-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c3-c1","actions":["Activate"]}],"nm":"Detect Magic Show Aura","rd":"Detect Magic Action","cp":"66e07b5028743a0012c8649b","dn":"You can take the Magic action to see a faint aura around any visible creature or object in the area that bears the magic, and if an effect was created by a spell, you learn the spell's school of magic."},{"id":"c1-c4-c5-c2-c1","tp":"RB","pt":"c1-c4-c5-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c5-c2","actions":["Activate"]}],"nm":"Enlarged Strength Advantage","cp":"66e09008dc69af0030fa6a84","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Keep Highest","bN":"[\"Strength\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c4-c5-c2-c2","tp":"Effect","pt":"c1-c4-c5-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c5-c2","actions":["Activate"]}],"nm":"Enlarged Extra Damage","rd":"Enlarged Extra Damage Effect","cp":"66e09008dc69af0030fa6a84","cy":"[\"Damage\"]","dn":"The target's attacks with its enlarged weapons or Unarmed Strikes deal an extra 1d4 damage on a hit.","diceValue":"1d4","active":false},{"id":"c1-c4-c5-c3-c1","tp":"RB","pt":"c1-c4-c5-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c5-c3","actions":["Activate"]}],"nm":"Reduced Strength Disadvantage","cp":"66e09008dc69af0030fa6a84","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[\"Strength\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c4-c5-c3-c2","tp":"Effect","pt":"c1-c4-c5-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c5-c3","actions":["Activate"]}],"nm":"Reduced - Less Damage","rd":"Reduced Less Damage Effect","cp":"66e09008dc69af0030fa6a84","cy":"[\"Damage\"]","dn":"The target's attacks with its enlarged weapons or Unarmed Strikes deal an extra 1d4 damage on a hit.","diceValue":"-1d4","active":false},{"id":"c1-c4-c6-c1-c1","tp":"dm","pt":"c1-c4-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c4-c7-c1-c1","tp":"Action","pt":"c1-c4-c7-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c7-c1","actions":["Activate"]}],"nm":"Flaming Sphere - Move","rd":"Flaming Sphere Bonus Action","cp":"66e08fdadc69af0030fa5f71","dn":"As a Bonus Action, you can move the sphere up to 30 feet, rolling it along the ground. If you move the sphere into a creature's space, that creature makes the save against the sphere, and the sphere stops moving for the turn."},{"id":"c1-c4-c7-c2-c1","tp":"dm","pt":"c1-c4-c7-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flaming Sphere Damage","cp":"66e08fdadc69af0030fa5f71","ay":"none","dT":"Fire","die":"d6","ct":2,"oC":false},{"id":"c1-c4-c8-c1-c1","tp":"dm","pt":"c1-c4-c8-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Bludgeoning Damage","cp":"66e08faadc69af0030fa5447","ay":"none","dT":"Bludgeoning","die":"d10","ct":2,"oC":false},{"id":"c1-c4-c8-c1-c2","tp":"dm","pt":"c1-c4-c8-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Cold Damage","cp":"66e08faadc69af0030fa5447","ay":"none","dT":"Cold","die":"d6","ct":4,"oC":false},{"id":"c1-c4-c12-c1-c1","tp":"dm","pt":"c1-c4-c12-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt Damage","cp":"66e07b5b28743a0012c8679e","ay":"none","dT":"Lightning","die":"d6","ct":8,"oC":false},{"id":"c1-c4-c13-c1-c1","tp":"Action","pt":"c1-c4-c13-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c13-c1","actions":["Activate"]}],"nm":"Mage Hand","rd":"Mage Hand Action","cp":"66e08fe5dc69af0030fa6214","dn":"As a Magic action on your later turns, you can control the hand thus again. As part of that action, you can move the hand up to 30 feet."},{"id":"c1-c4-c16-c1-c1","tp":"Defense","pt":"c1-c4-c16-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c16-c1","actions":["Activate"]}],"nm":"Protection from Evil and Good Immunity","cp":"66e08f57dc69af0030fa38f8","condition":"Possessed, Charmed, or Frightened","defense":"Immunity","details":"by Aberrations, Celestials, Elementals, Fey, Fiends, or Undead."},{"id":"c1-c4-c16-c1-c2","tp":"RB","pt":"c1-c4-c16-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c16-c1","actions":["Activate"]}],"nm":"Protection from Evil and Good Advantage","cp":"66e08f57dc69af0030fa38f8","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c4-c18-c1-c1","tp":"dm","pt":"c1-c4-c18-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Damage","cp":"66e0902cdc69af0030fa730d","ay":"none","dT":"Fire","die":"d8","ct":5,"oC":false},{"id":"c1-c4-c19-c2-c1","tp":"dm","pt":"c1-c4-c19-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web Fire Damage","cp":"66e08f54dc69af0030fa3820","ay":"none","dT":"Fire","die":"d4","ct":2,"oC":false},{"id":"c1-c4-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Conjure Elemental Initial Damage Upcast","cp":"66e08f9adc69af0030fa5060","vl":1},{"id":"c1-c4-c2-c2-c1-c1","tp":"Upcasting","pt":"c1-c4-c2-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Conjure Elemental Restrained Damage Upcast","cp":"66e08f9adc69af0030fa5060","vl":1},{"id":"c1-c4-c6-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c6-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1},{"id":"c1-c4-c7-c2-c1-c1","tp":"Upcasting","pt":"c1-c4-c7-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flaming Sphere Damage Upcast","cp":"66e08fdadc69af0030fa5f71","vl":1},{"id":"c1-c4-c8-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c8-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Bludgeoning Damage Upcast","cp":"66e08faadc69af0030fa5447","vl":1},{"id":"c1-c4-c12-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c12-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt Damage Upcast","cp":"66e07b5b28743a0012c8679e","vl":1},{"id":"c1-c4-c18-c1-c1-c1","tp":"Upcasting","pt":"c1-c4-c18-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Initial Damage Upcast","cp":"66e0902cdc69af0030fa730d","vl":1}]}},{"nm":"Staff of the Python","blueprint":{"nm":"Staff of the Python","item":{"tp":"Item","cp":"6744e37d95192d0012ba0150","dn":"As a Magic action, you can throw this staff so that it lands in an unoccupied space within 10 feet of you, causing the staff to become a Giant Constrictor Snake in that space. The snake is under your control and shares your Initiative count, taking its turn immediately after yours. On your turn, you can mentally command the snake (no action required) if it is within 60 feet of you and you don't have the Incapacitated condition. You decide what action the snake takes and where it moves during its turn, or you can issue it a general command, such as to attack your enemies or guard a location. Absent commands from you, the snake defends itself. As a Bonus Action, you can command the snake to revert to staff form in its current space, and you can't use the staff's property again for 1 hour. If the snake is reduced to 0 Hit Points, it dies and reverts to its staff form; the staff then shatters and is destroyed. If the snake reverts to staff form before losing all its Hit Points, it regains all of them.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":2,"Action":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Staff of the Python Attunement","cp":"6744e37d95192d0012ba0150","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of the Python (One-Handed)","rd":"Staff of the Python (One-Handed) Attack","cp":"6744e37d95192d0012ba0150","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of the Python (Two-Handed)","rd":"Staff of the Python (Two-Handed) Attack","cp":"6744e37d95192d0012ba0150","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate Staff of the Python","rd":"Activate Staff of the Python Action","cp":"6744e37d95192d0012ba0150","dn":"As a Magic action, you can throw this staff so that it lands in an unoccupied space within 10 feet of you, causing the staff to become a Giant Constrictor Snake in that space. The snake is under your control and shares your Initiative count, taking its turn immediately after yours."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"De-activate Staff of the Python","rd":"De-activate Staff of the Python Bonus Action","cp":"6744e37d95192d0012ba0150","dn":"As a Bonus Action, you can command the snake to revert to staff form in its current space, and you can't use the staff's property again for 1 hour. "},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of the Python (One-Handed) Damage","cp":"6744e37d95192d0012ba0150","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of the Python (Two-Handed) Damage","cp":"6744e37d95192d0012ba0150","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Staff of the Woodlands","blueprint":{"nm":"Staff of the Woodlands","item":{"tp":"Item","cp":"68142177f9542900125d56a0","dn":"Requires Attunement by a Druid\nThis staff has 6 charges and can be wielded as a magic Quarterstaff that grants a +2 bonus to attack rolls and damage rolls made with it. While holding it, you have a +2 bonus to spell attack rolls. Spells. While holding the staff, you can cast one of the following spells from it, using your spell save DC: Animal Friendship (1 charges), Awaken (5 charges), Barkskin (2 charges), Locate Animals or Plants (2 charges), Pass without Trace (2 charges), Speak with Animals (1 charge), Speak with Plants (3 charges), Wall of Thorns (6 charges).\nTree Form. You can take a Magic action to plant one end of the staff in earth in an unoccupied space and expend 1 charge to transform the staff into a healthy tree. The tree is 60 feet tall and has a 5-foot-diameter trunk, and its branches at the top spread out in a 20-foot radius. The tree appears ordinary but radiates a faint aura of Transmutation magic that can be discerned with the Detect Magic spell. While touching the tree and using a Magic action, you return the staff to its normal form. Any creature in the tree falls when the tree reverts to a staff. Regaining Charges. The staff regains 1d6 expended charges daily at dawn. If you expend the last charge, roll 1d20. On a 1, the staff loses its properties and becomes a nonmagical Quarterstaff.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":5,"Resource":1,"dm":4,"Spell":8,"Action":1,"Condition":3,"AC":1,"RB":1,"Upcasting":2},"ch":[{"id":"c1","tp":"Am","nm":"Staff of the Woodlands Attunement","cp":"68142177f9542900125d56a0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of the Woodlands (One-Handed)","rd":"Staff of the Woodlands (One-Handed) Attack","cp":"68142177f9542900125d56a0","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of the Woodlands (Two-Handed)","rd":"Staff of the Woodlands (Two-Handed) Attack","cp":"68142177f9542900125d56a0","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of the Woodlands Charges","cp":"68142177f9542900125d56a0","vl":6},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of the Woodlands (One-Handed) Damage","cp":"68142177f9542900125d56a0","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of the Woodlands (Two-Handed) Damage","cp":"68142177f9542900125d56a0","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Animal Friendship","cp":"66e08ffadc69af0030fa675a","dn":"Target a Beast that you can see within range. The target must succeed on a Wisdom saving throw or have the Charmed condition for the duration. If you or one of your allies deals damage to the target, the spells ends."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Awaken","cp":"66e08fdbdc69af0030fa5fa7","dn":"You spend the casting time tracing magical pathways within a precious gemstone, and then touch the target. The target must be either a Beast or Plant creature with an Intelligence of 3 or less or a natural plant that isn't a creature. The target gains an Intelligence of 10 and the ability to speak one language you know. If the target is a natural plant, it becomes a Plant creature and gains the ability to move its limbs, roots, vines, creepers, and so forth, and it gains senses similar to a human's. The DM chooses statistics appropriate for the awakened Plant, such as the statistics for the Awakened Shrub or Awakened Tree in the Monster Manual.\nThe awakened target has the Charmed condition for 30 days or until you or your allies deal damage to it. When that condition ends, the awakened creature chooses its attitude toward you."},{"id":"c1-c1-c3","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Barkskin","cp":"66e07b4a28743a0012c86330","dn":"You touch a willing creature. Until the spell ends, the target's skin assumes a bark-like appearance, and the target has an Armor Class of 17 if its AC is lower than that."},{"id":"c1-c1-c4","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Animals or Plants","cp":"66e09017dc69af0030fa6e35","dn":"Describe or name a specific kind of Beast, Plant creature, or nonmagical plant. You learn the direction and distance to the closest creature or plant of that kind within 5 miles, if any are present."},{"id":"c1-c1-c5","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Pass without Trace","cp":"66e08fe4dc69af0030fa61f9","dn":"You radiate a concealing aura in a 30-foot Emanation for the duration. While in the aura, you and each creature you choose have a +10 bonus to Dexterity (Stealth) checks and leave no tracks."},{"id":"c1-c1-c6","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Speak with Animals","cp":"66e09026dc69af0030fa71ae","dn":"For the duration, you can comprehend and verbally communicate with Beasts, and you can use any of the Influence action's skill options with them.\nMost Beasts have little to say about topics that don't pertain to survival or companionship, but at minimum, a Beast can give you information about nearby locations and monsters, including whatever it has perceived within the past day."},{"id":"c1-c1-c7","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Speak with Plants","cp":"66e08fc4dc69af0030fa5a4a","dn":"You imbue plants in an immobile 30-foot Emanation with limited sentience and animation, giving them the ability to communicate with you and follow your simple commands. You can question plants about events in the spell's area within the past day, gaining information about creatures that have passed, weather, and other circumstances.\nYou can also turn Difficult Terrain caused by plant growth (such as thickets and undergrowth) into ordinary terrain that lasts for the duration. Or you can turn ordinary terrain where plants are present into Difficult Terrain that lasts for the duration.\nThe spell doesn't enable plants to uproot themselves and move about, but they can move their branches, tendrils, and stalks for you.\nIf a Plant creature is in the area, you can communicate with it as if you shared a common language."},{"id":"c1-c1-c8","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns","cp":"66e08f52dc69af0030fa3799","dn":"You create a wall of tangled brush bristling with needle-sharp thorns. The wall appears within range on a solid surface and lasts for the duration. You choose to make the wall up to 60 feet long, 10 feet high, and 5 feet thick or a circle that has a 20-foot diameter and is up to 20 feet high and 5 feet thick. The wall blocks line of sight.\nWhen the wall appears, each creature in its area makes a Dexterity saving throw, taking 7d8 Piercing damage on a failed save or half as much damage on a successful one.\nA creature can move through the wall, albeit slowly and painfully. For every 1 foot a creature moves through the wall, it must spend 4 feet of movement. Furthermore, the first time a creature enters a space in the wall on a turn or ends its turn there, the creature makes a Dexterity saving throw, taking 7d8 Slashing damage on a failed save or half as much damage on a successful one. A creature makes this save only once per turn."},{"id":"c1-c1-c9","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tree Form (Staff of the Woodlands)","rd":"Staff of the Woodlands - Tree Form Action","cp":"68142177f9542900125d56a0","dn":"You can take a Magic action to plant one end of the staff in earth in an unoccupied space and expend 1 charge to transform the staff into a healthy tree. While touching the tree and using a Magic action, you can return the staff to its normal form."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Animal Friendship","rd":"Animal Friendship Attack","cp":"66e08ffadc69af0030fa675a","aT":"Action","rg":"30 feet","dn":"Target a Beast that you can see within range. The target must succeed on a Wisdom saving throw or have the Charmed condition for the duration. If you or one of your allies deals damage to the target, the spells ends.","ak":{"tp":"Spell Save"},"save":{"onFail":"The creature has the Charmed condition for the duration. ","saveAbility":"Wisdom"}},{"id":"c1-c1-c3-c1","tp":"Condition","pt":"c1-c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Barkskin Spell","rd":"Barkskin Condition","cp":"66e07b4a28743a0012c86330","dn":"The target has an Armor Class of 17 if its AC is lower than that."},{"id":"c1-c1-c5-c1","tp":"Condition","pt":"c1-c1-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Pass without Trace","rd":"Pass without Trace Condition","cp":"66e08fe4dc69af0030fa61f9","dn":"You radiate a concealing aura in a 30-foot Emanation for the duration. While in the aura, you and each creature you choose have a +10 bonus to Dexterity (Stealth) checks and leave no tracks."},{"id":"c1-c1-c8-c1","tp":"Condition","pt":"c1-c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns","rd":"Wall of Thorns Condition","cp":"66e08f52dc69af0030fa3799","dn":"You create a wall of tangled brush bristling with needle-sharp thorns. The wall appears within range on a solid surface and lasts for the duration."},{"id":"c1-c1-c8-c2","tp":"Ak","pt":"c1-c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns - On Creation","rd":"Wall of Thorns On Creation Attack","cp":"66e08f52dc69af0030fa3799","aT":"Action","dn":"When the wall appears, each creature in its area makes a Dexterity saving throw, taking 7d8 Piercing damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 7d8 Piercing damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c8-c3","tp":"Ak","pt":"c1-c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns - Walking Through","rd":"Wall of Thorns Walking Through Attack","cp":"66e08f52dc69af0030fa3799","aT":"Action","dn":"Furthermore, the first time a creature enters a space in the wall on a turn or ends its turn there, the creature makes a Dexterity saving throw, taking 7d8 Slashing damage on a failed save or half as much damage on a successful one. A creature makes this save only once per turn.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 7d8 Slashing damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c3-c1-c1","tp":"AC","pt":"c1-c1-c3-c1","cascades":[{"ref":"c1-c1-c3-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Barkskin AC","cp":"66e07b4a28743a0012c86330","cl":"Minimum","dA":false,"vl":{"fa":17}},{"id":"c1-c1-c5-c1-c1","tp":"RB","pt":"c1-c1-c5-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c5-c1","actions":["Activate"]}],"nm":"Pass without Trace Stealth Bonus","cp":"66e08fe4dc69af0030fa61f9","bC":"[\"Skills\"]","bD":"Modifier","bN":"[\"Stealth\"]","bV":10,"dC":1,"tR":false},{"id":"c1-c1-c8-c2-c1","tp":"dm","pt":"c1-c1-c8-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns On Creation Damage","cp":"66e08f52dc69af0030fa3799","ay":"none","dT":"Piercing","die":"d8","ct":7,"oC":false},{"id":"c1-c1-c8-c3-c1","tp":"dm","pt":"c1-c1-c8-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns Walking Through Damage","cp":"66e08f52dc69af0030fa3799","ay":"none","dT":"Slashing","die":"d8","ct":7,"oC":false},{"id":"c1-c1-c8-c2-c1-c1","tp":"Upcasting","pt":"c1-c1-c8-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns On Creation Damage Upcast","cp":"66e08f52dc69af0030fa3799","vl":1},{"id":"c1-c1-c8-c3-c1-c1","tp":"Upcasting","pt":"c1-c1-c8-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Thorns Walking Through Damage Upcast","cp":"66e08f52dc69af0030fa3799","vl":1}]}},{"nm":"Staff of Thunder and Lightning","blueprint":{"nm":"Staff of Thunder and Lightning","item":{"tp":"Item","cp":"6814214af9542900125d55e7","dn":"This staff can be wielded as a magic Quarterstaff that grants a +2 bonus to attack rolls and damage rolls made with it. It also has the following additional properties. Once one of these properties is used, it can't be used again until the next dawn.\nLightning. When you hit with a melee attack using the staff, you can cause the target to take an extra 2d6 Lightning damage (no action required).\nThunder. When you hit with a melee attack using the staff, you can cause the staff to emit a crack of thunder audible out to 300 feet (no action required). The target you hit must succeed on a DC 17 Constitution saving throw or have the Stunned condition until the end of your next turn.\nThunder and Lightning. Immediately after you hit with a melee attack using the staff, you can take a Bonus Action to use the Lightning and Thunder properties (see above) at the same time. Doing so doesn't expend the daily use of those properties, only the use of this one.\nLightning Strike. You can take a Magic action to cause a bolt of lightning to leap from the staff's tip in a Line that is 5 feet wide and 120 feet long. Each creature in that Line makes a DC 17 Dexterity saving throw, taking 9d6 Lightning damage on a failed save or half as much damage on a successful one.\nThunderclap. You can take a Magic action to cause the staff to produce a thunderclap audible out to 600 feet. Every creature within a 60-foot Emanation originating from you makes a DC 17 Constitution saving throw. On a failed save, a creature takes 2d6 Thunder damage and has the Deafened condition for 1 minute. On a successful save, a creature takes half as much damage only.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Am":1,"Ak":5,"Resource":5,"dm":4,"Effect":1,"Action":3},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Thunder and Lightning Attunement","cp":"6814214af9542900125d55e7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Thunder and Lightning (One-Handed)","rd":"Staff of Thunder and Lightning (One-Handed) Attack","cp":"6814214af9542900125d55e7","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Thunder and Lightning (Two-Handed)","rd":"Staff of Thunder and Lightning (Two-Handed) Attack","cp":"6814214af9542900125d55e7","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Lightning Resource","cp":"6814214af9542900125d55e7","vl":1},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunder (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Thunder Resource","cp":"6814214af9542900125d55e7","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunder and Lightning (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Thunder and Lightning Resource","cp":"6814214af9542900125d55e7","vl":1},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Strike (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Lightning Strike Resource","cp":"6814214af9542900125d55e7","vl":1},{"id":"c1-c5","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunderclap (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Thunderclap Resource","cp":"6814214af9542900125d55e7","vl":1},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Thunder and Lightning (One-Handed) Damage","cp":"6814214af9542900125d55e7","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Thunder and Lightning (Two-Handed) Damage","cp":"6814214af9542900125d55e7","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Effect","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Lightning Effect","cp":"6814214af9542900125d55e7","cy":"[\"Damage\"]","dn":"When you hit with a melee attack using the staff, you can cause the target to take an extra 2d6 Lightning damage (no action required).","diceValue":"2d6","active":false},{"id":"c1-c2-c1","tp":"Ak","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunder (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Thunder Effect","cp":"6814214af9542900125d55e7","aT":"Action","dn":"When you hit with a melee attack using the staff, you can cause the staff to emit a crack of thunder audible out to 300 feet (no action required). The target you hit must make a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Stunned condition until the end of your next turn.","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunder and Lightning (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Thunder and Lightning Bonus Action","cp":"6814214af9542900125d55e7","dn":"Immediately after you hit with a melee attack using the staff, you can take a Bonus Action to use the Lightning and Thunder properties (see above) at the same time. Doing so doesn't expend the daily use of those properties, only the use of this one.\n"},{"id":"c1-c4-c1","tp":"Action","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Strike","rd":"Staff of Thunder and Lightning - Lightning Strike Action","cp":"6814214af9542900125d55e7","dn":"You can take a Magic action to cause a bolt of lightning to leap from the staff's tip in a Line that is 5 feet wide and 120 feet long."},{"id":"c1-c4-c2","tp":"Ak","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Strike (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Lightning Strike Attack","cp":"6814214af9542900125d55e7","aT":"Action","dn":"You can take a Magic action to cause a bolt of lightning to leap from the staff's tip in a Line. Each creature in that Line makes a DC 17 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature takes 9d6 Lightning damage.","onSucceed":"Half damage.","saveAbility":"Dexterity","saveFlat":17}},{"id":"c1-c4-c3","tp":"dm","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Thunder and Lightning - Lightning Strike Damage","cp":"6814214af9542900125d55e7","ay":"none","dT":"Lightning","die":"d6","ct":9,"oC":false},{"id":"c1-c5-c1","tp":"Action","pt":"c1-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunderclap","rd":"Staff of Thunder and Lightning - Thunderclap Action","cp":"6814214af9542900125d55e7","dn":"You can take a Magic action to cause the staff to produce a thunderclap audible out to 600 feet."},{"id":"c1-c5-c2","tp":"Ak","pt":"c1-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Thunderclap (Staff of Thunder and Lightning)","rd":"Staff of Thunder and Lightning - Thunderclap Attack","cp":"6814214af9542900125d55e7","aT":"Action","dn":"You can take a Magic action to cause the staff to produce a thunderclap audible out to 600 feet. Every creature within a 60-foot Emanation originating from you makes a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature takes 2d6 Thunder Damage, and has the Deafened condition for 1 minute.","onSucceed":"A creature takes Half damage and is not Deafened.","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c5-c2-c1","tp":"dm","pt":"c1-c5-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Thunder and Lightning - Thunderclap Damage","cp":"6814214af9542900125d55e7","ay":"none","dT":"Thunder","die":"d6","ct":2,"oC":false}]}},{"nm":"Staff of Withering","blueprint":{"nm":"Staff of Withering","item":{"tp":"Item","cp":"6744e2f795192d0012b9e3eb","dn":"This staff has 3 charges and regains 1d3 expended charges daily at dawn.\nThe staff can be wielded as a magic Quarterstaff. On a hit, it deals damage as a normal Quarterstaff, and you can expend 1 charge to deal an extra 2d10 Necrotic damage to the target and force it to make a DC 15 Constitution saving throw. On a failed save, the target has Disadvantage for 1 hour on any ability check or saving throw that uses Strength or Constitution.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Staff"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2,"Effect":1},"ch":[{"id":"c1","tp":"Am","nm":"Staff of Withering Attunement","cp":"6744e2f795192d0012b9e3eb","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Staff of Withering (One-Handed)","rd":"Staff of Withering (One-Handed) Attack","cp":"6744e2f795192d0012b9e3eb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Staff of Withering (Two-Handed)","rd":"Staff of Withering (Two-Handed) Attack","cp":"6744e2f795192d0012b9e3eb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Withering Charges","cp":"6744e2f795192d0012b9e3eb","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Staff of Withering (One-Handed) Damage","cp":"6744e2f795192d0012b9e3eb","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Staff of Withering (Two-Handed) Damage","cp":"6744e2f795192d0012b9e3eb","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Effect","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Withering","rd":"Staff of Withering Effect","cp":"6744e2f795192d0012b9e3eb","cy":"[\"Damage\"]","dn":"When you hit with a melee attack using the Staff of Withering, it deals damage as a normal Quarterstaff, and you can expend 1 charge to deal an extra 2d10 Necrotic damage to the target and force it to make a DC 15 Constitution saving throw.","diceValue":"2d10","active":false},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Staff of Withering","rd":"Staff of Withering Attack","cp":"6744e2f795192d0012b9e3eb","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target has Disadvantage for 1 hour on any ability check or saving throw that uses Strength or Constitution.","saveAbility":"Constitution","saveFlat":15},"onHit":"On a hit, it deals damage as a normal Quarterstaff, and you can expend 1 charge to deal an extra 2d10 Necrotic damage to the target and force it to make a DC 15 Constitution saving throw."}]}},{"nm":"Thunderous Greatclub","blueprint":{"nm":"Thunderous Greatclub","item":{"tp":"Item","cp":"6744e4b195192d0012ba51f9","dn":"While you are attuned to this magic weapon, your Strength is 20 unless your Strength is already equal to or greater than that score. The weapon deals an extra 1d8 Thunder damage to any creature it hits and an extra 3d8 Thunder damage to objects it hits that aren't being worn or carried.\nThe weapon has the following additional properties.\nClap of Thunder. As a Magic action, you can strike the weapon against a hard surface to create a loud clap of thunder audible out to 300 feet. You also create a 30-foot Cone of thunderous energy. Each creature in the Cone must succeed on a DC 15 Strength saving throw or have the Prone condition. Nonmagical objects in the Cone that aren't being worn or carried take 3d8 Thunder damage.\nEarthquake. As a Magic action, you can strike the weapon against the ground to create an intense seismic disturbance in a 50-foot-radius circle centered on the point of impact. Structures in contact with the ground in that area take 50 Bludgeoning damage, and each creature on the ground in that area must succeed on a DC 20 Dexterity saving throw or have the Prone condition. If that creature is also concentrating, it must succeed on a DC 20 Constitution saving throw or its Concentration is broken. In addition, you can cause a 30-foot-deep, 10-foot-wide fissure to open up on the ground anywhere in the area. Any creature on a spot where the fissure opens must succeed on a DC 20 Dexterity saving throw, falling into the fissure on a failed save or moving with the fissure's edge on a successful one. Any structure on a spot where the fissure opens collapses into the fissure. Once you use this property, it can't be used again until the next dawn.","wt":10,"ps":["Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Am":1,"Ak":4,"AS":1,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Thunderous Greatclub Attunement","cp":"6744e4b195192d0012ba51f9","an":false,"rE":false},{"id":"c2","tp":"Ak","nm":"Thunderous Greatclub","rd":"Thunderous Greatclub Attack","cp":"6744e4b195192d0012ba51f9","aT":"Action","dn":"The weapon deals an extra 1d8 Thunder damage to any creature it hits and an extra 3d8 Thunder damage to objects it hits that aren't being worn or carried.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Thunderous Greatclub Strength Minimum","cp":"6744e4b195192d0012ba51f9","ay":"Strength","cl":"Minimum","vl":{"fa":20}},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Clap of Thunder","rd":"Thunderous Greatclub Clap of Thunder","cp":"6744e4b195192d0012ba51f9","aT":"Action","dn":"As a Magic action, you can strike the weapon against a hard surface to create a loud clap of thunder audible out to 300 feet. You also create a 30-foot Cone of thunderous energy. Each creature in the Cone must succeed on a DC 15 Strength saving throw. Nonmagical objects in the Cone that aren't being worn or carried take 3d8 Thunder damage.","ak":{"tp":"Attack Save"},"save":{"onFail":"Target has the Prone condition.","saveAbility":"Strength","saveFlat":15}},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Earthquake (Attack)","rd":"Thunderous Greatclub Earthquake","cp":"6744e4b195192d0012ba51f9","aT":"Action","dn":"As a Magic action, you can strike the weapon against the ground to create an intense seismic disturbance in a 50-foot-radius circle centered on the point of impact. Structures in contact with the ground in that area take 50 Bludgeoning damage, and each creature on the ground in that area must succeed on a DC 20 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Prone condition. If that creature is also concentrating, it must succeed on a DC 20 Constitution saving throw or its Concentration is broken.","saveAbility":"Dexterity","saveFlat":20}},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Earthquake","rd":"Thunderous Greatclub Earthquake Resource","cp":"6744e4b195192d0012ba51f9","vl":1},{"id":"c1-c5","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Earthquake (Fissure)","rd":"Thunderous Greatclub Earthquake Fissure","cp":"6744e4b195192d0012ba51f9","aT":"Action","dn":"Any creature on a spot where the fissure opens must succeed on a DC 20 Dexterity saving throw. Any structure on a spot where the fissure opens collapses into the fissure.","ak":{"tp":"Attack Save"},"save":{"onFail":"Target falls into fissure","onSucceed":"Target moves to fissure's edge","saveAbility":"Dexterity","saveFlat":20}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Thunderous Greatclub Damage","cp":"6744e4b195192d0012ba51f9","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Thunderous Greatclub Thunder Damage","cp":"6744e4b195192d0012ba51f9","ay":"none","dT":"Thunder","die":"d8","ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Thunderous Greatclub Clap of Thunder Damage","cp":"6744e4b195192d0012ba51f9","ay":"none","dT":"Thunder","die":"d8","ct":3,"oC":false}]}},{"nm":"Vicious Club","blueprint":{"nm":"Vicious Club","item":{"tp":"Item","cp":"68152a1fa193700012c13da1","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Club"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Club","rd":"Vicious Club Attack","cp":"68152a1fa193700012c13da1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Club (Off-hand)","rd":"Vicious Club Attack (Off-hand)","cp":"68152a1fa193700012c13da1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Club Damage","cp":"68152a1fa193700012c13da1","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Club Vicious Damage","cp":"68152a1fa193700012c13da1","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Club Damage (Off-hand)","cp":"68152a1fa193700012c13da1","ay":"none","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Club Vicious Damage (Off-hand)","cp":"68152a1fa193700012c13da1","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Dagger","blueprint":{"nm":"Vicious Dagger","item":{"tp":"Item","cp":"68152935a193700012c10f0b","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":1,"ps":["Finesse","Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Dagger"}},"cS":{"Ak":4,"dm":8},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Dagger","rd":"Vicious Dagger Attack","cp":"68152935a193700012c10f0b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Dagger (Finesse)","rd":"Vicious Dagger Attack (Finesse)","cp":"68152935a193700012c10f0b","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Dagger (Off-hand)","rd":"Vicious Dagger Attack (Off-hand)","cp":"68152935a193700012c10f0b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c4","tp":"Ak","nm":"Vicious Dagger (Thrown)","rd":"Vicious Dagger Attack (Thrown)","cp":"68152935a193700012c10f0b","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Dagger Damage","cp":"68152935a193700012c10f0b","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Dagger Vicious Damage","cp":"68152935a193700012c10f0b","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Dagger Damage (Finesse)","cp":"68152935a193700012c10f0b","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Dagger Vicious Damage (Finesse)","cp":"68152935a193700012c10f0b","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Dagger Damage (Off-hand)","cp":"68152935a193700012c10f0b","ay":"none","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Dagger Vicious Damage (Off-hand)","cp":"68152935a193700012c10f0b","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Vicious Dagger Damage (Thrown)","cp":"68152935a193700012c10f0b","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c4-c2","tp":"dm","pt":"c4","nm":"Vicious Dagger Vicious Damage (Thrown)","cp":"68152935a193700012c10f0b","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Dart","blueprint":{"nm":"Vicious Dart","item":{"tp":"Item","cp":"68152948a193700012c112fa","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":0.25,"ps":["Finesse","Thrown"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Dart"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Dart","rd":"Vicious Dart Attack","cp":"68152948a193700012c112fa","aT":"Action","rg":"20/60","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Dart (Finesse)","rd":"Vicious Dart Attack (Finesse)","cp":"68152948a193700012c112fa","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Dart Damage","cp":"68152948a193700012c112fa","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Dart Vicious Damage","cp":"68152948a193700012c112fa","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Dart Damage (Finesse)","cp":"68152948a193700012c112fa","ay":"auto","dT":"Piercing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Dart Vicious Damage (Finesse)","cp":"68152948a193700012c112fa","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Greatclub","blueprint":{"nm":"Vicious Greatclub","item":{"tp":"Item","cp":"68152934a193700012c10eb3","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":10,"ps":["Two-handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Greatclub"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Greatclub","rd":"Vicious Greatclub Attack","cp":"68152934a193700012c10eb3","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Greatclub Damage","cp":"68152934a193700012c10eb3","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Greatclub Vicious Damage","cp":"68152934a193700012c10eb3","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Handaxe","blueprint":{"nm":"Vicious Handaxe","item":{"tp":"Item","cp":"68152919a193700012c1096c","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Handaxe"}},"cS":{"Ak":3,"dm":6},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Handaxe","rd":"Vicious Handaxe Attack","cp":"68152919a193700012c1096c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Handaxe (Off-hand)","rd":"Vicious Handaxe Attack (Off-hand)","cp":"68152919a193700012c1096c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Handaxe (Thrown)","rd":"Vicious Handaxe Attack (Thrown)","cp":"68152919a193700012c1096c","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Handaxe Damage","cp":"68152919a193700012c1096c","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Handaxe Vicious Damage","cp":"68152919a193700012c1096c","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Handaxe Damage (Off-hand)","cp":"68152919a193700012c1096c","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Handaxe Vicious Damage (Off-hand)","cp":"68152919a193700012c1096c","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Handaxe Damage (Thrown)","cp":"68152919a193700012c1096c","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Handaxe Vicious Damage (Thrown)","cp":"68152919a193700012c1096c","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Light Crossbow","blueprint":{"nm":"Vicious Light Crossbow","item":{"tp":"Item","cp":"68152949a193700012c11312","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":5,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Light Crossbow"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Light Crossbow","rd":"Vicious Light Crossbow Attack","cp":"68152949a193700012c11312","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Light Crossbow Damage","cp":"68152949a193700012c11312","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Light Crossbow Vicious Damage","cp":"68152949a193700012c11312","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Light Hammer","blueprint":{"nm":"Vicious Light Hammer","item":{"tp":"Item","cp":"68152948a193700012c112e6","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Light","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Light Hammer"}},"cS":{"Ak":3,"dm":6},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Light Hammer","rd":"Vicious Light Hammer Attack","cp":"68152948a193700012c112e6","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Light Hammer (Off-hand)","rd":"Vicious Light Hammer Attack (Off-hand)","cp":"68152948a193700012c112e6","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Light Hammer (Thrown)","rd":"Vicious Light Hammer Attack (Thrown)","cp":"68152948a193700012c112e6","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Light Hammer Damage","cp":"68152948a193700012c112e6","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Light Hammer Vicious Damage","cp":"68152948a193700012c112e6","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Light Hammer Damage (Off-hand)","cp":"68152948a193700012c112e6","ay":"none","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Light Hammer Vicious Damage (Off-hand)","cp":"68152948a193700012c112e6","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Light Hammer Damage (Thrown)","cp":"68152948a193700012c112e6","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Light Hammer Vicious Damage (Thrown)","cp":"68152948a193700012c112e6","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Mace","blueprint":{"nm":"Vicious Mace","item":{"tp":"Item","cp":"6815299ba193700012c12369","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Mace"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Mace","rd":"Vicious Mace Attack","cp":"6815299ba193700012c12369","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Mace Damage","cp":"6815299ba193700012c12369","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Mace Vicious Damage","cp":"6815299ba193700012c12369","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Quarterstaff","blueprint":{"nm":"Vicious Quarterstaff","item":{"tp":"Item","cp":"6815291aa193700012c109a4","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Quarterstaff","rd":"Vicious Quarterstaff Attack","cp":"6815291aa193700012c109a4","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Quarterstaff (Two-handed)","rd":"Vicious Quarterstaff Attack (Two-handed)","cp":"6815291aa193700012c109a4","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Quarterstaff Damage","cp":"6815291aa193700012c109a4","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Quarterstaff Vicious Damage","cp":"6815291aa193700012c109a4","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Quarterstaff Damage (Two-handed)","cp":"6815291aa193700012c109a4","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Quarterstaff Vicious Damage (Two-handed)","cp":"6815291aa193700012c109a4","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Shortbow","blueprint":{"nm":"Vicious Shortbow","item":{"tp":"Item","cp":"681529f5a193700012c134bd","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Ammunition","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Shortbow"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Shortbow","rd":"Vicious Shortbow Attack","cp":"681529f5a193700012c134bd","aT":"Action","rg":"80/320","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Shortbow Damage","cp":"681529f5a193700012c134bd","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Shortbow Vicious Damage","cp":"681529f5a193700012c134bd","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Sickle","blueprint":{"nm":"Vicious Sickle","item":{"tp":"Item","cp":"681529c6a193700012c12bdb","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Sickle"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Sickle","rd":"Vicious Sickle Attack","cp":"681529c6a193700012c12bdb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Sickle (Off-hand)","rd":"Vicious Sickle Attack (Off-hand)","cp":"681529c6a193700012c12bdb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Sickle Damage","cp":"681529c6a193700012c12bdb","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Sickle Vicious Damage","cp":"681529c6a193700012c12bdb","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Sickle Damage (Off-hand)","cp":"681529c6a193700012c12bdb","ay":"none","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Sickle Vicious Damage (Off-hand)","cp":"681529c6a193700012c12bdb","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Sling","blueprint":{"nm":"Vicious Sling","item":{"tp":"Item","cp":"68152962a193700012c11812","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","ps":["Ammunition"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Simple","tp":"Sling"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Sling","rd":"Vicious Sling Attack","cp":"68152962a193700012c11812","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Sling Damage","cp":"68152962a193700012c11812","ay":"auto","dT":"Bludgeoning","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Sling Vicious Damage","cp":"68152962a193700012c11812","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Spear","blueprint":{"nm":"Vicious Spear","item":{"tp":"Item","cp":"6815299ba193700012c1237c","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":3,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Spear"}},"cS":{"Ak":3,"dm":6},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Spear","rd":"Vicious Spear Attack","cp":"6815299ba193700012c1237c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Spear (Thrown)","rd":"Vicious Spear Attack (Thrown)","cp":"6815299ba193700012c1237c","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Spear (Two-handed)","rd":"Vicious Spear Attack (Two-handed)","cp":"6815299ba193700012c1237c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Spear Damage","cp":"6815299ba193700012c1237c","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Spear Vicious Damage","cp":"6815299ba193700012c1237c","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Spear Damage (Thrown)","cp":"6815299ba193700012c1237c","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Spear Vicious Damage (Thrown)","cp":"6815299ba193700012c1237c","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Spear Damage (Two-handed)","cp":"6815299ba193700012c1237c","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Spear Vicious Damage (Two-handed)","cp":"6815299ba193700012c1237c","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Wooden Staff","blueprint":{"nm":"Wooden Staff","item":{"tp":"Item","cp":"6204556d4401f963c062ec81","dn":"A druidic focus might be a sprig of mistletoe or holly, a wand or scepter made of yew or another Special wood, a staff drawn whole out of a living tree, or a totem object incorporating feathers, fur, bones, and teeth from sacred animals. A druid can use such an object as a spellcasting focus.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Quarterstaff"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Wooden Staff (One-Handed)","rd":"Wooden Staff Attack 1","cp":"6204556d4401f963c062ec81","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Wooden Staff (Two-Handed)","rd":"Wooden Staff Attack 2","cp":"6204556d4401f963c062ec81","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Wooden Staff Damage 1","cp":"6204556d4401f963c062ec81","ay":"auto","dT":"Bludgeoning","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Wooden Staff Damage 2","cp":"6204556d4401f963c062ec81","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false}]}},{"nm":"Battleaxe","blueprint":{"nm":"Battleaxe","item":{"tp":"Item","cp":"67a659a2db873a00127f9376","dn":"Versatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nDamage: 1d8 (1d10)\nDamage Type: Slashing\nProperties: Versatile\nMastery: Topple\nWeight: 4","wt":4,"ps":["Versatile (1d10)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Battleaxe (One-Handed)","rd":"Battleaxe One-Handed Attack","cp":"67a659a2db873a00127f9376","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Battleaxe (Two-Handed)","rd":"Battleaxe Two-Handed Attack","cp":"67a659a2db873a00127f9376","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Battleaxe One Handed Damage","cp":"67a659a2db873a00127f9376","ay":"auto","dT":"Slashing","die":"d8","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Battleaxe Two Handed Damage","cp":"67a659a2db873a00127f9376","ay":"auto","dT":"Slashing","die":"d10","ct":1,"oC":false}]}},{"nm":"Battleaxe +1","blueprint":{"nm":"Battleaxe +1","item":{"tp":"Item","cp":"6744e42295192d0012ba2c08","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Battleaxe +1","rd":"Battleaxe +1 Attack","cp":"6744e42295192d0012ba2c08","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Battleaxe +1 (Two-handed)","rd":"Battleaxe +1 Attack (Two-handed)","cp":"6744e42295192d0012ba2c08","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Battleaxe +1 Damage","cp":"6744e42295192d0012ba2c08","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Battleaxe +1 Damage (Two-handed)","cp":"6744e42295192d0012ba2c08","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Battleaxe +2","blueprint":{"nm":"Battleaxe +2","item":{"tp":"Item","cp":"6744e42495192d0012ba2ca8","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Battleaxe +2","rd":"Battleaxe +2 Attack","cp":"6744e42495192d0012ba2ca8","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Battleaxe +2 (Two-handed)","rd":"Battleaxe +2 Attack (Two-handed)","cp":"6744e42495192d0012ba2ca8","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Battleaxe +2 Damage","cp":"6744e42495192d0012ba2ca8","ay":"auto","dT":"Slashing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Battleaxe +2 Damage (Two-handed)","cp":"6744e42495192d0012ba2ca8","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Battleaxe +3","blueprint":{"nm":"Battleaxe +3","item":{"tp":"Item","cp":"6744e42395192d0012ba2c85","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Battleaxe +3","rd":"Battleaxe +3 Attack","cp":"6744e42395192d0012ba2c85","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Battleaxe +3 (Two-handed)","rd":"Battleaxe +3 Attack (Two-handed)","cp":"6744e42395192d0012ba2c85","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Battleaxe +3 Damage","cp":"6744e42395192d0012ba2c85","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Battleaxe +3 Damage (Two-handed)","cp":"6744e42395192d0012ba2c85","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Battleaxe of Warning","blueprint":{"nm":"Battleaxe of Warning","item":{"tp":"Item","cp":"68152952a193700012c1150b","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Battleaxe of Warning Attunement","cp":"68152952a193700012c1150b","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Battleaxe of Warning","rd":"Battleaxe of Warning Attack","cp":"68152952a193700012c1150b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Battleaxe of Warning (Two-handed)","rd":"Battleaxe of Warning Attack (Two-handed)","cp":"68152952a193700012c1150b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Battleaxe of Warning Initiative Advantage","cp":"68152952a193700012c1150b","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Battleaxe of Warning Damage","cp":"68152952a193700012c1150b","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Battleaxe of Warning Damage (Two-handed)","cp":"68152952a193700012c1150b","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Berserker Battleaxe","blueprint":{"nm":"Berserker Battleaxe","item":{"tp":"Item","cp":"6744e4e695192d0012ba5cc3","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. In addition, while you are attuned to this weapon, your Hit Point maximum increases by 1 for each level you have attained.\nCurse. This weapon is cursed, and becoming attuned to it extends the curse to you. As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Am":1,"Ak":3,"Condition":1,"Hit Points":1,"dm":2,"Effect":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Berserker Battleaxe Attunement","cp":"6744e4e695192d0012ba5cc3","an":false,"rE":false},{"id":"c2","tp":"Ak","nm":"Berserker Battleaxe","rd":"Berserker Battleaxe Attack","cp":"6744e4e695192d0012ba5cc3","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Berserker Battleaxe (Two-handed)","rd":"Berserker Battleaxe Attack (Two-handed)","cp":"6744e4e695192d0012ba5cc3","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c4","tp":"Condition","nm":"Berserker Battleaxe Curse","rd":"Berserker Battleaxe Curse Condition","cp":"6744e4e695192d0012ba5cc3","dn":"As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target."},{"id":"c1-c1","tp":"Hit Points","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Berserker Battleaxe Hit Point Maximum Increase","cp":"6744e4e695192d0012ba5cc3","cl":"Modify","vl":{"ro":"Down"}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Berserker Battleaxe Damage","cp":"6744e4e695192d0012ba5cc3","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Berserker Battleaxe Damage (Two-handed)","cp":"6744e4e695192d0012ba5cc3","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"Ak","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Berserker Curse Save","rd":"Berserker Battleaxe Curse Attack","cp":"6744e4e695192d0012ba5cc3","aT":"Action","rg":"Self","dn":"Whenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk.","ak":{"tp":"Attack Save"},"save":{"onFail":"You go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","saveAbility":"Wisdom","saveFlat":15}},{"id":"c4-c2","tp":"Effect","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Using a Weapon other than Berserker Battleaxe","rd":"Berserker Battleaxe Disadvantage Effect","cp":"6744e4e695192d0012ba5cc3","cy":"[]","dn":"As long as you remain cursed, you have Disadvantage on attack rolls with weapons other than this one.","active":false},{"id":"c4-c2-c1","tp":"RB","pt":"c4-c2","cascades":[{"ref":"c4-c2","actions":["Activate"]},{"ref":"c4","actions":["Activate"]}],"nm":"Berserker Battleaxe Disadvantage Roll Bonus","cp":"6744e4e695192d0012ba5cc3","bC":"[\"Attacks\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Berserker Greataxe","blueprint":{"nm":"Berserker Greataxe","item":{"tp":"Item","cp":"6744e3f495192d0012ba1fb8","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. In addition, while you are attuned to this weapon, your Hit Point maximum increases by 1 for each level you have attained.\nCurse. This weapon is cursed, and becoming attuned to it extends the curse to you. As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Am":1,"Ak":2,"Condition":1,"Hit Points":1,"dm":1,"Effect":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Berserker Greataxe Attunement","cp":"6744e3f495192d0012ba1fb8","an":false,"rE":false},{"id":"c2","tp":"Ak","nm":"Berserker Greataxe","rd":"Berserker Greataxe Attack","cp":"6744e3f495192d0012ba1fb8","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Condition","nm":"Berserker Greataxe Curse","rd":"Berserker Greataxe Curse Condition","cp":"6744e3f495192d0012ba1fb8","dn":"As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target."},{"id":"c1-c1","tp":"Hit Points","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Berserker Greataxe Hit Point Maximum Increase","cp":"6744e3f495192d0012ba1fb8","cl":"Modify","vl":{"ro":"Down"}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Berserker Greataxe Damage","cp":"6744e3f495192d0012ba1fb8","ay":"auto","dT":"Slashing","die":"d12","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Berserker Curse Save","rd":"Berserker Greataxe Curse Attack","cp":"6744e3f495192d0012ba1fb8","aT":"Action","rg":"Self","dn":"Whenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk.","ak":{"tp":"Attack Save"},"save":{"onFail":"You go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","saveAbility":"Wisdom","saveFlat":15}},{"id":"c3-c2","tp":"Effect","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Using a Weapon other than Berserker Greataxe","rd":"Berserker Greataxe Disadvantage Effect","cp":"6744e3f495192d0012ba1fb8","cy":"[]","dn":"As long as you remain cursed, you have Disadvantage on attack rolls with weapons other than this one.","active":false},{"id":"c3-c2-c1","tp":"RB","pt":"c3-c2","cascades":[{"ref":"c3","actions":["Activate"]},{"ref":"c3-c2","actions":["Activate"]}],"nm":"Berserker Greataxe Disadvantage Roll Bonus","cp":"6744e3f495192d0012ba1fb8","bC":"[\"Attacks\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Berserker Halberd","blueprint":{"nm":"Berserker Halberd","item":{"tp":"Item","cp":"6744e4e695192d0012ba5cde","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. In addition, while you are attuned to this weapon, your Hit Point maximum increases by 1 for each level you have attained.\nCurse. This weapon is cursed, and becoming attuned to it extends the curse to you. As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Am":1,"Ak":2,"Condition":1,"Hit Points":1,"dm":1,"Effect":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Berserker Halberd Attunement","cp":"6744e4e695192d0012ba5cde","an":false,"rE":false},{"id":"c2","tp":"Ak","nm":"Berserker Halberd","rd":"Berserker Halberd Attack","cp":"6744e4e695192d0012ba5cde","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Condition","nm":"Berserker Halberd Curse","rd":"Berserker Halberd Curse Condition","cp":"6744e4e695192d0012ba5cde","dn":"As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target."},{"id":"c1-c1","tp":"Hit Points","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Berserker Halberd Hit Point Maximum Increase","cp":"6744e4e695192d0012ba5cde","cl":"Modify","vl":{"ro":"Down"}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Berserker Halberd Damage","cp":"6744e4e695192d0012ba5cde","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Berserker Curse Save","rd":"Berserker Halberd Curse Attack","cp":"6744e4e695192d0012ba5cde","aT":"Action","rg":"Self","dn":"Whenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk.","ak":{"tp":"Attack Save"},"save":{"onFail":"You go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you're unable to get close enough to the creature to attack it with the weapon, your turn ends after you've used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","saveAbility":"Wisdom","saveFlat":15}},{"id":"c3-c2","tp":"Effect","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Using a Weapon other than Berserker Halberd","rd":"Berserker Halberd Disadvantage Effect","cp":"6744e4e695192d0012ba5cde","cy":"[]","dn":"As long as you remain cursed, you have Disadvantage on attack rolls with weapons other than this one.","active":false},{"id":"c3-c2-c1","tp":"RB","pt":"c3-c2","cascades":[{"ref":"c3-c2","actions":["Activate"]},{"ref":"c3","actions":["Activate"]}],"nm":"Berserker Halberd Disadvantage Roll Bonus","cp":"6744e4e695192d0012ba5cde","bC":"[\"Attacks\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Dancing Greatsword","blueprint":{"nm":"Dancing Greatsword","item":{"tp":"Item","cp":"6744e4e795192d0012ba5d1e","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Dancing Greatsword Attunement","cp":"6744e4e795192d0012ba5d1e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dancing Greatsword","rd":"Dancing Greatsword Attack","cp":"6744e4e795192d0012ba5d1e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate / Use Dancing Greatsword","rd":"Dancing Greatsword Bonus Action","cp":"6744e4e795192d0012ba5d1e","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dancing Greatsword Damage","cp":"6744e4e795192d0012ba5d1e","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Dancing Longsword","blueprint":{"nm":"Dancing Longsword","item":{"tp":"Item","cp":"6744e4a795192d0012ba4f20","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"Action":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Dancing Longsword Attunement","cp":"6744e4a795192d0012ba4f20","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dancing Longsword","rd":"Dancing Longsword Attack","cp":"6744e4a795192d0012ba4f20","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dancing Longsword (Two-handed)","rd":"Dancing Longsword Attack (Two-handed)","cp":"6744e4a795192d0012ba4f20","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate / Use Dancing Longsword","rd":"Dancing Longsword Bonus Action","cp":"6744e4a795192d0012ba4f20","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dancing Longsword Damage","cp":"6744e4a795192d0012ba4f20","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dancing Longsword Damage (Two-handed)","cp":"6744e4a795192d0012ba4f20","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Dancing Rapier","blueprint":{"nm":"Dancing Rapier","item":{"tp":"Item","cp":"6744e2d795192d0012b9dbac","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"Action":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Dancing Rapier Attunement","cp":"6744e2d795192d0012b9dbac","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dancing Rapier","rd":"Dancing Rapier Attack","cp":"6744e2d795192d0012b9dbac","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dancing Rapier (Finesse)","rd":"Dancing Rapier Attack (Finesse)","cp":"6744e2d795192d0012b9dbac","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate / Use Dancing Rapier","rd":"Dancing Rapier Bonus Action","cp":"6744e2d795192d0012b9dbac","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dancing Rapier Damage","cp":"6744e2d795192d0012b9dbac","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dancing Rapier Damage (Finesse)","cp":"6744e2d795192d0012b9dbac","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Dancing Scimitar","blueprint":{"nm":"Dancing Scimitar","item":{"tp":"Item","cp":"6744e3d595192d0012ba1794","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"Action":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Dancing Scimitar Attunement","cp":"6744e3d595192d0012ba1794","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dancing Scimitar","rd":"Dancing Scimitar Attack","cp":"6744e3d595192d0012ba1794","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dancing Scimitar (Finesse)","rd":"Dancing Scimitar Attack (Finesse)","cp":"6744e3d595192d0012ba1794","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dancing Scimitar (Off-hand)","rd":"Dancing Scimitar Attack (Off-hand)","cp":"6744e3d595192d0012ba1794","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate / Use Dancing Scimitar","rd":"Dancing Scimitar Bonus Action","cp":"6744e3d595192d0012ba1794","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dancing Scimitar Damage","cp":"6744e3d595192d0012ba1794","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dancing Scimitar Damage (Finesse)","cp":"6744e3d595192d0012ba1794","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dancing Scimitar Damage (Off-hand)","cp":"6744e3d595192d0012ba1794","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Dancing Shortsword","blueprint":{"nm":"Dancing Shortsword","item":{"tp":"Item","cp":"6744e3d695192d0012ba17b4","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"Action":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Dancing Shortsword Attunement","cp":"6744e3d695192d0012ba17b4","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Dancing Shortsword","rd":"Dancing Shortsword Attack","cp":"6744e3d695192d0012ba17b4","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Dancing Shortsword (Finesse)","rd":"Dancing Shortsword Attack (Finesse)","cp":"6744e3d695192d0012ba17b4","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Dancing Shortsword (Off-hand)","rd":"Dancing Shortsword Attack (Off-hand)","cp":"6744e3d695192d0012ba17b4","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate / Use Dancing Shortsword","rd":"Dancing Shortsword Bonus Action","cp":"6744e3d695192d0012ba17b4","dn":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dancing Shortsword Damage","cp":"6744e3d695192d0012ba17b4","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dancing Shortsword Damage (Finesse)","cp":"6744e3d695192d0012ba17b4","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Dancing Shortsword Damage (Off-hand)","cp":"6744e3d695192d0012ba17b4","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Defender Battleaxe","blueprint":{"nm":"Defender Battleaxe","item":{"tp":"Item","cp":"68152a11a193700012c13abe","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Battleaxe Attunement","cp":"68152a11a193700012c13abe","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Battleaxe (One-Handed)","rd":"Defender Battleaxe (One-Handed) Attack","cp":"68152a11a193700012c13abe","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Battleaxe (Two-handed)","rd":"Defender Battleaxe (Two-handed) Attack","cp":"68152a11a193700012c13abe","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Battleaxe (One-Handed) Damage","cp":"68152a11a193700012c13abe","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Battleaxe (Two-handed) Damage","cp":"68152a11a193700012c13abe","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Flail","blueprint":{"nm":"Defender Flail","item":{"tp":"Item","cp":"68152926a193700012c10bef","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Flail Attunement","cp":"68152926a193700012c10bef","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Flail","rd":"Defender Flail Attack","cp":"68152926a193700012c10bef","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Flail Damage","cp":"68152926a193700012c10bef","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Glaive","blueprint":{"nm":"Defender Glaive","item":{"tp":"Item","cp":"68152993a193700012c121e6","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Glaive Attunement","cp":"68152993a193700012c121e6","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Glaive","rd":"Defender Glaive Attack","cp":"68152993a193700012c121e6","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Glaive Damage","cp":"68152993a193700012c121e6","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Greataxe","blueprint":{"nm":"Defender Greataxe","item":{"tp":"Item","cp":"68152993a193700012c121f6","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Greataxe Attunement","cp":"68152993a193700012c121f6","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Greataxe","rd":"Defender Greataxe Attack","cp":"68152993a193700012c121f6","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Greataxe Damage","cp":"68152993a193700012c121f6","ay":"auto","dT":"Slashing","die":"d12","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Greatsword","blueprint":{"nm":"Defender Greatsword","item":{"tp":"Item","cp":"6813f67cf9542900125c9bfe","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Greatsword Attunement","cp":"6813f67cf9542900125c9bfe","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Greatsword","rd":"Defender Greatsword Attack","cp":"6813f67cf9542900125c9bfe","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Greatsword Damage","cp":"6813f67cf9542900125c9bfe","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Defender Halberd","blueprint":{"nm":"Defender Halberd","item":{"tp":"Item","cp":"68152923a193700012c10b61","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Halberd Attunement","cp":"68152923a193700012c10b61","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Halberd","rd":"Defender Halberd Attack","cp":"68152923a193700012c10b61","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Halberd Damage","cp":"68152923a193700012c10b61","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Lance","blueprint":{"nm":"Defender Lance","item":{"tp":"Item","cp":"68152926a193700012c10bff","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Lance Attunement","cp":"68152926a193700012c10bff","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Lance","rd":"Defender Lance Attack","cp":"68152926a193700012c10bff","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Lance Damage","cp":"68152926a193700012c10bff","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Longsword","blueprint":{"nm":"Defender Longsword","item":{"tp":"Item","cp":"681529eea193700012c1332c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Longsword Attunement","cp":"681529eea193700012c1332c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Longsword","rd":"Defender Longsword (One-Handed) Attack","cp":"681529eea193700012c1332c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Longsword (Two-handed)","rd":"Defender Longsword (Two-handed) Attack","cp":"681529eea193700012c1332c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Longsword (One-Handed) Damage","cp":"681529eea193700012c1332c","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Longsword (Two-handed) Damage","cp":"681529eea193700012c1332c","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Maul","blueprint":{"nm":"Defender Maul","item":{"tp":"Item","cp":"68152a11a193700012c13ace","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Maul Attunement","cp":"68152a11a193700012c13ace","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Maul","rd":"Defender Maul Attack","cp":"68152a11a193700012c13ace","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Maul Damage","cp":"68152a11a193700012c13ace","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Defender Morningstar","blueprint":{"nm":"Defender Morningstar","item":{"tp":"Item","cp":"68152927a193700012c10c47","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Morningstar Attunement","cp":"68152927a193700012c10c47","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Morningstar","rd":"Defender Morningstar Attack","cp":"68152927a193700012c10c47","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Morningstar Damage","cp":"68152927a193700012c10c47","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Pike","blueprint":{"nm":"Defender Pike","item":{"tp":"Item","cp":"68152926a193700012c10c13","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Defender Pike Attunement","cp":"68152926a193700012c10c13","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Pike","rd":"Defender Pike Attack","cp":"68152926a193700012c10c13","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Pike Damage","cp":"68152926a193700012c10c13","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Rapier","blueprint":{"nm":"Defender Rapier","item":{"tp":"Item","cp":"68152a11a193700012c13ade","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Rapier Attunement","cp":"68152a11a193700012c13ade","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Rapier","rd":"Defender Rapier STR Attack","cp":"68152a11a193700012c13ade","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Rapier (Finesse)","rd":"Defender Rapier DEX Attack","cp":"68152a11a193700012c13ade","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Rapier STR Damage","cp":"68152a11a193700012c13ade","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Rapier DEX Damage","cp":"68152a11a193700012c13ade","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Scimitar","blueprint":{"nm":"Defender Scimitar","item":{"tp":"Item","cp":"681529eea193700012c1333c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Defender Scimitar Attunement","cp":"681529eea193700012c1333c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Scimitar","rd":"Defender Scimitar STR Attack","cp":"681529eea193700012c1333c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Scimitar (Finesse)","rd":"Defender Scimitar DEX Attack","cp":"681529eea193700012c1333c","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Scimitar (Off-hand)","rd":"Defender Scimitar Attack (Off-hand)","cp":"681529eea193700012c1333c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Scimitar STR Damage","cp":"681529eea193700012c1333c","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Scimitar DEX Damage","cp":"681529eea193700012c1333c","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Scimitar Damage (Off-hand)","cp":"681529eea193700012c1333c","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Shortsword","blueprint":{"nm":"Defender Shortsword","item":{"tp":"Item","cp":"681529eea193700012c1334c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Defender Shortsword Attunement","cp":"681529eea193700012c1334c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Shortsword","rd":"Defender Shortsword STR Attack","cp":"681529eea193700012c1334c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Shortsword (Finesse)","rd":"Defender Shortsword DEX Attack","cp":"681529eea193700012c1334c","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Shortsword (Off-hand)","rd":"Defender Shortsword Attack (Off-hand)","cp":"681529eea193700012c1334c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Shortsword STR Damage","cp":"681529eea193700012c1334c","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Shortsword DEX Damage","cp":"681529eea193700012c1334c","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Shortsword Damage (Off-hand)","cp":"681529eea193700012c1334c","ay":"none","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Trident","blueprint":{"nm":"Defender Trident","item":{"tp":"Item","cp":"68152958a193700012c11607","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Defender Trident Attunement","cp":"68152958a193700012c11607","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Trident","rd":"Defender Trident Attack","cp":"68152958a193700012c11607","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Trident (Thrown)","rd":"Defender Trident Attack (Thrown)","cp":"68152958a193700012c11607","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c4","tp":"Ak","nm":"Defender Trident (Two-handed)","rd":"Defender Trident Attack (Two-handed)","cp":"68152958a193700012c11607","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Trident Damage","cp":"68152958a193700012c11607","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Trident Damage (Thrown)","cp":"68152958a193700012c11607","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Defender Trident Damage (Two-handed)","cp":"68152958a193700012c11607","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender War Pick","blueprint":{"nm":"Defender War Pick","item":{"tp":"Item","cp":"681529eea193700012c1335c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender War Pick Attunement","cp":"681529eea193700012c1335c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender War Pick","rd":"Defender War Pick Attack","cp":"681529eea193700012c1335c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender War Pick (Two-handed)","rd":"Defender War Pick Attack (Two-handed)","cp":"681529eea193700012c1335c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender War Pick Damage","cp":"681529eea193700012c1335c","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender War Pick Damage (Two-handed)","cp":"681529eea193700012c1335c","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Warhammer","blueprint":{"nm":"Defender Warhammer","item":{"tp":"Item","cp":"68152a11a193700012c13aee","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Warhammer Attunement","cp":"68152a11a193700012c13aee","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Warhammer","rd":"Defender Warhammer (One-Handed) Attack","cp":"68152a11a193700012c13aee","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Warhammer (Two-handed)","rd":"Defender Warhammer (Two-handed) Attack","cp":"68152a11a193700012c13aee","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Warhammer (One-Handed) Damage","cp":"68152a11a193700012c13aee","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Warhammere (Two-handed) Damage","cp":"68152a11a193700012c13aee","ay":"auto","dT":"Bludgeoning","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Defender Whip","blueprint":{"nm":"Defender Whip","item":{"tp":"Item","cp":"681529eda193700012c1331c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Whip Attunement","cp":"681529eda193700012c1331c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Whip","rd":"Defender Whip STR Attack","cp":"681529eda193700012c1331c","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Whip (Finesse)","rd":"Defender Whip DEX Attack","cp":"681529eda193700012c1331c","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Whip STR Damage","cp":"681529eda193700012c1331c","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Whip DEX Damage","cp":"681529eda193700012c1331c","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Battleaxe","blueprint":{"nm":"Dragon Slayer Battleaxe","item":{"tp":"Item","cp":"681529bca193700012c12a2d","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Battleaxe","rd":"Dragon Slayer Battleaxe Attack","cp":"681529bca193700012c12a2d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon."},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Battleaxe (Two-handed)","rd":"Dragon Slayer Battleaxe Attack (Two-handed)","cp":"681529bca193700012c12a2d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon."},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Battleaxe Extra Damage","cp":"681529bca193700012c12a2d","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Battleaxe Damage","cp":"681529bca193700012c12a2d","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Battleaxe Damage (Two-handed)","cp":"681529bca193700012c12a2d","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Flail","blueprint":{"nm":"Dragon Slayer Flail","item":{"tp":"Item","cp":"68152946a193700012c11277","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Flail","rd":"Dragon Slayer Flail Attack","cp":"68152946a193700012c11277","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Flail Extra Damage","cp":"68152946a193700012c11277","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Flail Damage","cp":"68152946a193700012c11277","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Glaive","blueprint":{"nm":"Dragon Slayer Glaive","item":{"tp":"Item","cp":"68152a13a193700012c13b4c","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Glaive","rd":"Dragon Slayer Glaive Attack","cp":"68152a13a193700012c13b4c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Glaive Extra Damage","cp":"68152a13a193700012c13b4c","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Glaive Damage","cp":"68152a13a193700012c13b4c","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Greataxe","blueprint":{"nm":"Dragon Slayer Greataxe","item":{"tp":"Item","cp":"68152995a193700012c12259","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Greataxe","rd":"Dragon Slayer Greataxe Attack","cp":"68152995a193700012c12259","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Greataxe Extra Damage","cp":"68152995a193700012c12259","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Greataxe Damage","cp":"68152995a193700012c12259","ay":"auto","dT":"Slashing","die":"d12","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Greatsword","blueprint":{"nm":"Dragon Slayer Greatsword","item":{"tp":"Item","cp":"6813f7d9350b5e00122c9799","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Greatsword","rd":"Dragon Slayer Greatsword Attack","cp":"6813f7d9350b5e00122c9799","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Greatsword Extra Damage","cp":"6813f7d9350b5e00122c9799","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Greatsword Damage","cp":"6813f7d9350b5e00122c9799","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":2,"oC":false}]}},{"nm":"Dragon Slayer Halberd","blueprint":{"nm":"Dragon Slayer Halberd","item":{"tp":"Item","cp":"68152914a193700012c10890","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Halberd","rd":"Dragon Slayer Halberd Attack","cp":"68152914a193700012c10890","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Halberd Extra Damage","cp":"68152914a193700012c10890","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Halberd Damage","cp":"68152914a193700012c10890","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Lance","blueprint":{"nm":"Dragon Slayer Lance","item":{"tp":"Item","cp":"68152996a193700012c1226d","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Lance","rd":"Dragon Slayer Lance Attack","cp":"68152996a193700012c1226d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Lance Extra Damage","cp":"68152996a193700012c1226d","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Lance Damage","cp":"68152996a193700012c1226d","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Longsword","blueprint":{"nm":"Dragon Slayer Longsword","item":{"tp":"Item","cp":"6815291ba193700012c109f0","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Longsword","rd":"Dragon Slayer Longsword Attack","cp":"6815291ba193700012c109f0","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Longsword (Two-handed)","rd":"Dragon Slayer Longsword Attack (Two-handed)","cp":"6815291ba193700012c109f0","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Longsword Extra Damage","cp":"6815291ba193700012c109f0","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Longsword Damage","cp":"6815291ba193700012c109f0","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Longsword Damage (Two-handed)","cp":"6815291ba193700012c109f0","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Maul","blueprint":{"nm":"Dragon Slayer Maul","item":{"tp":"Item","cp":"68152915a193700012c108a0","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Maul","rd":"Dragon Slayer Maul Attack","cp":"68152915a193700012c108a0","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Maul Extra Damage","cp":"68152915a193700012c108a0","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Maul Damage","cp":"68152915a193700012c108a0","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":2,"oC":false}]}},{"nm":"Dragon Slayer Morningstar","blueprint":{"nm":"Dragon Slayer Morningstar","item":{"tp":"Item","cp":"68152946a193700012c11287","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Morningstar","rd":"Dragon Slayer Morningstar Attack","cp":"68152946a193700012c11287","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Morningstar Extra Damage","cp":"68152946a193700012c11287","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Morningstar Damage","cp":"68152946a193700012c11287","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Pike","blueprint":{"nm":"Dragon Slayer Pike","item":{"tp":"Item","cp":"681529bda193700012c12a40","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Pike","rd":"Dragon Slayer Pike Attack","cp":"681529bda193700012c12a40","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Pike Extra Damage","cp":"681529bda193700012c12a40","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Pike Damage","cp":"681529bda193700012c12a40","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Rapier","blueprint":{"nm":"Dragon Slayer Rapier","item":{"tp":"Item","cp":"681529f0a193700012c133ce","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Rapier","rd":"Dragon Slayer Rapier Attack","cp":"681529f0a193700012c133ce","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Rapier (Finesse)","rd":"Dragon Slayer Rapier Attack (Finesse)","cp":"681529f0a193700012c133ce","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Rapier Extra Damage","cp":"681529f0a193700012c133ce","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Rapier Damage","cp":"681529f0a193700012c133ce","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Rapier Damage (Finesse)","cp":"681529f0a193700012c133ce","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Scimitar","blueprint":{"nm":"Dragon Slayer Scimitar","item":{"tp":"Item","cp":"68152996a193700012c1227d","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":3,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Scimitar","rd":"Dragon Slayer Scimitar Attack","cp":"68152996a193700012c1227d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Scimitar (Finesse)","rd":"Dragon Slayer Scimitar Attack (Finesse)","cp":"68152996a193700012c1227d","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Scimitar (Off-hand)","rd":"Dragon Slayer Scimitar Attack (Off-hand)","cp":"68152996a193700012c1227d","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Scimitar Extra Damage","cp":"68152996a193700012c1227d","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Scimitar Damage","cp":"68152996a193700012c1227d","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Scimitar Damage (Finesse)","cp":"68152996a193700012c1227d","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Scimitar Damage (Off-hand)","cp":"68152996a193700012c1227d","ay":"none","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Shortsword","blueprint":{"nm":"Dragon Slayer Shortsword","item":{"tp":"Item","cp":"68152a14a193700012c13b5e","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":3,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Shortsword","rd":"Dragon Slayer Shortsword Attack","cp":"68152a14a193700012c13b5e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Shortsword (Finesse)","rd":"Dragon Slayer Shortsword Attack (Finesse)","cp":"68152a14a193700012c13b5e","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Shortsword (Off-hand)","rd":"Dragon Slayer Shortsword Attack (Off-hand)","cp":"68152a14a193700012c13b5e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Shortsword Extra Damage","cp":"68152a14a193700012c13b5e","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Shortsword Damage","cp":"68152a14a193700012c13b5e","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Shortsword Damage (Finesse)","cp":"68152a14a193700012c13b5e","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Shortsword Damage (Off-hand)","cp":"68152a14a193700012c13b5e","ay":"none","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Trident","blueprint":{"nm":"Dragon Slayer Trident","item":{"tp":"Item","cp":"68152984a193700012c11eb6","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Trident","rd":"Dragon Slayer Trident Attack","cp":"68152984a193700012c11eb6","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Trident (Thrown)","rd":"Dragon Slayer Trident Attack (Thrown)","cp":"68152984a193700012c11eb6","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Ak","nm":"Dragon Slayer Trident (Two-handed)","rd":"Dragon Slayer Trident Attack (Two-handed)","cp":"68152984a193700012c11eb6","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c4","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Trident Extra Damage","cp":"68152984a193700012c11eb6","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Trident Damage","cp":"68152984a193700012c11eb6","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Trident Damage (Thrown)","cp":"68152984a193700012c11eb6","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Dragon Slayer Trident Damage (Two-handed)","cp":"68152984a193700012c11eb6","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer War Pick","blueprint":{"nm":"Dragon Slayer War Pick","item":{"tp":"Item","cp":"68152958a193700012c11617","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer War Pick","rd":"Dragon Slayer War Pick Attack","cp":"68152958a193700012c11617","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer War Pick (Two-handed)","rd":"Dragon Slayer War Pick Attack (Two-handed)","cp":"68152958a193700012c11617","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer War Pick Extra Damage","cp":"68152958a193700012c11617","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer War Pick Damage","cp":"68152958a193700012c11617","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer War Pick Damage (Two-handed)","cp":"68152958a193700012c11617","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Warhammer","blueprint":{"nm":"Dragon Slayer Warhammer","item":{"tp":"Item","cp":"68152a14a193700012c13b70","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Warhammer","rd":"Dragon Slayer Warhammer Attack","cp":"68152a14a193700012c13b70","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Warhammer (Two-handed)","rd":"Dragon Slayer Warhammer Attack (Two-handed)","cp":"68152a14a193700012c13b70","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Warhammer Extra Damage","cp":"68152a14a193700012c13b70","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Warhammer Damage","cp":"68152a14a193700012c13b70","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Warhammer Damage (Two-handed)","cp":"68152a14a193700012c13b70","ay":"auto","dT":"Bludgeoning","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Whip","blueprint":{"nm":"Dragon Slayer Whip","item":{"tp":"Item","cp":"68152a14a193700012c13b80","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Whip","rd":"Dragon Slayer Whip Attack","cp":"68152a14a193700012c13b80","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Whip (Finesse)","rd":"Dragon Slayer Whip Attack (Finesse)","cp":"68152a14a193700012c13b80","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Whip Extra Damage","cp":"68152a14a193700012c13b80","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Whip Damage","cp":"68152a14a193700012c13b80","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Whip Damage (Finesse)","cp":"68152a14a193700012c13b80","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Flail","blueprint":{"nm":"Flail","item":{"tp":"Item","cp":"67a659a3db873a00127f93a4","dn":"Damage: 1d8\nDamage Type: Bludgeoning\nProperties: --\nMastery: Sap\nWeight: 2","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Flail","rd":"Flail Attack","cp":"67a659a3db873a00127f93a4","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Flail Damage","cp":"67a659a3db873a00127f93a4","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false}]}},{"nm":"Flail +1","blueprint":{"nm":"Flail +1","item":{"tp":"Item","cp":"6744e49e95192d0012ba4cab","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Flail +1","rd":"Flail +1 Attack","cp":"6744e49e95192d0012ba4cab","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Flail +1 Damage","cp":"6744e49e95192d0012ba4cab","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Flail +2","blueprint":{"nm":"Flail +2","item":{"tp":"Item","cp":"6744e3f695192d0012ba203d","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Flail +2","rd":"Flail +2 Attack","cp":"6744e3f695192d0012ba203d","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Flail +2 Damage","cp":"6744e3f695192d0012ba203d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Flail +3","blueprint":{"nm":"Flail +3","item":{"tp":"Item","cp":"6744e42f95192d0012ba2f5d","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Flail +3","rd":"Flail +3 Attack","cp":"6744e42f95192d0012ba2f5d","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Flail +3 Damage","cp":"6744e42f95192d0012ba2f5d","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Flail of Warning","blueprint":{"nm":"Flail of Warning","item":{"tp":"Item","cp":"6815299ca193700012c1239c","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flail of Warning Attunement","cp":"6815299ca193700012c1239c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flail of Warning","rd":"Flail of Warning Attack","cp":"6815299ca193700012c1239c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flail of Warning Initiative Advantage","cp":"6815299ca193700012c1239c","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flail of Warning Damage","cp":"6815299ca193700012c1239c","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Battleaxe","blueprint":{"nm":"Flame Tongue Battleaxe","item":{"tp":"Item","cp":"6744e40e95192d0012ba26ca","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Battleaxe Attunement","cp":"6744e40e95192d0012ba26ca","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Battleaxe","rd":"Flame Tongue Battleaxe Attack","cp":"6744e40e95192d0012ba26ca","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Battleaxe (Two-handed)","rd":"Flame Tongue Battleaxe Attack (Two-handed)","cp":"6744e40e95192d0012ba26ca","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Battleaxe On or Off","rd":"Flame Tongue Battleaxe Bonus Action","cp":"6744e40e95192d0012ba26ca","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Battleaxe","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e40e95192d0012ba26ca","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Battleaxe Damage","cp":"6744e40e95192d0012ba26ca","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Battleaxe Damage (Two-handed)","cp":"6744e40e95192d0012ba26ca","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Flail","blueprint":{"nm":"Flame Tongue Flail","item":{"tp":"Item","cp":"6744e41995192d0012ba29c9","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Flail Attunement","cp":"6744e41995192d0012ba29c9","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Flail","rd":"Flame Tongue Flail Attack","cp":"6744e41995192d0012ba29c9","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Flail","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41995192d0012ba29c9","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Flail On or Off","rd":"Flame Tongue Flail Bonus Action","cp":"6744e41995192d0012ba29c9","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Flail Damage","cp":"6744e41995192d0012ba29c9","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Glaive","blueprint":{"nm":"Flame Tongue Glaive","item":{"tp":"Item","cp":"6744e2d895192d0012b9dbc7","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Glaive Attunement","cp":"6744e2d895192d0012b9dbc7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Glaive","rd":"Flame Tongue Glaive Attack","cp":"6744e2d895192d0012b9dbc7","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Glaive","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e2d895192d0012b9dbc7","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue On or Off","rd":"Flame Tongue Glaive Bonus Action","cp":"6744e2d895192d0012b9dbc7","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Glaive Damage","cp":"6744e2d895192d0012b9dbc7","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Greataxe","blueprint":{"nm":"Flame Tongue Greataxe","item":{"tp":"Item","cp":"6744e2d195192d0012b9d9e8","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Greataxe Attunement","cp":"6744e2d195192d0012b9d9e8","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Greataxe","rd":"Flame Tongue Greataxe Attack","cp":"6744e2d195192d0012b9d9e8","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Greataxe","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e2d195192d0012b9d9e8","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Greataxe On or Off","rd":"Flame Tongue Greataxe Bonus Action","cp":"6744e2d195192d0012b9d9e8","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Greataxe Damage","cp":"6744e2d195192d0012b9d9e8","ay":"auto","dT":"Slashing","die":"d12","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Greatsword","blueprint":{"nm":"Flame Tongue Greatsword","item":{"tp":"Item","cp":"6744e42995192d0012ba2e13","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Greatsword Attunement","cp":"6744e42995192d0012ba2e13","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Greatsword","rd":"Flame Tongue Greatsword Attack","cp":"6744e42995192d0012ba2e13","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Greatsword","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e42995192d0012ba2e13","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Greatsword On or Off","rd":"Flame Tongue Greatsword Bonus Action","cp":"6744e42995192d0012ba2e13","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Greatsword Damage","cp":"6744e42995192d0012ba2e13","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Flame Tongue Halberd","blueprint":{"nm":"Flame Tongue Halberd","item":{"tp":"Item","cp":"6744e40c95192d0012ba2633","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Halberd Attunement","cp":"6744e40c95192d0012ba2633","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Halberd","rd":"Flame Tongue Halberd Attack","cp":"6744e40c95192d0012ba2633","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Halberd","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e40c95192d0012ba2633","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Halberd On or Off","rd":"Flame Tongue Halberd Bonus Action","cp":"6744e40c95192d0012ba2633","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Halberd Damage","cp":"6744e40c95192d0012ba2633","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Lance","blueprint":{"nm":"Flame Tongue Lance","item":{"tp":"Item","cp":"6744e40d95192d0012ba264e","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Lance Attunement","cp":"6744e40d95192d0012ba264e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Lance","rd":"Flame Tongue Lance Attack","cp":"6744e40d95192d0012ba264e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Lance","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e40d95192d0012ba264e","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Lance On or Off","rd":"Flame Tongue Lance Bonus Action","cp":"6744e40d95192d0012ba264e","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Lance Damage","cp":"6744e40d95192d0012ba264e","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Longsword","blueprint":{"nm":"Flame Tongue Longsword","item":{"tp":"Item","cp":"6744e41195192d0012ba2793","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Longsword Attunement","cp":"6744e41195192d0012ba2793","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Longsword","rd":"Flame Tongue Longsword Attack","cp":"6744e41195192d0012ba2793","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Longsword (Two-handed)","rd":"Flame Tongue Longsword Attack (Two-handed)","cp":"6744e41195192d0012ba2793","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Longsword On or Off","rd":"Flame Tongue Longsword Bonus Action","cp":"6744e41195192d0012ba2793","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Longsword","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41195192d0012ba2793","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Longsword Damage","cp":"6744e41195192d0012ba2793","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Longsword Damage (Two-handed)","cp":"6744e41195192d0012ba2793","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Maul","blueprint":{"nm":"Flame Tongue Maul","item":{"tp":"Item","cp":"6744e41295192d0012ba27c7","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Am":1,"Ak":1,"Action":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Maul Attunement","cp":"6744e41295192d0012ba27c7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Maul","rd":"Flame Tongue Maul Attack","cp":"6744e41295192d0012ba27c7","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Maul On or Off","rd":"Flame Tongue Maul Bonus Action","cp":"6744e41295192d0012ba27c7","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Maul","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41295192d0012ba27c7","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Maul Damage","cp":"6744e41295192d0012ba27c7","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Flame Tongue Morningstar","blueprint":{"nm":"Flame Tongue Morningstar","item":{"tp":"Item","cp":"6744e32a95192d0012b9eea8","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Am":1,"Ak":1,"Action":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Morningstar Attunement","cp":"6744e32a95192d0012b9eea8","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Morningstar","rd":"Flame Tongue Morningstar Attack","cp":"6744e32a95192d0012b9eea8","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Morningstar On or Off","rd":"Flame Tongue Morningstar Bonus Action","cp":"6744e32a95192d0012b9eea8","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Morningstar","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e32a95192d0012b9eea8","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Morningstar Damage","cp":"6744e32a95192d0012b9eea8","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Pike","blueprint":{"nm":"Flame Tongue Pike","item":{"tp":"Item","cp":"6744e43595192d0012ba30f6","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Am":1,"Ak":1,"Action":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Pike Attunement","cp":"6744e43595192d0012ba30f6","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Pike","rd":"Flame Tongue Pike Attack","cp":"6744e43595192d0012ba30f6","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Pike On or Off","rd":"Flame Tongue Pike Bonus Action","cp":"6744e43595192d0012ba30f6","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Pike","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43595192d0012ba30f6","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Pike Damage","cp":"6744e43595192d0012ba30f6","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Rapier","blueprint":{"nm":"Flame Tongue Rapier","item":{"tp":"Item","cp":"6744e40b95192d0012ba25c1","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Rapier Attunement","cp":"6744e40b95192d0012ba25c1","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Rapier","rd":"Flame Tongue Rapier Attack","cp":"6744e40b95192d0012ba25c1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Rapier (Finesse)","rd":"Flame Tongue Rapier Attack (Finesse)","cp":"6744e40b95192d0012ba25c1","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Rapier On or Off","rd":"Flame Tongue Rapier Bonus Action","cp":"6744e40b95192d0012ba25c1","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Rapier","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e40b95192d0012ba25c1","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Rapier Damage","cp":"6744e40b95192d0012ba25c1","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Rapier Damage (Finesse)","cp":"6744e40b95192d0012ba25c1","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Scimitar","blueprint":{"nm":"Flame Tongue Scimitar","item":{"tp":"Item","cp":"6744e41f95192d0012ba2b5d","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"Action":1,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Scimitar Attunement","cp":"6744e41f95192d0012ba2b5d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Scimitar","rd":"Flame Tongue Scimitar Attack","cp":"6744e41f95192d0012ba2b5d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Scimitar (Finesse)","rd":"Flame Tongue Scimitar Attack (Finesse)","cp":"6744e41f95192d0012ba2b5d","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Scimitar (Off-hand)","rd":"Flame Tongue Scimitar Attack (Off-hand)","cp":"6744e41f95192d0012ba2b5d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Scimitar On or Off","rd":"Flame Tongue Scimitar Bonus Action","cp":"6744e41f95192d0012ba2b5d","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Scimitar","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41f95192d0012ba2b5d","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Scimitar Damage","cp":"6744e41f95192d0012ba2b5d","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Scimitar Damage (Finesse)","cp":"6744e41f95192d0012ba2b5d","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Scimitar Damage (Off-hand)","cp":"6744e41f95192d0012ba2b5d","ay":"none","dT":"Slashing","die":"d6","bo":"min(@{strength_mod}, 0)","ct":1,"oC":false}]}},{"nm":"Flame Tongue Shortsword","blueprint":{"nm":"Flame Tongue Shortsword","item":{"tp":"Item","cp":"6744e41395192d0012ba282f","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"Action":1,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Shortsword Attunement","cp":"6744e41395192d0012ba282f","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Shortsword","rd":"Flame Tongue Shortsword Attack","cp":"6744e41395192d0012ba282f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Shortsword (Finesse)","rd":"Flame Tongue Shortsword Attack (Finesse)","cp":"6744e41395192d0012ba282f","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Shortsword (Off-hand)","rd":"Flame Tongue Shortsword Attack (Off-hand)","cp":"6744e41395192d0012ba282f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Shortsword On or Off","rd":"Flame Tongue Shortsword Bonus Action","cp":"6744e41395192d0012ba282f","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Shortsword","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e41395192d0012ba282f","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Shortsword Damage","cp":"6744e41395192d0012ba282f","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Shortsword Damage (Finesse)","cp":"6744e41395192d0012ba282f","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Shortsword Damage (Off-hand)","cp":"6744e41395192d0012ba282f","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Trident","blueprint":{"nm":"Flame Tongue Trident","item":{"tp":"Item","cp":"6744e43995192d0012ba31d1","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Am":1,"Ak":3,"Action":1,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Trident Attunement","cp":"6744e43995192d0012ba31d1","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Trident","rd":"Flame Tongue Trident Attack","cp":"6744e43995192d0012ba31d1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Trident (Thrown)","rd":"Flame Tongue Trident Attack (Thrown)","cp":"6744e43995192d0012ba31d1","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c4","tp":"Ak","nm":"Flame Tongue Trident (Two-handed)","rd":"Flame Tongue Trident Attack (Two-handed)","cp":"6744e43995192d0012ba31d1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Trident On or Off","rd":"Flame Tongue Trident Bonus Action","cp":"6744e43995192d0012ba31d1","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Trident","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43995192d0012ba31d1","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Trident Damage","cp":"6744e43995192d0012ba31d1","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Trident Damage (Thrown)","cp":"6744e43995192d0012ba31d1","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Flame Tongue Trident Damage (Two-handed)","cp":"6744e43995192d0012ba31d1","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue War Pick","blueprint":{"nm":"Flame Tongue War Pick","item":{"tp":"Item","cp":"6744e43a95192d0012ba323f","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue War Pick Attunement","cp":"6744e43a95192d0012ba323f","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue War Pick","rd":"Flame Tongue War Pick Attack","cp":"6744e43a95192d0012ba323f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue War Pick (Two-handed)","rd":"Flame Tongue War Pick Attack (Two-handed)","cp":"6744e43a95192d0012ba323f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue War Pick On or Off","rd":"Flame Tongue War Pick Bonus Action","cp":"6744e43a95192d0012ba323f","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue War Pick","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43a95192d0012ba323f","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue War Pick Damage","cp":"6744e43a95192d0012ba323f","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue War Pick Damage (Two-handed)","cp":"6744e43a95192d0012ba323f","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Warhammer","blueprint":{"nm":"Flame Tongue Warhammer","item":{"tp":"Item","cp":"6744e43a95192d0012ba3224","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Warhammer Attunement","cp":"6744e43a95192d0012ba3224","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Warhammer","rd":"Flame Tongue Warhammer Attack","cp":"6744e43a95192d0012ba3224","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Warhammer (Two-handed)","rd":"Flame Tongue Warhammer Attack (Two-handed)","cp":"6744e43a95192d0012ba3224","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Warhammer On or Off","rd":"Flame Tongue Warhammer Bonus Action","cp":"6744e43a95192d0012ba3224","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Warhammer","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43a95192d0012ba3224","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Warhammer Damage","cp":"6744e43a95192d0012ba3224","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Warhammer Damage (Two-handed)","cp":"6744e43a95192d0012ba3224","ay":"auto","dT":"Bludgeoning","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Whip","blueprint":{"nm":"Flame Tongue Whip","item":{"tp":"Item","cp":"6744e43995192d0012ba31ec","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Am":1,"Ak":2,"Action":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Whip Attunement","cp":"6744e43995192d0012ba31ec","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Whip","rd":"Flame Tongue Whip Attack","cp":"6744e43995192d0012ba31ec","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Whip (Finesse)","rd":"Flame Tongue Whip Attack (Finesse)","cp":"6744e43995192d0012ba31ec","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Whip On or Off","rd":"Flame Tongue Whip Bonus Action","cp":"6744e43995192d0012ba31ec","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Whip","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43995192d0012ba31ec","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Whip Damage","cp":"6744e43995192d0012ba31ec","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Whip Damage (Finesse)","cp":"6744e43995192d0012ba31ec","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Frost Brand Glaive","blueprint":{"nm":"Frost Brand Glaive","item":{"tp":"Item","cp":"6744e2d895192d0012b9dbe2","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can't be used again for 1 hour.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"Defense":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Frost Brand Glaive Attunement","cp":"6744e2d895192d0012b9dbe2","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Frost Brand Glaive","rd":"Frost Brand Glaive Attack","cp":"6744e2d895192d0012b9dbe2","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand Glaive Fire Resistance","cp":"6744e2d895192d0012b9dbe2","damage":"Fire","defense":"Resistance","details":"While holding Frost Brand"},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand","rd":"Frost Brand Glaive Cold Damage","cp":"6744e2d895192d0012b9dbe2","cy":"[\"Damage\"]","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage.","diceValue":"1d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Frost Brand Glaive Damage","cp":"6744e2d895192d0012b9dbe2","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Frost Brand Greatsword","blueprint":{"nm":"Frost Brand Greatsword","item":{"tp":"Item","cp":"6744e40f95192d0012ba26e5","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can't be used again for 1 hour.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"Defense":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Frost Brand Greatsword Attunement","cp":"6744e40f95192d0012ba26e5","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Frost Brand Greatsword","rd":"Frost Brand Greatsword Attack","cp":"6744e40f95192d0012ba26e5","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand Greatsword Fire Resistance","cp":"6744e40f95192d0012ba26e5","damage":"Fire","defense":"Resistance","details":"While holding Frost Brand"},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand","rd":"Frost Brand Greatsword Cold Damage","cp":"6744e40f95192d0012ba26e5","cy":"[\"Damage\"]","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage.","diceValue":"1d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Frost Brand Greatsword Damage","cp":"6744e40f95192d0012ba26e5","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Frost Brand Longsword","blueprint":{"nm":"Frost Brand Longsword","item":{"tp":"Item","cp":"6744e40f95192d0012ba270a","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can't be used again for 1 hour.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"Defense":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Frost Brand Longsword Attunement","cp":"6744e40f95192d0012ba270a","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Frost Brand Longsword","rd":"Frost Brand Longsword Attack","cp":"6744e40f95192d0012ba270a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Frost Brand Longsword (Two-handed)","rd":"Frost Brand Longsword Attack (Two-handed)","cp":"6744e40f95192d0012ba270a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand Longsword Fire Resistance","cp":"6744e40f95192d0012ba270a","damage":"Fire","defense":"Resistance","details":"While holding Frost Brand"},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand","rd":"Frost Brand Longsword Cold Damage","cp":"6744e40f95192d0012ba270a","cy":"[\"Damage\"]","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage.","diceValue":"1d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Frost Brand Longsword Damage","cp":"6744e40f95192d0012ba270a","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Frost Brand Longsword Damage (Two-handed)","cp":"6744e40f95192d0012ba270a","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Frost Brand Rapier","blueprint":{"nm":"Frost Brand Rapier","item":{"tp":"Item","cp":"6744e43b95192d0012ba3275","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can't be used again for 1 hour.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"Defense":1,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Frost Brand Rapier Attunement","cp":"6744e43b95192d0012ba3275","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Frost Brand Rapier","rd":"Frost Brand Rapier Attack","cp":"6744e43b95192d0012ba3275","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Frost Brand Rapier (Finesse)","rd":"Frost Brand Rapier Attack (Finesse)","cp":"6744e43b95192d0012ba3275","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand Rapier Fire Resistance","cp":"6744e43b95192d0012ba3275","damage":"Fire","defense":"Resistance","details":"While holding Frost Brand"},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand","rd":"Frost Brand Rapier Cold Damage","cp":"6744e43b95192d0012ba3275","cy":"[\"Damage\"]","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage.","diceValue":"1d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Frost Brand Rapier Damage","cp":"6744e43b95192d0012ba3275","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Frost Brand Rapier Damage (Finesse)","cp":"6744e43b95192d0012ba3275","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Frost Brand Scimitar","blueprint":{"nm":"Frost Brand Scimitar","item":{"tp":"Item","cp":"6744e43795192d0012ba3145","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can't be used again for 1 hour.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"Defense":1,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Frost Brand Scimitar Attunement","cp":"6744e43795192d0012ba3145","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Frost Brand Scimitar","rd":"Frost Brand Scimitar Attack","cp":"6744e43795192d0012ba3145","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Frost Brand Scimitar (Finesse)","rd":"Frost Brand Scimitar Attack (Finesse)","cp":"6744e43795192d0012ba3145","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Frost Brand Scimitar (Off-hand)","rd":"Frost Brand Scimitar Attack (Off-hand)","cp":"6744e43795192d0012ba3145","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand Scimitar Fire Resistance","cp":"6744e43795192d0012ba3145","damage":"Fire","defense":"Resistance","details":"While holding Frost Brand"},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand","rd":"Frost Brand Scimitar Cold Damage","cp":"6744e43795192d0012ba3145","cy":"[\"Damage\"]","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage.","diceValue":"1d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Frost Brand Scimitar Damage","cp":"6744e43795192d0012ba3145","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Frost Brand Scimitar Damage (Finesse)","cp":"6744e43795192d0012ba3145","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Frost Brand Scimitar Damage (Off-hand)","cp":"6744e43795192d0012ba3145","ay":"none","dT":"Slashing","die":"d6","bo":"min(@{strength_mod}, 0)","ct":1,"oC":false}]}},{"nm":"Frost Brand Shortsword","blueprint":{"nm":"Frost Brand Shortsword","item":{"tp":"Item","cp":"6744e43395192d0012ba3054","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can't be used again for 1 hour.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"Defense":1,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Frost Brand Shortsword Attunement","cp":"6744e43395192d0012ba3054","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Frost Brand Shortsword","rd":"Frost Brand Shortsword Attack","cp":"6744e43395192d0012ba3054","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Frost Brand Shortsword (Finesse)","rd":"Frost Brand Shortsword Attack (Finesse)","cp":"6744e43395192d0012ba3054","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Frost Brand Shortsword (Off-hand)","rd":"Frost Brand Shortsword Attack (Off-hand)","cp":"6744e43395192d0012ba3054","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand Shortsword Fire Resistance","cp":"6744e43395192d0012ba3054","damage":"Fire","defense":"Resistance","details":"While holding Frost Brand"},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Frost Brand","rd":"Frost Brand Shortsword Cold Damage","cp":"6744e43395192d0012ba3054","cy":"[\"Damage\"]","dn":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage.","diceValue":"1d6","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Frost Brand Shortsword Damage","cp":"6744e43395192d0012ba3054","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Frost Brand Shortsword Damage (Finesse)","cp":"6744e43395192d0012ba3054","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Frost Brand Shortsword Damage (Off-hand)","cp":"6744e43395192d0012ba3054","ay":"none","dT":"Piercing","die":"d6","bo":"min(@{strength_mod}, 0)","ct":1,"oC":false}]}},{"nm":"Giant Slayer Battleaxe","blueprint":{"nm":"Giant Slayer Battleaxe","item":{"tp":"Item","cp":"6744e42d95192d0012ba2ee9","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Battleaxe","rd":"Giant Slayer Battleaxe Attack","cp":"6744e42d95192d0012ba2ee9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Battleaxe (Two-Handed)","rd":"Giant Slayer Battleaxe Attack (Two-handed)","cp":"6744e42d95192d0012ba2ee9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Battleaxe","rd":"Giant Slayer Battleaxe Giant Damage Effect","cp":"6744e42d95192d0012ba2ee9","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Battleaxe Damage","cp":"6744e42d95192d0012ba2ee9","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Battleaxe Damage (Two-handed)","cp":"6744e42d95192d0012ba2ee9","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Battleaxe Knock Prone","cp":"6744e42d95192d0012ba2ee9","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Flail","blueprint":{"nm":"Giant Slayer Flail","item":{"tp":"Item","cp":"6744e4ad95192d0012ba50f5","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Flail","rd":"Giant Slayer Flail Attack","cp":"6744e4ad95192d0012ba50f5","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Flail","rd":"Giant Slayer Flail Giant Damage Effect","cp":"6744e4ad95192d0012ba50f5","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Flail Damage","cp":"6744e4ad95192d0012ba50f5","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Flail Knock Prone","cp":"6744e4ad95192d0012ba50f5","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Glaive","blueprint":{"nm":"Giant Slayer Glaive","item":{"tp":"Item","cp":"6744e43e95192d0012ba3321","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Glaive","rd":"Giant Slayer Glaive Attack","cp":"6744e43e95192d0012ba3321","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Glaive","rd":"Giant Slayer Glaive Giant Damage Effect","cp":"6744e43e95192d0012ba3321","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Glaive Damage","cp":"6744e43e95192d0012ba3321","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Glaive Knock Prone","cp":"6744e43e95192d0012ba3321","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Greataxe","blueprint":{"nm":"Giant Slayer Greataxe","item":{"tp":"Item","cp":"6744e32c95192d0012b9ef14","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Greataxe","rd":"Giant Slayer Greataxe Attack","cp":"6744e32c95192d0012b9ef14","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Greataxe","rd":"Giant Slayer Greataxe Giant Damage Effect","cp":"6744e32c95192d0012b9ef14","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Greataxe Damage","cp":"6744e32c95192d0012b9ef14","ay":"auto","dT":"Slashing","die":"d12","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Greataxe Knock Prone","cp":"6744e32c95192d0012b9ef14","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Greatsword","blueprint":{"nm":"Giant Slayer Greatsword","item":{"tp":"Item","cp":"6744e3e395192d0012ba1b29","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Greatsword","rd":"Giant Slayer Greatsword Attack","cp":"6744e3e395192d0012ba1b29","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Greatsword","rd":"Giant Slayer Greatsword Giant Damage Effect","cp":"6744e3e395192d0012ba1b29","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Greatsword Damage","cp":"6744e3e395192d0012ba1b29","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":2,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Greatsword Knock Prone","cp":"6744e3e395192d0012ba1b29","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Halberd","blueprint":{"nm":"Giant Slayer Halberd","item":{"tp":"Item","cp":"6744e43d95192d0012ba32ea","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Halberd","rd":"Giant Slayer Halberd Attack","cp":"6744e43d95192d0012ba32ea","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Halberd","rd":"Giant Slayer Halberd Giant Damage Effect","cp":"6744e43d95192d0012ba32ea","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Halberd Damage","cp":"6744e43d95192d0012ba32ea","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Halberd Knock Prone","cp":"6744e43d95192d0012ba32ea","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Lance","blueprint":{"nm":"Giant Slayer Lance","item":{"tp":"Item","cp":"6744e40995192d0012ba2552","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Lance","rd":"Giant Slayer Lance Attack","cp":"6744e40995192d0012ba2552","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Lance","rd":"Giant Slayer Lance Giant Damage Effect","cp":"6744e40995192d0012ba2552","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Lance Damage","cp":"6744e40995192d0012ba2552","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Lance Knock Prone","cp":"6744e40995192d0012ba2552","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Longsword","blueprint":{"nm":"Giant Slayer Longsword","item":{"tp":"Item","cp":"6744e41a95192d0012ba2a1c","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Longsword","rd":"Giant Slayer Longsword Attack","cp":"6744e41a95192d0012ba2a1c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Longsword (Two-Handed)","rd":"Giant Slayer Longsword Attack (Two-handed)","cp":"6744e41a95192d0012ba2a1c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Longsword","rd":"Giant Slayer Longsword Giant Damage Effect","cp":"6744e41a95192d0012ba2a1c","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Longsword Damage","cp":"6744e41a95192d0012ba2a1c","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Longsword Damage (Two-handed)","cp":"6744e41a95192d0012ba2a1c","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Longsword Knock Prone","cp":"6744e41a95192d0012ba2a1c","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Maul","blueprint":{"nm":"Giant Slayer Maul","item":{"tp":"Item","cp":"6744e41b95192d0012ba2a37","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Maul","rd":"Giant Slayer Maul Attack","cp":"6744e41b95192d0012ba2a37","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Maul","rd":"Giant Slayer Maul Giant Damage Effect","cp":"6744e41b95192d0012ba2a37","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Maul Damage","cp":"6744e41b95192d0012ba2a37","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":2,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Maul Knock Prone","cp":"6744e41b95192d0012ba2a37","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Morningstar","blueprint":{"nm":"Giant Slayer Morningstar","item":{"tp":"Item","cp":"6744e41c95192d0012ba2aa4","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Morningstar","rd":"Giant Slayer Morningstar Attack","cp":"6744e41c95192d0012ba2aa4","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Morningstar","rd":"Giant Slayer Morningstar Giant Damage Effect","cp":"6744e41c95192d0012ba2aa4","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Morningstar Damage","cp":"6744e41c95192d0012ba2aa4","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Morningstar Knock Prone","cp":"6744e41c95192d0012ba2aa4","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Pike","blueprint":{"nm":"Giant Slayer Pike","item":{"tp":"Item","cp":"6744e44395192d0012ba3480","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Pike","rd":"Giant Slayer Pike Attack","cp":"6744e44395192d0012ba3480","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Pike","rd":"Giant Slayer Pike Giant Damage Effect","cp":"6744e44395192d0012ba3480","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Pike Damage","cp":"6744e44395192d0012ba3480","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Pike Knock Prone","cp":"6744e44395192d0012ba3480","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Rapier","blueprint":{"nm":"Giant Slayer Rapier","item":{"tp":"Item","cp":"6744e43c95192d0012ba32b4","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Rapier","rd":"Giant Slayer Rapier Attack","cp":"6744e43c95192d0012ba32b4","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Rapier","rd":"Giant Slayer Rapier Giant Damage Effect","cp":"6744e43c95192d0012ba32b4","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Rapier Damage","cp":"6744e43c95192d0012ba32b4","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Rapier Knock Prone","cp":"6744e43c95192d0012ba32b4","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Scimitar","blueprint":{"nm":"Giant Slayer Scimitar","item":{"tp":"Item","cp":"6744e32c95192d0012b9eef9","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":4,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Scimitar","rd":"Giant Slayer Scimitar Attack","cp":"6744e32c95192d0012b9eef9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Scimitar (Finesse)","rd":"Giant Slayer Scimitar Attack (Finesse)","cp":"6744e32c95192d0012b9eef9","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Ak","nm":"Giant Slayer Scimitar (Off-Hand)","rd":"Giant Slayer Scimitar Attack (Off-hand)","cp":"6744e32c95192d0012b9eef9","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c4","tp":"Effect","nm":"Giant Slayer Scimitar","rd":"Giant Slayer Scimitar Giant Damage Effect","cp":"6744e32c95192d0012b9eef9","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Scimitar Damage","cp":"6744e32c95192d0012b9eef9","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Scimitar Damage (Finesse)","cp":"6744e32c95192d0012b9eef9","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Giant Slayer Scimitar Damage (Off-hand)","cp":"6744e32c95192d0012b9eef9","ay":"none","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"Ak","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Scimitar Knock Prone","cp":"6744e32c95192d0012b9eef9","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Shortsword","blueprint":{"nm":"Giant Slayer Shortsword","item":{"tp":"Item","cp":"6744e41b95192d0012ba2a52","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":4,"Effect":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Shortsword","rd":"Giant Slayer Shortsword Attack","cp":"6744e41b95192d0012ba2a52","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Shortsword (Finesse)","rd":"Giant Slayer Shortsword Attack (Finesse)","cp":"6744e41b95192d0012ba2a52","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Ak","nm":"Giant Slayer Shortsword (Off-Hand)","rd":"Giant Slayer Shortsword Attack (Off-hand)","cp":"6744e41b95192d0012ba2a52","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c4","tp":"Effect","nm":"Giant Slayer Shortsword","rd":"Giant Slayer Shortsword Giant Damage Effect","cp":"6744e41b95192d0012ba2a52","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Shortsword Damage","cp":"6744e41b95192d0012ba2a52","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Shortsword Damage (Finesse)","cp":"6744e41b95192d0012ba2a52","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Giant Slayer Shortsword Damage (Off-hand)","cp":"6744e41b95192d0012ba2a52","ay":"none","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"Ak","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Shortsword Knock Prone","cp":"6744e41b95192d0012ba2a52","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Trident","blueprint":{"nm":"Giant Slayer Trident","item":{"tp":"Item","cp":"6744e41995192d0012ba29e6","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Trident","rd":"Giant Slayer Trident Attack","cp":"6744e41995192d0012ba29e6","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Giant Slayer Trident (Two-Handed)","rd":"Giant Slayer Trident Attack (Two-handed)","cp":"6744e41995192d0012ba29e6","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Effect","nm":"Giant Slayer Trident","rd":"Giant Slayer Trident Giant Damage Effect","cp":"6744e41995192d0012ba29e6","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Trident Damage","cp":"6744e41995192d0012ba29e6","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Trident Damage (Two-handed)","cp":"6744e41995192d0012ba29e6","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Trident Knock Prone","cp":"6744e41995192d0012ba29e6","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer War Pick","blueprint":{"nm":"Giant Slayer War Pick","item":{"tp":"Item","cp":"6744e3f195192d0012ba1efa","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer War Pick","rd":"Giant Slayer War Pick Attack","cp":"6744e3f195192d0012ba1efa","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Giant Slayer War Pick (Two-Handed)","rd":"Giant Slayer War Pick Attack (Two-handed)","cp":"6744e3f195192d0012ba1efa","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Effect","nm":"Giant Slayer War Pick","rd":"Giant Slayer War Pick Giant Damage Effect","cp":"6744e3f195192d0012ba1efa","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer War Pick Damage","cp":"6744e3f195192d0012ba1efa","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer War Pick Damage (Two-handed)","cp":"6744e3f195192d0012ba1efa","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer War Pick Knock Prone","cp":"6744e3f195192d0012ba1efa","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Warhammer","blueprint":{"nm":"Giant Slayer Warhammer","item":{"tp":"Item","cp":"6744e41f95192d0012ba2b42","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Warhammer","rd":"Giant Slayer Warhammer Attack","cp":"6744e41f95192d0012ba2b42","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Giant Slayer Warhammer (Two-Handed)","rd":"Giant Slayer Warhammer Attack (Two-handed)","cp":"6744e41f95192d0012ba2b42","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Effect","nm":"Giant Slayer Warhammer","rd":"Giant Slayer Warhammer Giant Damage Effect","cp":"6744e41f95192d0012ba2b42","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Warhammer Damage","cp":"6744e41f95192d0012ba2b42","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Warhammer Damage (Two-handed)","cp":"6744e41f95192d0012ba2b42","ay":"auto","dT":"Bludgeoning","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Warhammer Knock Prone","cp":"6744e41f95192d0012ba2b42","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Whip","blueprint":{"nm":"Giant Slayer Whip","item":{"tp":"Item","cp":"6744e43e95192d0012ba333c","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Whip","rd":"Giant Slayer Whip Attack","cp":"6744e43e95192d0012ba333c","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Giant Slayer Whip (Finesse)","rd":"Giant Slayer Whip Attack (Finesse)","cp":"6744e43e95192d0012ba333c","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Effect","nm":"Giant Slayer Whip","rd":"Giant Slayer Whip Giant Damage Effect","cp":"6744e43e95192d0012ba333c","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Whip Damage","cp":"6744e43e95192d0012ba333c","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Whip Damage (Finesse)","cp":"6744e43e95192d0012ba333c","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Whip Knock Prone","cp":"6744e43e95192d0012ba333c","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Glaive","blueprint":{"nm":"Glaive","item":{"tp":"Item","cp":"67a659a3db873a00127f93c2","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nReach. A Reach weapon adds 5 feet to your reach when you attack with it, as well as when determining your reach for Opportunity Attacks with it.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d10\nDamage Type: Slashing\nProperties: Heavy, Reach, Two-Handed\nMastery: Graze\nWeight: 6","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Glaive","rd":"Glaive Attack","cp":"67a659a3db873a00127f93c2","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Glaive Damage","cp":"67a659a3db873a00127f93c2","ay":"auto","dT":"Slashing","die":"d10","ct":1,"oC":false}]}},{"nm":"Glaive +1","blueprint":{"nm":"Glaive +1","item":{"tp":"Item","cp":"6744e42995192d0012ba2df8","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Glaive +1","rd":"Glaive +1 Attack","cp":"6744e42995192d0012ba2df8","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Glaive +1 Damage","cp":"6744e42995192d0012ba2df8","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Glaive +2","blueprint":{"nm":"Glaive +2","item":{"tp":"Item","cp":"6744e32d95192d0012b9ef66","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Glaive +2","rd":"Glaive +2 Attack","cp":"6744e32d95192d0012b9ef66","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Glaive +2 Damage","cp":"6744e32d95192d0012b9ef66","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Glaive +3","blueprint":{"nm":"Glaive +3","item":{"tp":"Item","cp":"6744e43e95192d0012ba3357","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Glaive +3","rd":"Glaive +3 Attack","cp":"6744e43e95192d0012ba3357","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Glaive +3 Damage","cp":"6744e43e95192d0012ba3357","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Glaive of Life Stealing","blueprint":{"nm":"Glaive of Life Stealing","item":{"tp":"Item","cp":"681529f4a193700012c13488","dn":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Glaive of Life Stealing Attunement","cp":"681529f4a193700012c13488","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Life Stealing","rd":"Glaive of Life Stealing Attack","cp":"681529f4a193700012c13488","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Life Stealing Damage","cp":"681529f4a193700012c13488","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Glaive of Sharpness","blueprint":{"nm":"Glaive of Sharpness","item":{"tp":"Item","cp":"68152958a193700012c11627","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Glaive of Sharpness Attunement","cp":"68152958a193700012c11627","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Sharpness","rd":"Glaive of Sharpness Attack","cp":"68152958a193700012c11627","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Sharpness Damage","cp":"68152958a193700012c11627","ay":"auto","dT":"Slashing","die":"d10","ct":1,"oC":false}]}},{"nm":"Glaive of Warning","blueprint":{"nm":"Glaive of Warning","item":{"tp":"Item","cp":"6815294ba193700012c11374","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Glaive of Warning Attunement","cp":"6815294ba193700012c11374","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Glaive of Warning","rd":"Glaive of Warning Attack","cp":"6815294ba193700012c11374","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Warning Initiative Advantage","cp":"6815294ba193700012c11374","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Glaive of Warning Damage","cp":"6815294ba193700012c11374","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Glaive of Wounding","blueprint":{"nm":"Glaive of Wounding","item":{"tp":"Item","cp":"68152925a193700012c10bb0","dn":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Glaive of Wounding Attunement","cp":"68152925a193700012c10bb0","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Wounding","rd":"Glaive of Wounding Attack","cp":"68152925a193700012c10bb0","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wounding","rd":"Glaive of Wounding Special Attack","cp":"68152925a193700012c10bb0","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target is unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Wounding Damage","cp":"68152925a193700012c10bb0","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c2","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Glaive of Wounding Necrotic Damage","cp":"68152925a193700012c10bb0","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false}]}},{"nm":"Greataxe","blueprint":{"nm":"Greataxe","item":{"tp":"Item","cp":"67a659a3db873a00127f93e3","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d12\nDamage Type: Slashing\nProperties: Heavy, Two-Handed\nMastery: Cleave\nWeight: 7","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greataxe","rd":"Greataxe Attack","cp":"67a659a3db873a00127f93e3","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greataxe Damage","cp":"67a659a3db873a00127f93e3","ay":"auto","dT":"Slashing","die":"d12","ct":1,"oC":false}]}},{"nm":"Greataxe +1","blueprint":{"nm":"Greataxe +1","item":{"tp":"Item","cp":"6744e2e195192d0012b9de4f","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greataxe +1","rd":"Greataxe +1 Attack","cp":"6744e2e195192d0012b9de4f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greataxe +1 Damage","cp":"6744e2e195192d0012b9de4f","ay":"auto","dT":"Slashing","die":"d12","bo":1,"ct":1,"oC":false}]}},{"nm":"Greataxe +2","blueprint":{"nm":"Greataxe +2","item":{"tp":"Item","cp":"6744e44295192d0012ba342f","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greataxe +2","rd":"Greataxe +2 Attack","cp":"6744e44295192d0012ba342f","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greataxe +2 Damage","cp":"6744e44295192d0012ba342f","ay":"auto","dT":"Slashing","die":"d12","bo":2,"ct":1,"oC":false}]}},{"nm":"Greataxe +3","blueprint":{"nm":"Greataxe +3","item":{"tp":"Item","cp":"6744e44295192d0012ba344a","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greataxe +3","rd":"Greataxe +3 Attack","cp":"6744e44295192d0012ba344a","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greataxe +3 Damage","cp":"6744e44295192d0012ba344a","ay":"auto","dT":"Slashing","die":"d12","bo":3,"ct":1,"oC":false}]}},{"nm":"Greataxe of Warning","blueprint":{"nm":"Greataxe of Warning","item":{"tp":"Item","cp":"6815294aa193700012c11356","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Greataxe of Warning Attunement","cp":"6815294aa193700012c11356","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Greataxe of Warning","rd":"Greataxe of Warning Attack","cp":"6815294aa193700012c11356","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greataxe of Warning Initiative Advantage","cp":"6815294aa193700012c11356","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Greataxe of Warning Damage","cp":"6815294aa193700012c11356","ay":"auto","dT":"Slashing","die":"d12","bo":0,"ct":1,"oC":false}]}},{"nm":"Greatsword","blueprint":{"nm":"Greatsword","item":{"tp":"Item","cp":"67a65995db873a00127f8edb","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 2d6\nDamage Type: Slashing\nProperties: Heavy, Two-Handed\nMastery: Graze\nWeight: 6","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatsword","rd":"Greatsword Attack","cp":"67a65995db873a00127f8edb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatsword Damage","cp":"67a65995db873a00127f8edb","ay":"auto","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Greatsword +1","blueprint":{"nm":"Greatsword +1","item":{"tp":"Item","cp":"6744e41195192d0012ba2778","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatsword +1","rd":"Greatsword +1 Attack","cp":"6744e41195192d0012ba2778","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatsword +1 Damage","cp":"6744e41195192d0012ba2778","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":2,"oC":false}]}},{"nm":"Greatsword +2","blueprint":{"nm":"Greatsword +2","item":{"tp":"Item","cp":"6744e44595192d0012ba3527","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatsword +2","rd":"Greatsword +2 Attack","cp":"6744e44595192d0012ba3527","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatsword +2 Damage","cp":"6744e44595192d0012ba3527","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":2,"oC":false}]}},{"nm":"Greatsword +3","blueprint":{"nm":"Greatsword +3","item":{"tp":"Item","cp":"6744e42c95192d0012ba2eb5","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Greatsword +3","rd":"Greatsword +3 Attack","cp":"6744e42c95192d0012ba2eb5","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Greatsword +3 Damage","cp":"6744e42c95192d0012ba2eb5","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Greatsword of Life Stealing","blueprint":{"nm":"Greatsword of Life Stealing","item":{"tp":"Item","cp":"681529f4a193700012c13499","dn":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Greatsword of Life Stealing Attunement","cp":"681529f4a193700012c13499","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Life Stealing","rd":"Greatsword of Life Stealing Attack","cp":"681529f4a193700012c13499","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Life Stealing Damage","cp":"681529f4a193700012c13499","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Greatsword of Sharpness","blueprint":{"nm":"Greatsword of Sharpness","item":{"tp":"Item","cp":"6813fc34f9542900125cb028","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Greatsword of Sharpness Attunement","cp":"6813fc34f9542900125cb028","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Sharpness","rd":"Greatsword of Sharpness Attack","cp":"6813fc34f9542900125cb028","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Sharpness Damage","cp":"6813fc34f9542900125cb028","ay":"auto","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Greatsword of Warning","blueprint":{"nm":"Greatsword of Warning","item":{"tp":"Item","cp":"681529f7a193700012c1354d","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Greatsword of Warning Attunement","cp":"681529f7a193700012c1354d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Greatsword of Warning","rd":"Greatsword of Warning Attack","cp":"681529f7a193700012c1354d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Warning Initiative Advantage","cp":"681529f7a193700012c1354d","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Greatsword of Warning Damage","cp":"681529f7a193700012c1354d","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Greatsword of Wounding","blueprint":{"nm":"Greatsword of Wounding","item":{"tp":"Item","cp":"68152a1fa193700012c13d91","dn":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Greatsword of Wounding Attunement","cp":"68152a1fa193700012c13d91","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Wounding","rd":"Greatsword of Wounding Attack","cp":"68152a1fa193700012c13d91","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wounding","rd":"Greatsword of Wounding Special Attack","cp":"68152a1fa193700012c13d91","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target is unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Wounding Damage","cp":"68152a1fa193700012c13d91","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false},{"id":"c1-c1-c2","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Greatsword of Wounding Necrotic Damage","cp":"68152a1fa193700012c13d91","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false}]}},{"nm":"Halberd","blueprint":{"nm":"Halberd","item":{"tp":"Item","cp":"67a659a4db873a00127f93fe","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nReach. A Reach weapon adds 5 feet to your reach when you attack with it, as well as when determining your reach for Opportunity Attacks with it.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d10\nDamage Type: Slashing\nProperties: Heavy, Reach, Two-Handed\nMastery: Cleave\nWeight: 6","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Halberd","rd":"Halberd Attack","cp":"67a659a4db873a00127f93fe","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Halberd Damage","cp":"67a659a4db873a00127f93fe","ay":"auto","dT":"Slashing","die":"d10","ct":1,"oC":false}]}},{"nm":"Halberd +1","blueprint":{"nm":"Halberd +1","item":{"tp":"Item","cp":"6744e43495192d0012ba308a","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Halberd +1","rd":"Halberd +1 Attack","cp":"6744e43495192d0012ba308a","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Halberd +1 Damage","cp":"6744e43495192d0012ba308a","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Halberd +2","blueprint":{"nm":"Halberd +2","item":{"tp":"Item","cp":"6744e43495192d0012ba30c0","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Halberd +2","rd":"Halberd +2 Attack","cp":"6744e43495192d0012ba30c0","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Halberd +2 Damage","cp":"6744e43495192d0012ba30c0","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Halberd +3","blueprint":{"nm":"Halberd +3","item":{"tp":"Item","cp":"6744e39595192d0012ba0843","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Halberd +3","rd":"Halberd +3 Attack","cp":"6744e39595192d0012ba0843","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Halberd +3 Damage","cp":"6744e39595192d0012ba0843","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Halberd of Warning","blueprint":{"nm":"Halberd of Warning","item":{"tp":"Item","cp":"68152964a193700012c11885","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Halberd of Warning Attunement","cp":"68152964a193700012c11885","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Halberd of Warning","rd":"Halberd of Warning Attack","cp":"68152964a193700012c11885","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Halberd of Warning Initiative Advantage","cp":"68152964a193700012c11885","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Halberd of Warning Damage","cp":"68152964a193700012c11885","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Battleaxe","blueprint":{"nm":"Holy Avenger Battleaxe","item":{"tp":"Item","cp":"681529f1a193700012c133f3","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Battleaxe Attunement","cp":"681529f1a193700012c133f3","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Battleaxe","rd":"Holy Avenger Battleaxe Attack","cp":"681529f1a193700012c133f3","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Battleaxe (Two-handed)","rd":"Holy Avenger Battleaxe Attack (Two-handed)","cp":"681529f1a193700012c133f3","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Battleaxe Effect - Damage","cp":"681529f1a193700012c133f3","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Battleaxe Defense","cp":"681529f1a193700012c133f3","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Battleaxe Spell Saving Throw Advantage","cp":"681529f1a193700012c133f3","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Battleaxe Damage","cp":"681529f1a193700012c133f3","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Battleaxe Damage (Two-handed)","cp":"681529f1a193700012c133f3","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Flail","blueprint":{"nm":"Holy Avenger Flail","item":{"tp":"Item","cp":"68152a09a193700012c13921","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Flail Attunement","cp":"68152a09a193700012c13921","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Flail","rd":"Holy Avenger Flail Attack","cp":"68152a09a193700012c13921","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Flail Effect - Damage","cp":"68152a09a193700012c13921","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Flail Defense","cp":"68152a09a193700012c13921","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Flail Spell Saving Throw Advantage","cp":"68152a09a193700012c13921","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Flail Damage","cp":"68152a09a193700012c13921","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Glaive","blueprint":{"nm":"Holy Avenger Glaive","item":{"tp":"Item","cp":"6815296fa193700012c11ab7","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Glaive Attunement","cp":"6815296fa193700012c11ab7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Glaive","rd":"Holy Avenger Glaive Attack","cp":"6815296fa193700012c11ab7","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Glaive Effect - Damage","cp":"6815296fa193700012c11ab7","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Glaive Defense","cp":"6815296fa193700012c11ab7","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Glaive Spell Saving Throw Advantage","cp":"6815296fa193700012c11ab7","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Glaive Damage","cp":"6815296fa193700012c11ab7","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Greataxe","blueprint":{"nm":"Holy Avenger Greataxe","item":{"tp":"Item","cp":"681529c1a193700012c12aff","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Greataxe Attunement","cp":"681529c1a193700012c12aff","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Greataxe","rd":"Holy Avenger Greataxe Attack","cp":"681529c1a193700012c12aff","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Greataxe Effect - Damage","cp":"681529c1a193700012c12aff","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Greataxe Defense","cp":"681529c1a193700012c12aff","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Greataxe Spell Saving Throw Advantage","cp":"681529c1a193700012c12aff","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Greataxe Damage","cp":"681529c1a193700012c12aff","ay":"auto","dT":"Slashing","die":"d12","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Greatsword","blueprint":{"nm":"Holy Avenger Greatsword","item":{"tp":"Item","cp":"68140088614c8000122d28db","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Greatsword Attunement","cp":"68140088614c8000122d28db","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Greatsword","rd":"Holy Avenger Greatsword Attack","cp":"68140088614c8000122d28db","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Greatsword Effect - Damage","cp":"68140088614c8000122d28db","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Greatsword Defense","cp":"68140088614c8000122d28db","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Greatsword Spell Saving Throw Advantage","cp":"68140088614c8000122d28db","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Greatsword Damage","cp":"68140088614c8000122d28db","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Holy Avenger Halberd","blueprint":{"nm":"Holy Avenger Halberd","item":{"tp":"Item","cp":"68152a17a193700012c13c2c","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Halberd Attunement","cp":"68152a17a193700012c13c2c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Halberd","rd":"Holy Avenger Halberd Attack","cp":"68152a17a193700012c13c2c","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Halberd Effect - Damage","cp":"68152a17a193700012c13c2c","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Halberd Defense","cp":"68152a17a193700012c13c2c","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Halberd Spell Saving Throw Advantage","cp":"68152a17a193700012c13c2c","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Halberd Damage","cp":"68152a17a193700012c13c2c","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Lance","blueprint":{"nm":"Holy Avenger Lance","item":{"tp":"Item","cp":"6815291da193700012c10a4e","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Lance Attunement","cp":"6815291da193700012c10a4e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Lance","rd":"Holy Avenger Lance Attack","cp":"6815291da193700012c10a4e","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Lance Effect - Damage","cp":"6815291da193700012c10a4e","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Lance Defense","cp":"6815291da193700012c10a4e","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Lance Spell Saving Throw Advantage","cp":"6815291da193700012c10a4e","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Lance Damage","cp":"6815291da193700012c10a4e","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Longsword","blueprint":{"nm":"Holy Avenger Longsword","item":{"tp":"Item","cp":"68152a09a193700012c13931","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Longsword Attunement","cp":"68152a09a193700012c13931","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Longsword","rd":"Holy Avenger Longsword Attack","cp":"68152a09a193700012c13931","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Longsword (Two-handed)","rd":"Holy Avenger Longsword Attack (Two-handed)","cp":"68152a09a193700012c13931","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Longsword Effect - Damage","cp":"68152a09a193700012c13931","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Longsword Defense","cp":"68152a09a193700012c13931","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Longsword Spell Saving Throw Advantage","cp":"68152a09a193700012c13931","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Longsword Damage","cp":"68152a09a193700012c13931","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Longsword Damage (Two-handed)","cp":"68152a09a193700012c13931","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Maul","blueprint":{"nm":"Holy Avenger Maul","item":{"tp":"Item","cp":"68152a17a193700012c13c18","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Maul Attunement","cp":"68152a17a193700012c13c18","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Maul","rd":"Holy Avenger Maul Attack","cp":"68152a17a193700012c13c18","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Maul Effect - Damage","cp":"68152a17a193700012c13c18","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Maul Defense","cp":"68152a17a193700012c13c18","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Maul Spell Saving Throw Advantage","cp":"68152a17a193700012c13c18","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Maul Damage","cp":"68152a17a193700012c13c18","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Holy Avenger Morningstar","blueprint":{"nm":"Holy Avenger Morningstar","item":{"tp":"Item","cp":"681529c1a193700012c12b13","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Morningstar Attunement","cp":"681529c1a193700012c12b13","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Morningstar","rd":"Holy Avenger Morningstar Attack","cp":"681529c1a193700012c12b13","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Morningstar Effect - Damage","cp":"681529c1a193700012c12b13","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Morningstar Defense","cp":"681529c1a193700012c12b13","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Morningstar Spell Saving Throw Advantage","cp":"681529c1a193700012c12b13","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Morningstar Damage","cp":"681529c1a193700012c12b13","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Pike","blueprint":{"nm":"Holy Avenger Pike","item":{"tp":"Item","cp":"6815290da193700012c1074e","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Pike Attunement","cp":"6815290da193700012c1074e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Pike","rd":"Holy Avenger Pike Attack","cp":"6815290da193700012c1074e","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Pike Effect - Damage","cp":"6815290da193700012c1074e","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Pike Defense","cp":"6815290da193700012c1074e","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Pike Spell Saving Throw Advantage","cp":"6815290da193700012c1074e","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Pike Damage","cp":"6815290da193700012c1074e","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Rapier","blueprint":{"nm":"Holy Avenger Rapier","item":{"tp":"Item","cp":"681529b8a193700012c12943","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Rapier Attunement","cp":"681529b8a193700012c12943","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Rapier","rd":"Holy Avenger Rapier Attack","cp":"681529b8a193700012c12943","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Rapier (Finesse)","rd":"Holy Avenger Rapier Attack (Finesse)","cp":"681529b8a193700012c12943","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Rapier Effect - Damage","cp":"681529b8a193700012c12943","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Rapier Defense","cp":"681529b8a193700012c12943","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Rapier Spell Saving Throw Advantage","cp":"681529b8a193700012c12943","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Rapier Damage","cp":"681529b8a193700012c12943","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Rapier Damage (Finesse)","cp":"681529b8a193700012c12943","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Scimitar","blueprint":{"nm":"Holy Avenger Scimitar","item":{"tp":"Item","cp":"681529bea193700012c12a69","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Defense":1,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Scimitar Attunement","cp":"681529bea193700012c12a69","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Scimitar","rd":"Holy Avenger Scimitar Attack","cp":"681529bea193700012c12a69","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Scimitar (Finesse)","rd":"Holy Avenger Scimitar Attack (Finesse)","cp":"681529bea193700012c12a69","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Scimitar (Off-hand)","rd":"Holy Avenger Scimitar Attack (Off-hand)","cp":"681529bea193700012c12a69","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Scimitar Effect - Damage","cp":"681529bea193700012c12a69","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Scimitar Defense","cp":"681529bea193700012c12a69","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Scimitar Spell Saving Throw Advantage","cp":"681529bea193700012c12a69","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Scimitar Damage","cp":"681529bea193700012c12a69","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Scimitar Damage (Finesse)","cp":"681529bea193700012c12a69","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Scimitar Damage (Off-hand)","cp":"681529bea193700012c12a69","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Shortsword","blueprint":{"nm":"Holy Avenger Shortsword","item":{"tp":"Item","cp":"681529f2a193700012c13435","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Defense":1,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Shortsword Attunement","cp":"681529f2a193700012c13435","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Shortsword","rd":"Holy Avenger Shortsword Attack","cp":"681529f2a193700012c13435","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Shortsword (Finesse)","rd":"Holy Avenger Shortsword Attack (Finesse)","cp":"681529f2a193700012c13435","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Shortsword (Off-hand)","rd":"Holy Avenger Shortsword Attack (Off-hand)","cp":"681529f2a193700012c13435","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Shortsword Effect - Damage","cp":"681529f2a193700012c13435","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Shortsword Defense","cp":"681529f2a193700012c13435","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Shortsword Spell Saving Throw Advantage","cp":"681529f2a193700012c13435","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Shortsword Damage","cp":"681529f2a193700012c13435","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Shortsword Damage (Finesse)","cp":"681529f2a193700012c13435","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Shortsword Damage (Off-hand)","cp":"681529f2a193700012c13435","ay":"none","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Trident","blueprint":{"nm":"Holy Avenger Trident","item":{"tp":"Item","cp":"6815290ba193700012c106e0","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Am":1,"Ak":3,"Effect":1,"Defense":1,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Trident Attunement","cp":"6815290ba193700012c106e0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Trident","rd":"Holy Avenger Trident Attack","cp":"6815290ba193700012c106e0","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Trident (Thrown)","rd":"Holy Avenger Trident Attack (Thrown)","cp":"6815290ba193700012c106e0","aT":"Action","rg":"20/60","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c4","tp":"Ak","nm":"Holy Avenger Trident (Two-handed)","rd":"Holy Avenger Trident Attack (Two-handed)","cp":"6815290ba193700012c106e0","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Trident Effect - Damage","cp":"6815290ba193700012c106e0","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Trident Defense","cp":"6815290ba193700012c106e0","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Trident Spell Saving Throw Advantage","cp":"6815290ba193700012c106e0","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Trident Damage","cp":"6815290ba193700012c106e0","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Trident Damage (Thrown)","cp":"6815290ba193700012c106e0","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Holy Avenger Trident Damage (Two-handed)","cp":"6815290ba193700012c106e0","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger War Pick","blueprint":{"nm":"Holy Avenger War Pick","item":{"tp":"Item","cp":"6815290da193700012c1073e","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger War Pick Attunement","cp":"6815290da193700012c1073e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger War Pick","rd":"Holy Avenger War Pick Attack","cp":"6815290da193700012c1073e","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger War Pick (Two-handed)","rd":"Holy Avenger War Pick Attack (Two-handed)","cp":"6815290da193700012c1073e","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger War Pick Effect - Damage","cp":"6815290da193700012c1073e","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger War Pick Defense","cp":"6815290da193700012c1073e","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger War Pick Spell Saving Throw Advantage","cp":"6815290da193700012c1073e","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger War Pick Damage","cp":"6815290da193700012c1073e","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger War Pick Damage (Two-handed)","cp":"6815290da193700012c1073e","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Warhammer","blueprint":{"nm":"Holy Avenger Warhammer","item":{"tp":"Item","cp":"681529d5a193700012c12f1a","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Warhammer Attunement","cp":"681529d5a193700012c12f1a","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Warhammer","rd":"Holy Avenger Warhammer Attack","cp":"681529d5a193700012c12f1a","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Warhammer (Two-handed)","rd":"Holy Avenger Warhammer Attack (Two-handed)","cp":"681529d5a193700012c12f1a","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Warhammer Effect - Damage","cp":"681529d5a193700012c12f1a","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Warhammer Defense","cp":"681529d5a193700012c12f1a","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Warhammer Spell Saving Throw Advantage","cp":"681529d5a193700012c12f1a","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Warhammer Damage","cp":"681529d5a193700012c12f1a","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Warhammer Damage (Two-handed)","cp":"681529d5a193700012c12f1a","ay":"auto","dT":"Bludgeoning","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Whip","blueprint":{"nm":"Holy Avenger Whip","item":{"tp":"Item","cp":"68152a17a193700012c13c08","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Whip Attunement","cp":"68152a17a193700012c13c08","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Whip","rd":"Holy Avenger Whip Attack","cp":"68152a17a193700012c13c08","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Whip (Finesse)","rd":"Holy Avenger Whip Attack (Finesse)","cp":"68152a17a193700012c13c08","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Whip Effect - Damage","cp":"68152a17a193700012c13c08","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Whip Defense","cp":"68152a17a193700012c13c08","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Whip Spell Saving Throw Advantage","cp":"68152a17a193700012c13c08","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Whip Damage","cp":"68152a17a193700012c13c08","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Whip Damage (Finesse)","cp":"68152a17a193700012c13c08","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Lance","blueprint":{"nm":"Lance","item":{"tp":"Item","cp":"67a659a4db873a00127f943b","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nReach. A Reach weapon adds 5 feet to your reach when you attack with it, as well as when determining your reach for Opportunity Attacks with it.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d10\nDamage Type: Piercing\nProperties: Heavy, Reach, Two-Handed (unless mounted)\nMastery: Topple\nWeight: 6","wt":6,"ps":["Heavy","Reach","Two-Handed (unless mounted)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Lance","rd":"Lance Attack","cp":"67a659a4db873a00127f943b","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Lance Damage","cp":"67a659a4db873a00127f943b","ay":"auto","dT":"Piercing","die":"d10","ct":1,"oC":false}]}},{"nm":"Lance +1","blueprint":{"nm":"Lance +1","item":{"tp":"Item","cp":"6744e3fa95192d0012ba2134","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Lance +1","rd":"Lance +1 Attack","cp":"6744e3fa95192d0012ba2134","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Lance +1 Damage","cp":"6744e3fa95192d0012ba2134","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Lance +2","blueprint":{"nm":"Lance +2","item":{"tp":"Item","cp":"6744e45495192d0012ba390f","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Lance +2","rd":"Lance +2 Attack","cp":"6744e45495192d0012ba390f","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Lance +2 Damage","cp":"6744e45495192d0012ba390f","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Lance +3","blueprint":{"nm":"Lance +3","item":{"tp":"Item","cp":"6744e44d95192d0012ba3743","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Lance +3","rd":"Lance +3 Attack","cp":"6744e44d95192d0012ba3743","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Lance +3 Damage","cp":"6744e44d95192d0012ba3743","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Lance of Warning","blueprint":{"nm":"Lance of Warning","item":{"tp":"Item","cp":"68152928a193700012c10c7c","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Lance of Warning Attunement","cp":"68152928a193700012c10c7c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Lance of Warning","rd":"Lance of Warning Attack","cp":"68152928a193700012c10c7c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lance of Warning Initiative Advantage","cp":"68152928a193700012c10c7c","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Lance of Warning Damage","cp":"68152928a193700012c10c7c","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Longsword","blueprint":{"nm":"Longsword","item":{"tp":"Item","cp":"67a659a4db873a00127f941c","dn":"Versatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nDamage: 1d8 (1d10)\nDamage Type: Slashing\nProperties: Versatile\nMastery: Sap\nWeight: 3","wt":3,"ps":["Versatile (1d10)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Longsword (One-Handed)","rd":"Longsword Attack One-Handed","cp":"67a659a4db873a00127f941c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Longsword (Two-Handed)","rd":"Longsword Two-Handed Attack","cp":"67a659a4db873a00127f941c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longsword Damage One-Handed","cp":"67a659a4db873a00127f941c","ay":"auto","dT":"Slashing","die":"d8","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Longsword Two Handed Damage","cp":"67a659a4db873a00127f941c","ay":"auto","dT":"Slashing","die":"d10","ct":1,"oC":false}]}},{"nm":"Longsword +1","blueprint":{"nm":"Longsword +1","item":{"tp":"Item","cp":"6744e45895192d0012ba3a09","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Longsword +1","rd":"Longsword +1 Attack","cp":"6744e45895192d0012ba3a09","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Longsword +1 (Two-handed)","rd":"Longsword +1 Attack (Two-handed)","cp":"6744e45895192d0012ba3a09","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longsword +1 Damage","cp":"6744e45895192d0012ba3a09","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Longsword +1 Damage (Two-handed)","cp":"6744e45895192d0012ba3a09","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Longsword +2","blueprint":{"nm":"Longsword +2","item":{"tp":"Item","cp":"6744e45b95192d0012ba3b06","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Longsword +2","rd":"Longsword +2 Attack","cp":"6744e45b95192d0012ba3b06","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Longsword +2 (Two-handed)","rd":"Longsword +2 Attack (Two-handed)","cp":"6744e45b95192d0012ba3b06","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longsword +2 Damage","cp":"6744e45b95192d0012ba3b06","ay":"auto","dT":"Slashing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Longsword +2 Damage (Two-handed)","cp":"6744e45b95192d0012ba3b06","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Longsword +3","blueprint":{"nm":"Longsword +3","item":{"tp":"Item","cp":"6744e45c95192d0012ba3b21","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Longsword +3","rd":"Longsword +3 Attack","cp":"6744e45c95192d0012ba3b21","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Longsword +3 (Two-handed)","rd":"Longsword +3 Attack (Two-handed)","cp":"6744e45c95192d0012ba3b21","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longsword +3 Damage","cp":"6744e45c95192d0012ba3b21","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Longsword +3 Damage (Two-handed)","cp":"6744e45c95192d0012ba3b21","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Longsword of Life Stealing","blueprint":{"nm":"Longsword of Life Stealing","item":{"tp":"Item","cp":"681404b0a193700012be6b24","dn":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Longsword of Life Stealing Attunement","cp":"681404b0a193700012be6b24","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Life Stealing","rd":"Longsword of Life Stealing Attack","cp":"681404b0a193700012be6b24","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Life Stealing (Two-handed)","rd":"Longsword of Life Stealing Attack (Two-handed)","cp":"681404b0a193700012be6b24","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Life Stealing Damage","cp":"681404b0a193700012be6b24","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Life Stealing Damage (Two-handed)","cp":"681404b0a193700012be6b24","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Longsword of Sharpness","blueprint":{"nm":"Longsword of Sharpness","item":{"tp":"Item","cp":"68152915a193700012c108ce","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Longsword of Sharpness Attunement","cp":"68152915a193700012c108ce","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Sharpness","rd":"Longsword of Sharpness Attack","cp":"68152915a193700012c108ce","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Sharpness (Two-handed)","rd":"Longsword of Sharpness Attack (Two-handed)","cp":"68152915a193700012c108ce","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Sharpness Damage","cp":"68152915a193700012c108ce","ay":"auto","dT":"Slashing","die":"d8","ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Sharpness Damage (Two-handed)","cp":"68152915a193700012c108ce","ay":"auto","dT":"Slashing","die":"d10","ct":1,"oC":false}]}},{"nm":"Longsword of Warning","blueprint":{"nm":"Longsword of Warning","item":{"tp":"Item","cp":"681529f7a193700012c1353d","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Longsword of Warning Attunement","cp":"681529f7a193700012c1353d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Longsword of Warning","rd":"Longsword of Warning Attack","cp":"681529f7a193700012c1353d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Longsword of Warning (Two-handed)","rd":"Longsword of Warning Attack (Two-handed)","cp":"681529f7a193700012c1353d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Warning Initiative Advantage","cp":"681529f7a193700012c1353d","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Longsword of Warning Damage","cp":"681529f7a193700012c1353d","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Longsword of Warning Damage (Two-handed)","cp":"681529f7a193700012c1353d","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Longsword of Wounding","blueprint":{"nm":"Longsword of Wounding","item":{"tp":"Item","cp":"68152a1ea193700012c13d81","dn":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":3,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Longsword of Wounding Attunement","cp":"68152a1ea193700012c13d81","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Wounding","rd":"Longsword of Wounding (One-Handed) Attack","cp":"68152a1ea193700012c13d81","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Wounding (Two-handed)","rd":"Longsword of Wounding (Two-handed) Attack","cp":"68152a1ea193700012c13d81","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wounding","rd":"Longsword of Wounding Special Attack","cp":"68152a1ea193700012c13d81","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target is unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Wounding (One-Handed) Damage","cp":"68152a1ea193700012c13d81","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c2","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Wounding (One-Handed) Necrotic Damage","cp":"68152a1ea193700012c13d81","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Wounding (Two-Handed) Damage","cp":"68152a1ea193700012c13d81","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c2","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longsword of Wounding (Two-handed) Necrotic Damage","cp":"68152a1ea193700012c13d81","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false}]}},{"nm":"Luck Blade Glaive","blueprint":{"nm":"Luck Blade Glaive","item":{"tp":"Item","cp":"68152989a193700012c11fcc","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"RB":1,"Resource":2,"dm":1,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Glaive Attunement","cp":"68152989a193700012c11fcc","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Glaive","rd":"Luck Blade Glaive Attack","cp":"68152989a193700012c11fcc","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Glaive Save Bonus","cp":"68152989a193700012c11fcc","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Glaive Luck Resource","cp":"68152989a193700012c11fcc","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Glaive Wish Resource","cp":"68152989a193700012c11fcc","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Glaive Damage","cp":"68152989a193700012c11fcc","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Glaive Luck Action","cp":"68152989a193700012c11fcc","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Luck Blade Greatsword","blueprint":{"nm":"Luck Blade Greatsword","item":{"tp":"Item","cp":"681529c2a193700012c12b63","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"RB":1,"Resource":2,"dm":1,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Greatsword Attunement","cp":"681529c2a193700012c12b63","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Greatsword","rd":"Luck Blade Greatsword Attack","cp":"681529c2a193700012c12b63","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Greatsword Save Bonus","cp":"681529c2a193700012c12b63","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Greatsword Luck Resource","cp":"681529c2a193700012c12b63","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Greatsword Wish Resource","cp":"681529c2a193700012c12b63","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Greatsword Damage","cp":"681529c2a193700012c12b63","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":2,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Greatsword Luck Action","cp":"681529c2a193700012c12b63","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Luck Blade Longsword","blueprint":{"nm":"Luck Blade Longsword","item":{"tp":"Item","cp":"6815298aa193700012c11fdc","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"RB":1,"Resource":2,"dm":2,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Longsword Attunement","cp":"6815298aa193700012c11fdc","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Longsword","rd":"Luck Blade Longsword Attack","cp":"6815298aa193700012c11fdc","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Luck Blade Longsword (Two-handed)","rd":"Luck Blade Longsword Attack (Two-handed)","cp":"6815298aa193700012c11fdc","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Longsword Save Bonus","cp":"6815298aa193700012c11fdc","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Longsword Luck Resource","cp":"6815298aa193700012c11fdc","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Longsword Wish Resource","cp":"6815298aa193700012c11fdc","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Longsword Damage","cp":"6815298aa193700012c11fdc","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Luck Blade Longsword Damage (Two-handed)","cp":"6815298aa193700012c11fdc","ay":"auto","dT":"Slashing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Longsword Luck Action","cp":"6815298aa193700012c11fdc","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Luck Blade Rapier","blueprint":{"nm":"Luck Blade Rapier","item":{"tp":"Item","cp":"68152951a193700012c114e9","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"RB":1,"Resource":2,"dm":2,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Rapier Attunement","cp":"68152951a193700012c114e9","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Rapier","rd":"Luck Blade Rapier Attack","cp":"68152951a193700012c114e9","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Luck Blade Rapier (Finesse)","rd":"Luck Blade Rapier Attack (Finesse)","cp":"68152951a193700012c114e9","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Rapier Save Bonus","cp":"68152951a193700012c114e9","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Rapier Luck Resource","cp":"68152951a193700012c114e9","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Rapier Wish Resource","cp":"68152951a193700012c114e9","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Rapier Damage","cp":"68152951a193700012c114e9","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Luck Blade Rapier Damage (Finesse)","cp":"68152951a193700012c114e9","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Rapier Luck Action","cp":"68152951a193700012c114e9","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Luck Blade Scimitar","blueprint":{"nm":"Luck Blade Scimitar","item":{"tp":"Item","cp":"68152a19a193700012c13c7c","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"RB":1,"Resource":2,"dm":3,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Scimitar Attunement","cp":"68152a19a193700012c13c7c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Scimitar","rd":"Luck Blade Scimitar Attack","cp":"68152a19a193700012c13c7c","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Luck Blade Scimitar (Finesse)","rd":"Luck Blade Scimitar Attack (Finesse)","cp":"68152a19a193700012c13c7c","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Luck Blade Scimitar (Off-hand)","rd":"Luck Blade Scimitar Attack (Off-hand)","cp":"68152a19a193700012c13c7c","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Scimitar Save Bonus","cp":"68152a19a193700012c13c7c","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Scimitar Luck Resource","cp":"68152a19a193700012c13c7c","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Scimitar Wish Resource","cp":"68152a19a193700012c13c7c","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Scimitar Damage","cp":"68152a19a193700012c13c7c","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Luck Blade Scimitar Damage (Finesse)","cp":"68152a19a193700012c13c7c","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Luck Blade Scimitar Damage (Off-hand)","cp":"68152a19a193700012c13c7c","ay":"none","dT":"Slashing","die":"d6","bo":"min(@{strength_mod}, 0)+1","ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Scimitar Luck Action","cp":"68152a19a193700012c13c7c","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Luck Blade Shortsword","blueprint":{"nm":"Luck Blade Shortsword","item":{"tp":"Item","cp":"68140554c19cbf0012ac52e4","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll. Once used, this property can't be used again until the next dawn.\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can't be used again until the next dawn. The weapon loses this property if it has no charges.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"RB":1,"Resource":2,"dm":3,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Luck Blade Shortsword Attunement","cp":"68140554c19cbf0012ac52e4","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Luck Blade Shortsword","rd":"Luck Blade Shortsword Attack","cp":"68140554c19cbf0012ac52e4","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Luck Blade Shortsword (Finesse)","rd":"Luck Blade Shortsword Attack (Finesse)","cp":"68140554c19cbf0012ac52e4","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Luck Blade Shortsword (Off-hand)","rd":"Luck Blade Shortsword Attack (Off-hand)","cp":"68140554c19cbf0012ac52e4","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck Blade Shortsword Save Bonus","cp":"68140554c19cbf0012ac52e4","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Luck","rd":"Luck Blade Shortsword Luck Resource","cp":"68140554c19cbf0012ac52e4","vl":1},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","rd":"Luck Blade Shortsword Wish Resource","cp":"68140554c19cbf0012ac52e4","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Luck Blade Shortsword Damage","cp":"68140554c19cbf0012ac52e4","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Luck Blade Shortsword Damage (Finesse)","cp":"68140554c19cbf0012ac52e4","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Luck Blade Shortsword Damage (Off-hand)","cp":"68140554c19cbf0012ac52e4","ay":"none","dT":"Piercing","die":"d6","bo":"min(@{strength_mod}, 0)+1","ct":1,"oC":false},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Use Luck (Luck Blade)","rd":"Luck Blade Shortsword Luck Action","cp":"68140554c19cbf0012ac52e4","dn":"If the Luck Blade is on your person, you can call on its luck to reroll one failed D20 Test if you don't have the Incapacitated condition. You must use the second roll."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Maul","blueprint":{"nm":"Maul","item":{"tp":"Item","cp":"67a658fcdb873a00127f5ebd","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 2d6\nDamage Type: Bludgeoning\nProperties: Heavy, Two-Handed\nMastery: Topple\nWeight: 10","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Maul","rd":"Maul Attack","cp":"67a658fcdb873a00127f5ebd","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Maul Damage","cp":"67a658fcdb873a00127f5ebd","ay":"auto","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Maul +1","blueprint":{"nm":"Maul +1","item":{"tp":"Item","cp":"6744e4a895192d0012ba4fa0","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Maul +1","rd":"Maul +1 Attack","cp":"6744e4a895192d0012ba4fa0","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Maul +1 Damage","cp":"6744e4a895192d0012ba4fa0","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":2,"oC":false}]}},{"nm":"Maul +2","blueprint":{"nm":"Maul +2","item":{"tp":"Item","cp":"6744e45f95192d0012ba3bef","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Maul +2","rd":"Maul +2 Attack","cp":"6744e45f95192d0012ba3bef","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Maul +2 Damage","cp":"6744e45f95192d0012ba3bef","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":2,"oC":false}]}},{"nm":"Maul +3","blueprint":{"nm":"Maul +3","item":{"tp":"Item","cp":"6744e2d495192d0012b9dacb","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Maul +3","rd":"Maul +3 Attack","cp":"6744e2d495192d0012b9dacb","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Maul +3 Damage","cp":"6744e2d495192d0012b9dacb","ay":"auto","dT":"Bludgeoning","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Maul of Thunderbolts","blueprint":{"nm":"Maul of Thunderbolts","item":{"tp":"Item","cp":"68152920a193700012c10af7","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nThe weapon has 5 charges. You can expend 1 charge and make a ranged attack with the weapon, hurling it as if it had the Thrown property with a normal range of 20 feet and a long range of 60 feet. If the attack hits, the weapon unleashes a thunderclap audible out to 300 feet. The target and every creature within 30 feet of it other than you must succeed on a DC 17 Constitution saving throw or have the Stunned condition until the end of your next turn. Immediately after hitting or missing, the weapon flies back to your hand. The weapon regains 1d4 + 1 expended charges daily at dawn.\nGiant's Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefits:\nGiants' Bane. When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw or die.\nMight of Giants. The Strength score bestowed by your Belt of Giant Strength or Gauntlets of Ogre Power increases by 4, to a maximum of 30.","wt":10,"ps":["Heavy","Two-Handed","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Am":1,"Ak":4,"Resource":1,"Effect":2,"dm":2,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Maul of Thunderbolts Attunement","cp":"68152920a193700012c10af7","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Maul of Thunderbolts","rd":"Maul of Thunderbolts Attack","cp":"68152920a193700012c10af7","aT":"Action","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Resource","nm":"Throw Charges (Maul of Thunderbolts)","rd":"Maul of Thunderbolts Thrown Resource","cp":"68152920a193700012c10af7","vl":5},{"id":"c4","tp":"Effect","nm":"Giants' Bane","rd":"Maul of Thunderbolts Giants Bane Effect","cp":"68152920a193700012c10af7","cy":"[]","dn":"Giant's Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefit. When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw or die.","situation":"While attuned and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power.","active":false},{"id":"c5","tp":"Effect","nm":"Might of Giants","rd":"Maul of Thunderbolts Might of Giants Effect","cp":"68152920a193700012c10af7","cy":"[]","dn":"Giant's Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefit. The Strength score bestowed by your Belt of Giant Strength or Gauntlets of Ogre Power increases by 4, to a maximum of 30.","situation":"While attuned and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power.","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Maul of Thunderbolts Damage","cp":"68152920a193700012c10af7","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":2,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","nm":"Thunderclap Save (Maul of Thunderbolts)","rd":"Maul of Thunderbolts Thunderclap Save","cp":"68152920a193700012c10af7","aT":"Action","dn":"If the attack hits, the weapon unleashes a thunderclap audible out to 300 feet. The target and every creature within 30 feet of it other than you must succeed on a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Stunned condition until the end of your next turn.","saveAbility":"Constitution","saveFlat":17}},{"id":"c4-c1","tp":"Ak","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Giants' Bane Save (Maul of Thunderbolts)","rd":"Maul of Thunderbolts Giants Bane Save","cp":"68152920a193700012c10af7","aT":"Action","dn":"When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant dies.","saveAbility":"Constitution","saveFlat":17}},{"id":"c5-c1","tp":"AS","pt":"c5","cascades":[{"ref":"c5","actions":["Activate"]}],"nm":"Maul of Thunderbolts Might of Giants Strength","cp":"68152920a193700012c10af7","ay":"Strength","cl":"Modify","vl":{"fa":4}},{"id":"x2","tp":"Ak","nm":"Maul of Thunderbolts (Thrown)","rd":"Maul of Thunderbolts Attack (Thrown)","cp":"68152920a193700012c10af7","aT":"Action","rg":"20/60","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"x1","tp":"dm","pt":"x2","nm":"Maul of Thunderbolts Damage (Thrown)","cp":"68152920a193700012c10af7","ay":"auto","dT":"Bludgeoning","die":"d6","bo":1,"ct":2,"oC":false}]}},{"nm":"Maul of Warning","blueprint":{"nm":"Maul of Warning","item":{"tp":"Item","cp":"6815292fa193700012c10daa","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Maul of Warning Attunement","cp":"6815292fa193700012c10daa","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Maul of Warning","rd":"Maul of Warning Attack","cp":"6815292fa193700012c10daa","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Maul of Warning Initiative Advantage","cp":"6815292fa193700012c10daa","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Maul of Warning Damage","cp":"6815292fa193700012c10daa","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":2,"oC":false}]}},{"nm":"Morningstar","blueprint":{"nm":"Morningstar","item":{"tp":"Item","cp":"67a659a1db873a00127f931c","dn":"Damage: 1d8\nDamage Type: Piercing\nProperties: --\nMastery: Sap\nWeight: 4","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Morningstar","rd":"Morningstar Attack","cp":"67a659a1db873a00127f931c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Morningstar Damage","cp":"67a659a1db873a00127f931c","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false}]}},{"nm":"Morningstar +1","blueprint":{"nm":"Morningstar +1","item":{"tp":"Item","cp":"6744e46095192d0012ba3c25","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Morningstar +1","rd":"Morningstar +1 Attack","cp":"6744e46095192d0012ba3c25","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Morningstar +1 Damage","cp":"6744e46095192d0012ba3c25","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Morningstar +2","blueprint":{"nm":"Morningstar +2","item":{"tp":"Item","cp":"6744e45095192d0012ba37f2","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Morningstar +2","rd":"Morningstar +2 Attack","cp":"6744e45095192d0012ba37f2","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Morningstar +2 Damage","cp":"6744e45095192d0012ba37f2","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Morningstar +3","blueprint":{"nm":"Morningstar +3","item":{"tp":"Item","cp":"6744e46295192d0012ba3cb7","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Morningstar +3","rd":"Morningstar +3 Attack","cp":"6744e46295192d0012ba3cb7","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Morningstar +3 Damage","cp":"6744e46295192d0012ba3cb7","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Morningstar of Warning","blueprint":{"nm":"Morningstar of Warning","item":{"tp":"Item","cp":"6815299da193700012c123de","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Morningstar of Warning Attunement","cp":"6815299da193700012c123de","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Morningstar of Warning","rd":"Morningstar of Warning Attack","cp":"6815299da193700012c123de","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Morningstar of Warning Initiative Advantage","cp":"6815299da193700012c123de","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Morningstar of Warning Damage","cp":"6815299da193700012c123de","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Nine Lives Stealer Battleaxe","blueprint":{"nm":"Nine Lives Stealer Battleaxe","item":{"tp":"Item","cp":"6744e4ea95192d0012ba5dbf","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Battleaxe Attunement","cp":"6744e4ea95192d0012ba5dbf","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Battleaxe","rd":"Nine Lives Stealer Battleaxe (One-Handed) Attack","cp":"6744e4ea95192d0012ba5dbf","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Battleaxe (Two-Handed)","rd":"Nine Lives Stealer Battleaxe (Two-Handed) Attack","cp":"6744e4ea95192d0012ba5dbf","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Battleaxe Life Stealing Resource","cp":"6744e4ea95192d0012ba5dbf","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Battleaxe (One-Handed) Damage","cp":"6744e4ea95192d0012ba5dbf","ay":"auto","dT":"Slashing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Battleaxe (Two-Handed) Damage","cp":"6744e4ea95192d0012ba5dbf","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Battleaxe Life Stealing Save","cp":"6744e4ea95192d0012ba5dbf","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Flail","blueprint":{"nm":"Nine Lives Stealer Flail","item":{"tp":"Item","cp":"6744e2e895192d0012b9e030","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Flail Attunement","cp":"6744e2e895192d0012b9e030","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Flail","rd":"Nine Lives Stealer Flail Attack","cp":"6744e2e895192d0012b9e030","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Flail Life Stealing Resource","cp":"6744e2e895192d0012b9e030","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Flail Damage","cp":"6744e2e895192d0012b9e030","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Flail Life Stealing Save","cp":"6744e2e895192d0012b9e030","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Glaive","blueprint":{"nm":"Nine Lives Stealer Glaive","item":{"tp":"Item","cp":"6744e46695192d0012ba3dc8","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Glaive Attunement","cp":"6744e46695192d0012ba3dc8","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Glaive","rd":"Nine Lives Stealer Glaive Attack","cp":"6744e46695192d0012ba3dc8","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Glaive Life Stealing Resource","cp":"6744e46695192d0012ba3dc8","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Glaive Damage","cp":"6744e46695192d0012ba3dc8","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Glaive Life Stealing Save","cp":"6744e46695192d0012ba3dc8","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Greataxe","blueprint":{"nm":"Nine Lives Stealer Greataxe","item":{"tp":"Item","cp":"6744e44a95192d0012ba3663","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Greataxe Attunement","cp":"6744e44a95192d0012ba3663","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Greataxe","rd":"Nine Lives Stealer Greataxe Attack","cp":"6744e44a95192d0012ba3663","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Greataxe Life Stealing Resource","cp":"6744e44a95192d0012ba3663","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Greataxe Damage","cp":"6744e44a95192d0012ba3663","ay":"auto","dT":"Slashing","die":"d12","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Greataxe Life Stealing Save","cp":"6744e44a95192d0012ba3663","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Greatsword","blueprint":{"nm":"Nine Lives Stealer Greatsword","item":{"tp":"Item","cp":"6744e46495192d0012ba3d59","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Greatsword Attunement","cp":"6744e46495192d0012ba3d59","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Greatsword","rd":"Nine Lives Stealer Greatsword Attack","cp":"6744e46495192d0012ba3d59","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Greatsword Life Stealing Resource","cp":"6744e46495192d0012ba3d59","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Greatsword Damage","cp":"6744e46495192d0012ba3d59","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":2,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Greatsword Life Stealing Save","cp":"6744e46495192d0012ba3d59","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Halberd","blueprint":{"nm":"Nine Lives Stealer Halberd","item":{"tp":"Item","cp":"6744e44a95192d0012ba367e","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Halberd Attunement","cp":"6744e44a95192d0012ba367e","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Halberd","rd":"Nine Lives Stealer Halberd Attack","cp":"6744e44a95192d0012ba367e","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Halberd Life Stealing Resource","cp":"6744e44a95192d0012ba367e","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Halberd Damage","cp":"6744e44a95192d0012ba367e","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Halberd Life Stealing Save","cp":"6744e44a95192d0012ba367e","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Lance","blueprint":{"nm":"Nine Lives Stealer Lance","item":{"tp":"Item","cp":"6744e46895192d0012ba3e50","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Lance Attunement","cp":"6744e46895192d0012ba3e50","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Lance","rd":"Nine Lives Stealer Lance Attack","cp":"6744e46895192d0012ba3e50","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Lance Life Stealing Resource","cp":"6744e46895192d0012ba3e50","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Lance Damage","cp":"6744e46895192d0012ba3e50","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Lance Life Stealing Save","cp":"6744e46895192d0012ba3e50","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Longsword","blueprint":{"nm":"Nine Lives Stealer Longsword","item":{"tp":"Item","cp":"6744e4af95192d0012ba5146","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Longsword Attunement","cp":"6744e4af95192d0012ba5146","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Longsword (One-Handed)","rd":"Nine Lives Stealer Longsword (One-Handed) Attack","cp":"6744e4af95192d0012ba5146","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Longsword (Two-Handed)","rd":"Nine Lives Stealer Longsword (Two-Handed) Attack","cp":"6744e4af95192d0012ba5146","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Longsword Life Stealing Resource","cp":"6744e4af95192d0012ba5146","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Longsword (One-Handed) Damage","cp":"6744e4af95192d0012ba5146","ay":"auto","dT":"Slashing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Longsword (Two-Handed) Damage","cp":"6744e4af95192d0012ba5146","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Longsword Life Stealing Save","cp":"6744e4af95192d0012ba5146","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Maul","blueprint":{"nm":"Nine Lives Stealer Maul","item":{"tp":"Item","cp":"6744e4a295192d0012ba4ddb","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Maul Attunement","cp":"6744e4a295192d0012ba4ddb","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Maul","rd":"Nine Lives Stealer Maul Attack","cp":"6744e4a295192d0012ba4ddb","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Maul Life Stealing Resource","cp":"6744e4a295192d0012ba4ddb","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Maul Damage","cp":"6744e4a295192d0012ba4ddb","ay":"auto","dT":"Bludgeoning","die":"d6","bo":2,"ct":2,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Maul Life Stealing Save","cp":"6744e4a295192d0012ba4ddb","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Morningstar","blueprint":{"nm":"Nine Lives Stealer Morningstar","item":{"tp":"Item","cp":"6744e2ea95192d0012b9e0a1","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Morningstar Attunement","cp":"6744e2ea95192d0012b9e0a1","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Morningstar","rd":"Nine Lives Stealer Morningstar Attack","cp":"6744e2ea95192d0012b9e0a1","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Morningstar Life Stealing Resource","cp":"6744e2ea95192d0012b9e0a1","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Morningstar Damage","cp":"6744e2ea95192d0012b9e0a1","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Morningstar Life Stealing Save","cp":"6744e2ea95192d0012b9e0a1","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Pike","blueprint":{"nm":"Nine Lives Stealer Pike","item":{"tp":"Item","cp":"6744e46195192d0012ba3c9c","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Pike Attunement","cp":"6744e46195192d0012ba3c9c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Pike","rd":"Nine Lives Stealer Pike Attack","cp":"6744e46195192d0012ba3c9c","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Pike Life Stealing Resource","cp":"6744e46195192d0012ba3c9c","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Pike Damage","cp":"6744e46195192d0012ba3c9c","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Pike Life Stealing Save","cp":"6744e46195192d0012ba3c9c","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Rapier","blueprint":{"nm":"Nine Lives Stealer Rapier","item":{"tp":"Item","cp":"6744e46c95192d0012ba3f7d","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Rapier Attunement","cp":"6744e46c95192d0012ba3f7d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Rapier (STR)","rd":"Nine Lives Stealer Rapier (STR) Attack","cp":"6744e46c95192d0012ba3f7d","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Rapier (DEX)","rd":"Nine Lives Stealer Rapier (DEX) Attack","cp":"6744e46c95192d0012ba3f7d","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Rapier Life Stealing Resource","cp":"6744e46c95192d0012ba3f7d","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Rapier (STR) Damage","cp":"6744e46c95192d0012ba3f7d","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Rapier (DEX) Damage","cp":"6744e46c95192d0012ba3f7d","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Rapier Life Stealing Save","cp":"6744e46c95192d0012ba3f7d","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Scimitar","blueprint":{"nm":"Nine Lives Stealer Scimitar","item":{"tp":"Item","cp":"6744e45795192d0012ba39ee","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":4,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Scimitar Attunement","cp":"6744e45795192d0012ba39ee","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Scimitar (STR)","rd":"Nine Lives Stealer Scimitar (STR) Attack","cp":"6744e45795192d0012ba39ee","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Scimitar (DEX)","rd":"Nine Lives Stealer Scimitar (DEX) Attack","cp":"6744e45795192d0012ba39ee","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Scimitar (Off-Hand)","rd":"Nine Lives Stealer Scimitar (Off-Hand) Attack","cp":"6744e45795192d0012ba39ee","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Scimitar Life Stealing Resource","cp":"6744e45795192d0012ba39ee","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Scimitar (STR) Damage","cp":"6744e45795192d0012ba39ee","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Scimitar (DEX) Damage","cp":"6744e45795192d0012ba39ee","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Scimitar (Off-Hand) Damage","cp":"6744e45795192d0012ba39ee","ay":"none","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Scimitar Life Stealing Save","cp":"6744e45795192d0012ba39ee","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Shortsword","blueprint":{"nm":"Nine Lives Stealer Shortsword","item":{"tp":"Item","cp":"6744e45d95192d0012ba3b5d","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":4,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Shortsword Attunement","cp":"6744e45d95192d0012ba3b5d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Shortsword (STR)","rd":"Nine Lives Stealer Shortsword (STR) Attack","cp":"6744e45d95192d0012ba3b5d","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Shortsword (DEX)","rd":"Nine Lives Stealer Shortsword (DEX) Attack","cp":"6744e45d95192d0012ba3b5d","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Shortsword (Off-Hand)","rd":"Nine Lives Stealer Shortsword (Off-Hand) Attack","cp":"6744e45d95192d0012ba3b5d","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Shortsword Life Stealing Resource","cp":"6744e45d95192d0012ba3b5d","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Shortsword (STR) Damage","cp":"6744e45d95192d0012ba3b5d","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Shortsword (DEX) Damage","cp":"6744e45d95192d0012ba3b5d","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Shortsword (Off-Hand) Damage","cp":"6744e45d95192d0012ba3b5d","ay":"none","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Shortsword Life Stealing Save","cp":"6744e45d95192d0012ba3b5d","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Trident","blueprint":{"nm":"Nine Lives Stealer Trident","item":{"tp":"Item","cp":"6744e46795192d0012ba3dff","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Am":1,"Ak":4,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Trident Attunement","cp":"6744e46795192d0012ba3dff","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Trident (One-Handed)","rd":"Nine Lives Stealer Trident (One-Handed) Attack","cp":"6744e46795192d0012ba3dff","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Trident (Thrown)","rd":"Nine Lives Stealer Trident (Thrown) Attack","cp":"6744e46795192d0012ba3dff","aT":"Action","rg":"20/60","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c4","tp":"Ak","nm":"Nine Lives Stealer Trident (Two-Handed)","rd":"Nine Lives Stealer Trident (Two-Handed) Attack","cp":"6744e46795192d0012ba3dff","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Trident Life Stealing Resource","cp":"6744e46795192d0012ba3dff","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Trident (One-Handed) Damage","cp":"6744e46795192d0012ba3dff","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Trident (Thrown) Damage","cp":"6744e46795192d0012ba3dff","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Nine Lives Stealer Trident (Two-handed) Damage","cp":"6744e46795192d0012ba3dff","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Trident Life Stealing Save","cp":"6744e46795192d0012ba3dff","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer War Pick","blueprint":{"nm":"Nine Lives Stealer War Pick","item":{"tp":"Item","cp":"6744e46e95192d0012ba3ff0","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer War Pick Attunement","cp":"6744e46e95192d0012ba3ff0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer War Pick (One-Handed)","rd":"Nine Lives Stealer War Pick (One-Handed) Attack","cp":"6744e46e95192d0012ba3ff0","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer War Pick (Two-Handed)","rd":"Nine Lives Stealer War Pick (Two-Handed) Attack","cp":"6744e46e95192d0012ba3ff0","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer War Pick Life Stealing Resource","cp":"6744e46e95192d0012ba3ff0","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer War Pick (One-Handed) Damage","cp":"6744e46e95192d0012ba3ff0","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer War Pick (Two-Handed) Damage","cp":"6744e46e95192d0012ba3ff0","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer War Pick Life Stealing Save","cp":"6744e46e95192d0012ba3ff0","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Warhammer","blueprint":{"nm":"Nine Lives Stealer Warhammer","item":{"tp":"Item","cp":"6744e46e95192d0012ba400b","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Warhammer Attunement","cp":"6744e46e95192d0012ba400b","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Warhammer (One-Handed)","rd":"Nine Lives Stealer Warhammer (One-Handed) Attack","cp":"6744e46e95192d0012ba400b","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Warhammer (Two-Handed)","rd":"Nine Lives Stealer Warhammer (Two-Handed) Attack","cp":"6744e46e95192d0012ba400b","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Warhammer Life Stealing Resource","cp":"6744e46e95192d0012ba400b","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Warhammer (One-Handed) Damage","cp":"6744e46e95192d0012ba400b","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Warhammer (Two-Handed) Damage","cp":"6744e46e95192d0012ba400b","ay":"auto","dT":"Bludgeoning","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Warhammer Life Stealing Save","cp":"6744e46e95192d0012ba400b","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Pike","blueprint":{"nm":"Pike","item":{"tp":"Item","cp":"67a659a5db873a00127f9458","dn":"Heavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nReach. A Reach weapon adds 5 feet to your reach when you attack with it, as well as when determining your reach for Opportunity Attacks with it.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d10\nDamage Type: Piercing\nProperties: Heavy, Reach, Two-Handed\nMastery: Push\nWeight: 18","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pike","rd":"Pike Attack","cp":"67a659a5db873a00127f9458","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pike Damage","cp":"67a659a5db873a00127f9458","ay":"auto","dT":"Piercing","die":"d10","ct":1,"oC":false}]}},{"nm":"Pike +1","blueprint":{"nm":"Pike +1","item":{"tp":"Item","cp":"6744e45f95192d0012ba3c0a","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pike +1","rd":"Pike +1 Attack","cp":"6744e45f95192d0012ba3c0a","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pike +1 Damage","cp":"6744e45f95192d0012ba3c0a","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Pike +2","blueprint":{"nm":"Pike +2","item":{"tp":"Item","cp":"6744e46b95192d0012ba3f47","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pike +2","rd":"Pike +2 Attack","cp":"6744e46b95192d0012ba3f47","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pike +2 Damage","cp":"6744e46b95192d0012ba3f47","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Pike +3","blueprint":{"nm":"Pike +3","item":{"tp":"Item","cp":"6744e46d95192d0012ba3f9b","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pike +3","rd":"Pike +3 Attack","cp":"6744e46d95192d0012ba3f9b","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pike +3 Damage","cp":"6744e46d95192d0012ba3f9b","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Pike of Warning","blueprint":{"nm":"Pike of Warning","item":{"tp":"Item","cp":"6815292ea193700012c10d79","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Pike of Warning Attunement","cp":"6815292ea193700012c10d79","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Pike of Warning","rd":"Pike of Warning Attack","cp":"6815292ea193700012c10d79","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Pike of Warning Initiative Advantage","cp":"6815292ea193700012c10d79","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Pike of Warning Damage","cp":"6815292ea193700012c10d79","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Rapier","blueprint":{"nm":"Rapier","item":{"tp":"Item","cp":"67a659a5db873a00127f946d","dn":"Finesse. When making an attack with a Finesse weapon, use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.\nDamage: 1d8\nDamage Type: Piercing\nProperties: Finesse\nMastery: Vex\nWeight: 2","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Rapier","rd":"Rapier STR Attack","cp":"67a659a5db873a00127f946d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Rapier (Finesse)","rd":"Rapier DEX Attack","cp":"67a659a5db873a00127f946d","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Rapier STR Damage","cp":"67a659a5db873a00127f946d","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Rapier DEX Damage","cp":"67a659a5db873a00127f946d","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false}]}},{"nm":"Rapier +1","blueprint":{"nm":"Rapier +1","item":{"tp":"Item","cp":"6744e47f95192d0012ba4468","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Rapier +1","rd":"Rapier +1 Attack","cp":"6744e47f95192d0012ba4468","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Rapier +1 (Finesse)","rd":"Rapier +1 Attack (Finesse)","cp":"6744e47f95192d0012ba4468","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Rapier +1 Damage","cp":"6744e47f95192d0012ba4468","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Rapier +1 Damage (Finesse)","cp":"6744e47f95192d0012ba4468","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Rapier +2","blueprint":{"nm":"Rapier +2","item":{"tp":"Item","cp":"6744e32e95192d0012b9ef81","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Rapier +2","rd":"Rapier +2 Attack","cp":"6744e32e95192d0012b9ef81","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Rapier +2 (Finesse)","rd":"Rapier +2 Attack (Finesse)","cp":"6744e32e95192d0012b9ef81","aT":"Action","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Rapier +2 Damage","cp":"6744e32e95192d0012b9ef81","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Rapier +2 Damage (Finesse)","cp":"6744e32e95192d0012b9ef81","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Rapier +3","blueprint":{"nm":"Rapier +3","item":{"tp":"Item","cp":"6744e3f495192d0012ba1fd3","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Rapier +3","rd":"Rapier +3 Attack","cp":"6744e3f495192d0012ba1fd3","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Rapier +3 (Finesse)","rd":"Rapier +3 Attack (Finesse)","cp":"6744e3f495192d0012ba1fd3","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Rapier +3 Damage","cp":"6744e3f495192d0012ba1fd3","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Rapier +3 Damage (Finesse)","cp":"6744e3f495192d0012ba1fd3","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Rapier of Life Stealing","blueprint":{"nm":"Rapier of Life Stealing","item":{"tp":"Item","cp":"68152917a193700012c1091c","dn":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Rapier of Life Stealing Attunement","cp":"68152917a193700012c1091c","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Life Stealing","rd":"Rapier of Life Stealing Attack","cp":"68152917a193700012c1091c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Life Stealing (Finesse)","rd":"Rapier of Life Stealing Attack (Finesse)","cp":"68152917a193700012c1091c","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Life Stealing Damage","cp":"68152917a193700012c1091c","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Life Stealing Damage (Finesse)","cp":"68152917a193700012c1091c","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Rapier of Warning","blueprint":{"nm":"Rapier of Warning","item":{"tp":"Item","cp":"6815294ba193700012c11384","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Rapier of Warning Attunement","cp":"6815294ba193700012c11384","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Rapier of Warning","rd":"Rapier of Warning Attack","cp":"6815294ba193700012c11384","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Rapier of Warning (Finesse)","rd":"Rapier of Warning Attack (Finesse)","cp":"6815294ba193700012c11384","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Warning Initiative Advantage","cp":"6815294ba193700012c11384","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Rapier of Warning Damage","cp":"6815294ba193700012c11384","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Rapier of Warning Damage (Finesse)","cp":"6815294ba193700012c11384","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Rapier of Wounding","blueprint":{"nm":"Rapier of Wounding","item":{"tp":"Item","cp":"6815299aa193700012c12341","dn":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Am":1,"Ak":3,"dm":4},"ch":[{"id":"c1","tp":"Am","nm":"Rapier of Wounding Attunement","cp":"6815299aa193700012c12341","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Wounding","rd":"Rapier of Wounding STR Attack","cp":"6815299aa193700012c12341","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Wounding (Finesse)","rd":"Rapier of Wounding DEX Attack","cp":"6815299aa193700012c12341","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wounding","rd":"Rapier of Wounding Special Attack","cp":"6815299aa193700012c12341","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target is unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Wounding STR Damage","cp":"6815299aa193700012c12341","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c2","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Wounding STR Necrotic Damage","cp":"6815299aa193700012c12341","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Wounding DEX Damage","cp":"6815299aa193700012c12341","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c2","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Rapier of Wounding DEX Necrotic Damage","cp":"6815299aa193700012c12341","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false}]}},{"nm":"Scimitar","blueprint":{"nm":"Scimitar","item":{"tp":"Item","cp":"67a659a6db873a00127f94cb","dn":"Finesse. When making an attack with a Finesse weapon, use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.\nLight. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nDamage: 1d6\nDamage Type: Slashing\nProperties: Finesse, Light\nMastery: Nick\nWeight: 3","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Scimitar","rd":"Scimitar STR Attack","cp":"67a659a6db873a00127f94cb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Scimitar (Off-Hand)","rd":"Scimitar Off-Hand Attack","cp":"67a659a6db873a00127f94cb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Scimitar (Finesse)","rd":"Scimitar Attack DEX","cp":"67a659a6db873a00127f94cb","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Scimitar Damage STR","cp":"67a659a6db873a00127f94cb","ay":"auto","dT":"Slashing","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Scimitar Off-Hand Damage","cp":"67a659a6db873a00127f94cb","dT":"Slashing","die":"d6","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Scimitar Damage DEX","cp":"67a659a6db873a00127f94cb","ay":"auto","dT":"Slashing","die":"d6","ct":1,"oC":false}]}},{"nm":"Scimitar +1","blueprint":{"nm":"Scimitar +1","item":{"tp":"Item","cp":"6744e48295192d0012ba452c","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Scimitar +1","rd":"Scimitar +1 Attack","cp":"6744e48295192d0012ba452c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Scimitar +1 (Finesse)","rd":"Scimitar +1 Attack (Finesse)","cp":"6744e48295192d0012ba452c","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Scimitar +1 (Off-hand)","rd":"Scimitar +1 Attack (Off-hand)","cp":"6744e48295192d0012ba452c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Scimitar +1 Damage","cp":"6744e48295192d0012ba452c","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Scimitar +1 Damage (Finesse)","cp":"6744e48295192d0012ba452c","ay":"auto","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Scimitar +1 Damage (Off-hand)","cp":"6744e48295192d0012ba452c","ay":"none","dT":"Slashing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Scimitar +2","blueprint":{"nm":"Scimitar +2","item":{"tp":"Item","cp":"6744e2f195192d0012b9e28a","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Scimitar +2","rd":"Scimitar +2 Attack","cp":"6744e2f195192d0012b9e28a","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Scimitar +2 (Finesse)","rd":"Scimitar +2 Attack (Finesse)","cp":"6744e2f195192d0012b9e28a","aT":"Action","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Scimitar +2 (Off-hand)","rd":"Scimitar +2 Attack (Off-hand)","cp":"6744e2f195192d0012b9e28a","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Scimitar +2 Damage","cp":"6744e2f195192d0012b9e28a","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Scimitar +2 Damage (Finesse)","cp":"6744e2f195192d0012b9e28a","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Scimitar +2 Damage (Off-hand)","cp":"6744e2f195192d0012b9e28a","ay":"none","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Scimitar +3","blueprint":{"nm":"Scimitar +3","item":{"tp":"Item","cp":"6744e3fe95192d0012ba223b","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Scimitar +3","rd":"Scimitar +3 Attack","cp":"6744e3fe95192d0012ba223b","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Scimitar +3 (Finesse)","rd":"Scimitar +3 Attack (Finesse)","cp":"6744e3fe95192d0012ba223b","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Scimitar +3 (Off-hand)","rd":"Scimitar +3 Attack (Off-hand)","cp":"6744e3fe95192d0012ba223b","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Scimitar +3 Damage","cp":"6744e3fe95192d0012ba223b","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Scimitar +3 Damage (Finesse)","cp":"6744e3fe95192d0012ba223b","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Scimitar +3 Damage (Off-hand)","cp":"6744e3fe95192d0012ba223b","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Scimitar of Life Stealing","blueprint":{"nm":"Scimitar of Life Stealing","item":{"tp":"Item","cp":"68152a1ea193700012c13d71","dn":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Scimitar of Life Stealing Attunement","cp":"68152a1ea193700012c13d71","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Life Stealing","rd":"Scimitar of Life Stealing Attack","cp":"68152a1ea193700012c13d71","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Life Stealing (Finesse)","rd":"Scimitar of Life Stealing Attack (Finesse)","cp":"68152a1ea193700012c13d71","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Life Stealing (Off-hand)","rd":"Scimitar of Life Stealing Attack (Off-hand)","cp":"68152a1ea193700012c13d71","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Life Stealing Damage","cp":"68152a1ea193700012c13d71","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Life Stealing Damage (Finesse)","cp":"68152a1ea193700012c13d71","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c3-c1","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Life Stealing Damage (Off-hand)","cp":"68152a1ea193700012c13d71","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Scimitar of Sharpness","blueprint":{"nm":"Scimitar of Sharpness","item":{"tp":"Item","cp":"68152999a193700012c12311","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Scimitar of Sharpness Attunement","cp":"68152999a193700012c12311","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Sharpness","rd":"Scimitar of Sharpness Attack","cp":"68152999a193700012c12311","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Sharpness (Finesse)","rd":"Scimitar of Sharpness Attack (Finesse)","cp":"68152999a193700012c12311","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Sharpness (Off-hand)","rd":"Scimitar of Sharpness Attack (Off-hand)","cp":"68152999a193700012c12311","aT":"Action","dn":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Sharpness Damage","cp":"68152999a193700012c12311","ay":"auto","dT":"Slashing","die":"d6","ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Sharpness Damage (Finesse)","cp":"68152999a193700012c12311","ay":"auto","dT":"Slashing","die":"d6","ct":1,"oC":false},{"id":"c1-c3-c1","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Sharpness Damage (Off-hand)","cp":"68152999a193700012c12311","ay":"none","dT":"Slashing","die":"d6","ct":1,"oC":false}]}},{"nm":"Scimitar of Speed","blueprint":{"nm":"Scimitar of Speed","item":{"tp":"Item","cp":"6744e2f295192d0012b9e2c0","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon. In addition, you can make one attack with it as a Bonus Action on each of your turns.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"Action":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Scimitar of Speed Attunement","cp":"6744e2f295192d0012b9e2c0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Scimitar of Speed (Strength)","rd":"Scimitar of Speed Attack","cp":"6744e2f295192d0012b9e2c0","aT":"Action","dn":"You gain a +2 bonus to attack and damage rolls made with this magic weapon. In addition, you can make one attack with it as a Bonus Action on each of your turns.","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Scimitar of Speed (Off-Hand)","rd":"Scimitar of Speed Attack (Off-Hand)","cp":"6744e2f295192d0012b9e2c0","aT":"Action","dn":"You gain a +2 bonus to attack and damage rolls made with this magic weapon. In addition, you can make one attack with it as a Bonus Action on each of your turns.","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Scimitar of Speed (Dexterity)","rd":"Scimitar of Speed Finesse Attack","cp":"6744e2f295192d0012b9e2c0","aT":"Action","dn":"You gain a +2 bonus to attack and damage rolls made with this magic weapon. In addition, you can make one attack with it as a Bonus Action on each of your turns.","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Speed Attack","rd":"Scimitar of Speed Bonus Action","cp":"6744e2f295192d0012b9e2c0","dn":"You can make one attack with it as a Bonus Action on each of your turns."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Scimitar of Speed Damage","cp":"6744e2f295192d0012b9e2c0","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Scimitar of Speed Damage (Off-Hand)","cp":"6744e2f295192d0012b9e2c0","ay":"none","dT":"Slashing","die":"d6","bo":"min(@{strength_mod}, 0)+2","ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Scimitar of Speed Finesse Damage","cp":"6744e2f295192d0012b9e2c0","ay":"auto","dT":"Slashing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Scimitar of Warning","blueprint":{"nm":"Scimitar of Warning","item":{"tp":"Item","cp":"68152931a193700012c10e27","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Scimitar of Warning Attunement","cp":"68152931a193700012c10e27","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Scimitar of Warning","rd":"Scimitar of Warning Attack","cp":"68152931a193700012c10e27","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Scimitar of Warning (Finesse)","rd":"Scimitar of Warning Attack (Finesse)","cp":"68152931a193700012c10e27","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Scimitar of Warning (Off-hand)","rd":"Scimitar of Warning Attack (Off-hand)","cp":"68152931a193700012c10e27","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Warning Initiative Advantage","cp":"68152931a193700012c10e27","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Scimitar of Warning Damage","cp":"68152931a193700012c10e27","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Scimitar of Warning Damage (Finesse)","cp":"68152931a193700012c10e27","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Scimitar of Warning Damage (Off-hand)","cp":"68152931a193700012c10e27","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Scimitar of Wounding","blueprint":{"nm":"Scimitar of Wounding","item":{"tp":"Item","cp":"68152931a193700012c10e37","dn":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":4,"dm":6},"ch":[{"id":"c1","tp":"Am","nm":"Scimitar of Wounding Attunement","cp":"68152931a193700012c10e37","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding","rd":"Scimitar of Wounding STR Attack","cp":"68152931a193700012c10e37","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding (Finesse)","rd":"Scimitar of Wounding DEX Attack","cp":"68152931a193700012c10e37","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding (Off-hand)","rd":"Scimitar of Wounding (Off-Hand) Attack","cp":"68152931a193700012c10e37","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c4","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wounding","rd":"Scimitar of Wounding Special Attack","cp":"68152931a193700012c10e37","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target is unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding STR Damage","cp":"68152931a193700012c10e37","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c2","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding STR Necrotic Damage","cp":"68152931a193700012c10e37","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding DEX Damage","cp":"68152931a193700012c10e37","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c2","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding DEX Necrotic Damage","cp":"68152931a193700012c10e37","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false},{"id":"c1-c3-c1","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding (Off-Hand) Damage","cp":"68152931a193700012c10e37","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c3-c2","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scimitar of Wounding (Off-hand) Necrotic Damage","cp":"68152931a193700012c10e37","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false}]}},{"nm":"Shortsword","blueprint":{"nm":"Shortsword","item":{"tp":"Item","cp":"67a659a5db873a00127f948a","dn":"Finesse. When making an attack with a Finesse weapon, use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.\nLight. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nDamage: 1d6 \nDamage Type: Piercing\nProperties: Finesse, Light\nMastery: Vex\nWeight: 2","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Shortsword","rd":"Shortsword STR Attack","cp":"67a659a5db873a00127f948a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Shortsword (Off-Hand)","rd":"Shortsword Off-Hand Attack","cp":"67a659a5db873a00127f948a","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Shortsword (Finesse)","rd":"Shortsword DEX Attack","cp":"67a659a5db873a00127f948a","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortsword STR Damage","cp":"67a659a5db873a00127f948a","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Shortsword Off-Hand Damage","cp":"67a659a5db873a00127f948a","ay":"none","dT":"Piercing","die":"d6","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Shortsword DEX Damage","cp":"67a659a5db873a00127f948a","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false}]}},{"nm":"Shortsword +1","blueprint":{"nm":"Shortsword +1","item":{"tp":"Item","cp":"6744e4aa95192d0012ba5010","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Shortsword +1","rd":"Shortsword +1 Attack","cp":"6744e4aa95192d0012ba5010","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Shortsword +1 (Finesse)","rd":"Shortsword +1 Attack (Finesse)","cp":"6744e4aa95192d0012ba5010","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Shortsword +1 (Off-hand)","rd":"Shortsword +1 Attack (Off-hand)","cp":"6744e4aa95192d0012ba5010","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortsword +1 Damage","cp":"6744e4aa95192d0012ba5010","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Shortsword +1 Damage (Finesse)","cp":"6744e4aa95192d0012ba5010","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Shortsword +1 Damage (Off-hand)","cp":"6744e4aa95192d0012ba5010","ay":"none","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Shortsword +2","blueprint":{"nm":"Shortsword +2","item":{"tp":"Item","cp":"6744e48995192d0012ba4727","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Shortsword +2","rd":"Shortsword +2 Attack","cp":"6744e48995192d0012ba4727","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Shortsword +2 (Finesse)","rd":"Shortsword +2 Attack (Finesse)","cp":"6744e48995192d0012ba4727","aT":"Action","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Shortsword +2 (Off-hand)","rd":"Shortsword +2 Attack (Off-hand)","cp":"6744e48995192d0012ba4727","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortsword +2 Damage","cp":"6744e48995192d0012ba4727","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Shortsword +2 Damage (Finesse)","cp":"6744e48995192d0012ba4727","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Shortsword +2 Damage (Off-hand)","cp":"6744e48995192d0012ba4727","ay":"none","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Shortsword +3","blueprint":{"nm":"Shortsword +3","item":{"tp":"Item","cp":"6744e48a95192d0012ba4742","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Shortsword +3","rd":"Shortsword +3 Attack","cp":"6744e48a95192d0012ba4742","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Shortsword +3 (Finesse)","rd":"Shortsword +3 Attack (Finesse)","cp":"6744e48a95192d0012ba4742","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Shortsword +3 (Off-hand)","rd":"Shortsword +3 Attack (Off-hand)","cp":"6744e48a95192d0012ba4742","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Shortsword +3 Damage","cp":"6744e48a95192d0012ba4742","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Shortsword +3 Damage (Finesse)","cp":"6744e48a95192d0012ba4742","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Shortsword +3 Damage (Off-hand)","cp":"6744e48a95192d0012ba4742","ay":"none","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Shortsword of Life Stealing","blueprint":{"nm":"Shortsword of Life Stealing","item":{"tp":"Item","cp":"68152970a193700012c11af7","dn":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Shortsword of Life Stealing Attunement","cp":"68152970a193700012c11af7","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Life Stealing","rd":"Shortsword of Life Stealing Attack","cp":"68152970a193700012c11af7","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Life Stealing (Finesse)","rd":"Shortsword of Life Stealing Attack (Finesse)","cp":"68152970a193700012c11af7","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Life Stealing (Off-hand)","rd":"Shortsword of Life Stealing Attack (Off-hand)","cp":"68152970a193700012c11af7","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn't a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken."},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Life Stealing Damage","cp":"68152970a193700012c11af7","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Life Stealing Damage (Finesse)","cp":"68152970a193700012c11af7","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c3-c1","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Life Stealing Damage (Off-hand)","cp":"68152970a193700012c11af7","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Shortsword of Warning","blueprint":{"nm":"Shortsword of Warning","item":{"tp":"Item","cp":"68152972a193700012c11b45","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":3,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Shortsword of Warning Attunement","cp":"68152972a193700012c11b45","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Shortsword of Warning","rd":"Shortsword of Warning Attack","cp":"68152972a193700012c11b45","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Shortsword of Warning (Finesse)","rd":"Shortsword of Warning Attack (Finesse)","cp":"68152972a193700012c11b45","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c4","tp":"Ak","nm":"Shortsword of Warning (Off-hand)","rd":"Shortsword of Warning Attack (Off-hand)","cp":"68152972a193700012c11b45","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Warning Initiative Advantage","cp":"68152972a193700012c11b45","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Shortsword of Warning Damage","cp":"68152972a193700012c11b45","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Shortsword of Warning Damage (Finesse)","cp":"68152972a193700012c11b45","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Shortsword of Warning Damage (Off-hand)","cp":"68152972a193700012c11b45","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Shortsword of Wounding","blueprint":{"nm":"Shortsword of Wounding","item":{"tp":"Item","cp":"68152932a193700012c10e4c","dn":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Am":1,"Ak":4,"dm":5},"ch":[{"id":"c1","tp":"Am","nm":"Shortsword of Wounding Attunement","cp":"68152932a193700012c10e4c","an":false,"rE":true},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding","rd":"Shortsword of Wounding STR Attack","cp":"68152932a193700012c10e4c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding (Finesse)","rd":"Shortsword of Wounding DEX Attack","cp":"68152932a193700012c10e4c","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding (Off-hand)","rd":"Shortsword of Wounding Attack (Off-hand)","cp":"68152932a193700012c10e4c","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"When you hit with this attack, follow up with 'Wounding.'"},{"id":"c1-c4","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wounding","rd":"Shortsword of Wounding Special Attack","cp":"68152932a193700012c10e4c","aT":"Free Action","ak":{"tp":"Attack Save"},"save":{"onFail":"The target is unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding STR Damage","cp":"68152932a193700012c10e4c","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c2","tp":"dm","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding STR Necrotic Damage","cp":"68152932a193700012c10e4c","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding DEX Damage","cp":"68152932a193700012c10e4c","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2-c2","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding Necrotic Damage","cp":"68152932a193700012c10e4c","ay":"none","dT":"Necrotic","die":"d6","ct":2,"oC":false},{"id":"c1-c3-c1","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shortsword of Wounding (Off-Hand) Damage","cp":"68152932a193700012c10e4c","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Trident","blueprint":{"nm":"Trident","item":{"tp":"Item","cp":"67a659a5db873a00127f94ad","dn":"Range. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nThrown. If a weapon has the Thrown property, you can throw the weapon to make a ranged attack, and you can draw that weapon as part of the attack. If the weapon is a Melee weapon, use the same ability modifier for the attack and damage rolls that you use for a melee attack with that weapon.\nVersatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nDamage: 1d8 (1d10)\nDamage Type: Piercing\nProperties: Thrown (Range 20/60), Versatile\nMastery: Topple\nWeight: 4","wt":4,"ps":["Thrown (Range 20/60)","Versatile (1d10)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Trident (One-Handed)","rd":"Trident One Handed Attack","cp":"67a659a5db873a00127f94ad","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Throw Trident","cp":"67a659a5db873a00127f94ad","aT":"Action","rg":"20/60 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Trident (Two-Handed)","rd":"Trident Two-Handed Attack","cp":"67a659a5db873a00127f94ad","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Trident One-Handed Damage","cp":"67a659a5db873a00127f94ad","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Throw Trident Damage","cp":"67a659a5db873a00127f94ad","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Trident Two Handed Damage","cp":"67a659a5db873a00127f94ad","ay":"auto","dT":"Piercing","die":"d10","ct":1,"oC":false}]}},{"nm":"Trident +1","blueprint":{"nm":"Trident +1","item":{"tp":"Item","cp":"6744e4a395192d0012ba4e2f","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Trident +1","rd":"Trident +1 Attack","cp":"6744e4a395192d0012ba4e2f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Trident +1 (Thrown)","rd":"Trident +1 Attack (Thrown)","cp":"6744e4a395192d0012ba4e2f","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Trident +1 (Two-handed)","rd":"Trident +1 Attack (Two-handed)","cp":"6744e4a395192d0012ba4e2f","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Trident +1 Damage","cp":"6744e4a395192d0012ba4e2f","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Trident +1 Damage (Thrown)","cp":"6744e4a395192d0012ba4e2f","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Trident +1 Damage (Two-handed)","cp":"6744e4a395192d0012ba4e2f","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Trident +2","blueprint":{"nm":"Trident +2","item":{"tp":"Item","cp":"6744e4ec95192d0012ba5e4a","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Trident +2","rd":"Trident +2 Attack","cp":"6744e4ec95192d0012ba5e4a","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Trident +2 (Thrown)","rd":"Trident +2 Attack (Thrown)","cp":"6744e4ec95192d0012ba5e4a","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Trident +2 (Two-handed)","rd":"Trident +2 Attack (Two-handed)","cp":"6744e4ec95192d0012ba5e4a","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Trident +2 Damage","cp":"6744e4ec95192d0012ba5e4a","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Trident +2 Damage (Thrown)","cp":"6744e4ec95192d0012ba5e4a","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Trident +2 Damage (Two-handed)","cp":"6744e4ec95192d0012ba5e4a","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Trident +3","blueprint":{"nm":"Trident +3","item":{"tp":"Item","cp":"6744e38595192d0012ba038e","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Trident +3","rd":"Trident +3 Attack","cp":"6744e38595192d0012ba038e","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Trident +3 (Thrown)","rd":"Trident +3 Attack (Thrown)","cp":"6744e38595192d0012ba038e","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Trident +3 (Two-handed)","rd":"Trident +3 Attack (Two-handed)","cp":"6744e38595192d0012ba038e","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Trident +3 Damage","cp":"6744e38595192d0012ba038e","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Trident +3 Damage (Thrown)","cp":"6744e38595192d0012ba038e","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Trident +3 Damage (Two-handed)","cp":"6744e38595192d0012ba038e","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Trident of Fish Command","blueprint":{"nm":"Trident of Fish Command","item":{"tp":"Item","cp":"6744e39595192d0012ba0826","dn":"This magic weapon has 3 charges, and it regains 1d3 expended charges daily at dawn. While you carry it, you can expend 1 charge to cast Dominate Beast (save DC 15) from it on a Beast that has a Swim Speed.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Am":1,"Ak":4,"Spell":1,"Resource":1,"dm":3,"Condition":1,"Upcasting":5,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Trident of Fish Command Attunement","cp":"6744e39595192d0012ba0826","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Trident of Fish Command","rd":"Trident of Fish Command Attack","cp":"6744e39595192d0012ba0826","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Trident of Fish Command (Thrown)","rd":"Trident of Fish Command Attack (Thrown)","cp":"6744e39595192d0012ba0826","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c4","tp":"Ak","nm":"Trident of Fish Command (Two-handed)","rd":"Trident of Fish Command Attack (Two-handed)","cp":"6744e39595192d0012ba0826","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast","cp":"66e08fbbdc69af0030fa5813","dn":"One Beast you can see within range must succeed on a Wisdom saving throw or have the Charmed condition for the duration. The target has Advantage on the save if you or your allies are fighting it. Whenever the target takes damage, it repeats the save, ending the spell on itself on a success.\nYou have a telepathic link with the Charmed target while the two of you are on the same plane of existence. On your turn, you can use this link to issue commands to the target (no action required), such as 'Attack that creature,' 'Move over there,' or 'Fetch that object.' The target does its best to obey on its turn. If it completes an order and doesn't receive further direction from you, it acts and moves as it likes, focusing on protecting itself.\nYou can command the target to take a Reaction but must take your own Reaction to do so."},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Trident of Fish Command Charges","rd":"Trident of Fish Command Resource","cp":"6744e39595192d0012ba0826","vl":3},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Trident of Fish Command Damage","cp":"6744e39595192d0012ba0826","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Trident of Fish Command Damage (Thrown)","cp":"6744e39595192d0012ba0826","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Trident of Fish Command Damage (Two-handed)","cp":"6744e39595192d0012ba0826","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Condition","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Spell","rd":"Dominate Beast Condition","cp":"66e08fbbdc69af0030fa5813","dn":""},{"id":"c1-c1-c2","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast","rd":"Dominate Beast Attack","cp":"66e08fbbdc69af0030fa5813","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"Target has the Charmed condition for the duration.","saveAbility":"Wisdom"}},{"id":"c1-c1-c3","tp":"Upcasting","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Upcasting Duration 5","cp":"66e08fbbdc69af0030fa5813","vl":"Concentration, up to 10 minutes"},{"id":"c1-c1-c4","tp":"Upcasting","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Upcasting Duration 6","cp":"66e08fbbdc69af0030fa5813","vl":"Concentration, up to 1 hour"},{"id":"c1-c1-c5","tp":"Upcasting","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Upcasting Duration 7","cp":"66e08fbbdc69af0030fa5813","vl":"Concentration, up to 8 hours"},{"id":"c1-c1-c6","tp":"Upcasting","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Upcasting Duration 8","cp":"66e08fbbdc69af0030fa5813","vl":"Concentration, up to 8 hours"},{"id":"c1-c1-c7","tp":"Upcasting","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Upcasting Duration 9","cp":"66e08fbbdc69af0030fa5813","vl":"Concentration, up to 8 hours"},{"id":"c1-c1-c1-c1","tp":"Action","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dominate Beast Reaction","cp":"66e08fbbdc69af0030fa5813","dn":"You can command the target to take a Reaction but must take your own Reaction to do so."}]}},{"nm":"Trident of Warning","blueprint":{"nm":"Trident of Warning","item":{"tp":"Item","cp":"681422e601f94d0012a6da74","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Am":1,"Ak":3,"RB":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Trident of Warning Attunement","cp":"681422e601f94d0012a6da74","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Trident of Warning","rd":"Trident of Warning Attack","cp":"681422e601f94d0012a6da74","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Trident of Warning (Thrown)","rd":"Trident of Warning Attack (Thrown)","cp":"681422e601f94d0012a6da74","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c4","tp":"Ak","nm":"Trident of Warning (Two-handed)","rd":"Trident of Warning Attack (Two-handed)","cp":"681422e601f94d0012a6da74","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Trident of Warning Initiative Advantage","cp":"681422e601f94d0012a6da74","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Trident of Warning Damage","cp":"681422e601f94d0012a6da74","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Trident of Warning Damage (Thrown)","cp":"681422e601f94d0012a6da74","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Trident of Warning Damage (Two-handed)","cp":"681422e601f94d0012a6da74","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Vicious Battleaxe","blueprint":{"nm":"Vicious Battleaxe","item":{"tp":"Item","cp":"68152971a193700012c11b07","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":4,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Battleaxe"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Battleaxe","rd":"Vicious Battleaxe Attack","cp":"68152971a193700012c11b07","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Battleaxe (Two-Handed)","rd":"Vicious Battleaxe Attack (Two-handed)","cp":"68152971a193700012c11b07","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Battleaxe Damage","cp":"68152971a193700012c11b07","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Battleaxe Vicious Damage","cp":"68152971a193700012c11b07","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Battleaxe Damage (Two-handed)","cp":"68152971a193700012c11b07","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Battleaxe Vicious Damage (Two-handed)","cp":"68152971a193700012c11b07","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Flail","blueprint":{"nm":"Vicious Flail","item":{"tp":"Item","cp":"68152a1fa193700012c13db1","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Flail"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Flail","rd":"Vicious Flail Attack","cp":"68152a1fa193700012c13db1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Flail Damage","cp":"68152a1fa193700012c13db1","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Flail Vicious Damage","cp":"68152a1fa193700012c13db1","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Glaive","blueprint":{"nm":"Vicious Glaive","item":{"tp":"Item","cp":"681529f5a193700012c134d1","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Glaive","rd":"Vicious Glaive Attack","cp":"681529f5a193700012c134d1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Glaive Damage","cp":"681529f5a193700012c134d1","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Glaive Vicious Damage","cp":"681529f5a193700012c134d1","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Greataxe","blueprint":{"nm":"Vicious Greataxe","item":{"tp":"Item","cp":"68152933a193700012c10ea3","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":7,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greataxe"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Greataxe","rd":"Vicious Greataxe Attack","cp":"68152933a193700012c10ea3","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Greataxe Damage","cp":"68152933a193700012c10ea3","ay":"auto","dT":"Slashing","die":"d12","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Greataxe Vicious Damage","cp":"68152933a193700012c10ea3","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Greatsword","blueprint":{"nm":"Vicious Greatsword","item":{"tp":"Item","cp":"6815291fa193700012c10a96","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Greatsword","rd":"Vicious Greatsword Attack","cp":"6815291fa193700012c10a96","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Greatsword Damage","cp":"6815291fa193700012c10a96","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":2,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Greatsword Vicious Damage","cp":"6815291fa193700012c10a96","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Halberd","blueprint":{"nm":"Vicious Halberd","item":{"tp":"Item","cp":"68152934a193700012c10ed3","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Halberd"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Halberd","rd":"Vicious Halberd Attack","cp":"68152934a193700012c10ed3","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Halberd Damage","cp":"68152934a193700012c10ed3","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Halberd Vicious Damage","cp":"68152934a193700012c10ed3","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Lance","blueprint":{"nm":"Vicious Lance","item":{"tp":"Item","cp":"68152962a193700012c11822","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":6,"ps":["Reach","Special"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Lance"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Lance","rd":"Vicious Lance Attack","cp":"68152962a193700012c11822","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Lance Damage","cp":"68152962a193700012c11822","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Lance Vicious Damage","cp":"68152962a193700012c11822","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Longsword","blueprint":{"nm":"Vicious Longsword","item":{"tp":"Item","cp":"681529c6a193700012c12bef","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Longsword","rd":"Vicious Longsword Attack","cp":"681529c6a193700012c12bef","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Longsword (Two-handed)","rd":"Vicious Longsword Attack (Two-handed)","cp":"681529c6a193700012c12bef","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Longsword Damage","cp":"681529c6a193700012c12bef","ay":"auto","dT":"Slashing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Longsword Vicious Damage","cp":"681529c6a193700012c12bef","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Longsword Damage (Two-handed)","cp":"681529c6a193700012c12bef","ay":"auto","dT":"Slashing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Longsword Vicious Damage (Two-handed)","cp":"681529c6a193700012c12bef","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Maul","blueprint":{"nm":"Vicious Maul","item":{"tp":"Item","cp":"68152939a193700012c10fcb","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":10,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Maul"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Maul","rd":"Vicious Maul Attack","cp":"68152939a193700012c10fcb","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Maul Damage","cp":"68152939a193700012c10fcb","ay":"auto","dT":"Bludgeoning","die":"d6","bo":0,"ct":2,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Maul Vicious Damage","cp":"68152939a193700012c10fcb","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Morningstar","blueprint":{"nm":"Vicious Morningstar","item":{"tp":"Item","cp":"68152931a193700012c10e12","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":4,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Morningstar"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Morningstar","rd":"Vicious Morningstar Attack","cp":"68152931a193700012c10e12","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Morningstar Damage","cp":"68152931a193700012c10e12","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Morningstar Vicious Damage","cp":"68152931a193700012c10e12","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Pike","blueprint":{"nm":"Vicious Pike","item":{"tp":"Item","cp":"68152929a193700012c10cac","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":18,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Pike"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Pike","rd":"Vicious Pike Attack","cp":"68152929a193700012c10cac","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Pike Damage","cp":"68152929a193700012c10cac","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Pike Vicious Damage","cp":"68152929a193700012c10cac","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Rapier","blueprint":{"nm":"Vicious Rapier","item":{"tp":"Item","cp":"68152946a193700012c11257","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Finesse"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Rapier"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Rapier","rd":"Vicious Rapier Attack","cp":"68152946a193700012c11257","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Rapier (Finesse)","rd":"Vicious Rapier Attack (Finesse)","cp":"68152946a193700012c11257","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Rapier Damage","cp":"68152946a193700012c11257","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Rapier Vicious Damage","cp":"68152946a193700012c11257","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Rapier Damage (Finesse)","cp":"68152946a193700012c11257","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Rapier Vicious Damage (Finesse)","cp":"68152946a193700012c11257","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Scimitar","blueprint":{"nm":"Vicious Scimitar","item":{"tp":"Item","cp":"68152a20a193700012c13dd1","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Ak":3,"dm":6},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Scimitar","rd":"Vicious Scimitar Attack","cp":"68152a20a193700012c13dd1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Scimitar (Finesse)","rd":"Vicious Scimitar Attack (Finesse)","cp":"68152a20a193700012c13dd1","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Scimitar (Off-hand)","rd":"Vicious Scimitar Attack (Off-hand)","cp":"68152a20a193700012c13dd1","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Scimitar Damage","cp":"68152a20a193700012c13dd1","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Scimitar Vicious Damage","cp":"68152a20a193700012c13dd1","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Scimitar Damage (Finesse)","cp":"68152a20a193700012c13dd1","ay":"auto","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Scimitar Vicious Damage (Finesse)","cp":"68152a20a193700012c13dd1","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Scimitar Damage (Off-hand)","cp":"68152a20a193700012c13dd1","ay":"none","dT":"Slashing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Scimitar Vicious Damage (Off-hand)","cp":"68152a20a193700012c13dd1","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Shortsword","blueprint":{"nm":"Vicious Shortsword","item":{"tp":"Item","cp":"68152937a193700012c10f3e","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Shortsword"}},"cS":{"Ak":3,"dm":6},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Shortsword","rd":"Vicious Shortsword Attack","cp":"68152937a193700012c10f3e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Shortsword (Finesse)","rd":"Vicious Shortsword Attack (Finesse)","cp":"68152937a193700012c10f3e","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Shortsword (Off-hand)","rd":"Vicious Shortsword Attack (Off-hand)","cp":"68152937a193700012c10f3e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Shortsword Damage","cp":"68152937a193700012c10f3e","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Shortsword Vicious Damage","cp":"68152937a193700012c10f3e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Shortsword Damage (Finesse)","cp":"68152937a193700012c10f3e","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Shortsword Vicious Damage (Finesse)","cp":"68152937a193700012c10f3e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Shortsword Damage (Off-hand)","cp":"68152937a193700012c10f3e","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Shortsword Vicious Damage (Off-hand)","cp":"68152937a193700012c10f3e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Trident","blueprint":{"nm":"Vicious Trident","item":{"tp":"Item","cp":"68152937a193700012c10f6e","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":4,"ps":["Thrown","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Trident"}},"cS":{"Ak":3,"dm":6},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Trident","rd":"Vicious Trident Attack","cp":"68152937a193700012c10f6e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Trident (Thrown)","rd":"Vicious Trident Attack (Thrown)","cp":"68152937a193700012c10f6e","aT":"Action","rg":"20/60","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c3","tp":"Ak","nm":"Vicious Trident (Two-handed)","rd":"Vicious Trident Attack (Two-handed)","cp":"68152937a193700012c10f6e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Trident Damage","cp":"68152937a193700012c10f6e","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Trident Vicious Damage","cp":"68152937a193700012c10f6e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Trident Damage (Thrown)","cp":"68152937a193700012c10f6e","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Trident Vicious Damage (Thrown)","cp":"68152937a193700012c10f6e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vicious Trident Damage (Two-handed)","cp":"68152937a193700012c10f6e","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c3-c2","tp":"dm","pt":"c3","nm":"Vicious Trident Vicious Damage (Two-handed)","cp":"68152937a193700012c10f6e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious War Pick","blueprint":{"nm":"Vicious War Pick","item":{"tp":"Item","cp":"68152937a193700012c10f4e","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious War Pick","rd":"Vicious War Pick Attack","cp":"68152937a193700012c10f4e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious War Pick (Two-handed)","rd":"Vicious War Pick Attack (Two-handed)","cp":"68152937a193700012c10f4e","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious War Pick Damage","cp":"68152937a193700012c10f4e","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious War Pick Vicious Damage","cp":"68152937a193700012c10f4e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious War Pick Damage (Two-handed)","cp":"68152937a193700012c10f4e","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious War Pick Vicious Damage (Two-handed)","cp":"68152937a193700012c10f4e","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Warhammer","blueprint":{"nm":"Vicious Warhammer","item":{"tp":"Item","cp":"681529c7a193700012c12c31","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Warhammer","rd":"Vicious Warhammer Attack","cp":"681529c7a193700012c12c31","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Warhammer (Two-handed)","rd":"Vicious Warhammer Attack (Two-handed)","cp":"681529c7a193700012c12c31","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Warhammer Damage","cp":"681529c7a193700012c12c31","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Warhammer Vicious Damage","cp":"681529c7a193700012c12c31","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Warhammer Damage (Two-handed)","cp":"681529c7a193700012c12c31","ay":"auto","dT":"Bludgeoning","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Warhammer Vicious Damage (Two-handed)","cp":"681529c7a193700012c12c31","ay":"none","dT":"Bludgeoning","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Whip","blueprint":{"nm":"Vicious Whip","item":{"tp":"Item","cp":"681529c6a193700012c12bff","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Whip","rd":"Vicious Whip Attack","cp":"681529c6a193700012c12bff","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Whip (Finesse)","rd":"Vicious Whip Attack (Finesse)","cp":"681529c6a193700012c12bff","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Whip Damage","cp":"681529c6a193700012c12bff","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Whip Vicious Damage","cp":"681529c6a193700012c12bff","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Whip Damage (Finesse)","cp":"681529c6a193700012c12bff","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Whip Vicious Damage (Finesse)","cp":"681529c6a193700012c12bff","ay":"none","dT":"Slashing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vorpal Glaive","blueprint":{"nm":"Vorpal Glaive","item":{"tp":"Item","cp":"681529f6a193700012c134f1","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. In addition, the weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","wt":6,"ps":["Heavy","Reach","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Glaive"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Vorpal Glaive Attunement","cp":"681529f6a193700012c134f1","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Vorpal Glaive","rd":"Vorpal Glaive Attack","cp":"681529f6a193700012c134f1","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vorpal Glaive Damage","cp":"681529f6a193700012c134f1","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Vorpal Greatsword","blueprint":{"nm":"Vorpal Greatsword","item":{"tp":"Item","cp":"68152963a193700012c11845","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. In addition, the weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","wt":6,"ps":["Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Greatsword"}},"cS":{"Am":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Vorpal Greatsword Attunement","cp":"68152963a193700012c11845","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Vorpal Greatsword","rd":"Vorpal Greatsword Attack","cp":"68152963a193700012c11845","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vorpal Greatsword Damage","cp":"68152963a193700012c11845","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":2,"oC":false}]}},{"nm":"Vorpal Longsword","blueprint":{"nm":"Vorpal Longsword","item":{"tp":"Item","cp":"681423c9769a63001265d87c","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. In addition, the weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","wt":3,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Vorpal Longsword Attunement","cp":"681423c9769a63001265d87c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Vorpal Longsword","rd":"Vorpal Longsword (One-Handed) Attack","cp":"681423c9769a63001265d87c","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c3","tp":"Ak","nm":"Vorpal Longsword (Two-handed)","rd":"Vorpal Longsword (Two-handed) Attack","cp":"681423c9769a63001265d87c","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vorpal Longsword (One-Handed) Damage","cp":"681423c9769a63001265d87c","ay":"auto","dT":"Slashing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vorpal Longsword (Two-handed) Damage","cp":"681423c9769a63001265d87c","ay":"auto","dT":"Slashing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Vorpal Scimitar","blueprint":{"nm":"Vorpal Scimitar","item":{"tp":"Item","cp":"68152971a193700012c11b17","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. In addition, the weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","wt":3,"ps":["Finesse","Light"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Scimitar"}},"cS":{"Am":1,"Ak":3,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Vorpal Scimitar Attunement","cp":"68152971a193700012c11b17","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Vorpal Scimitar","rd":"Vorpal Scimitar STR Attack","cp":"68152971a193700012c11b17","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c3","tp":"Ak","nm":"Vorpal Scimitar (Finesse)","rd":"Vorpal Scimitar (DEX) Attack","cp":"68152971a193700012c11b17","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c4","tp":"Ak","nm":"Vorpal Scimitar (Off-hand)","rd":"Vorpal Scimitar (Off-Hand) Attack","cp":"68152971a193700012c11b17","aT":"Action","dn":"When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads. The creature dies if it can't survive without the lost head. A creature is immune to this effect if it has Immunity to Slashing damage, if it doesn't have or need a head, or if the DM decides that the creature is too big for its head to be cut off with this weapon. Such a creature instead takes an extra 30 Slashing damage from the hit. If the creature has Legendary Resistance, it can expend one daily use of that trait to avoid losing its head, taking the extra damage instead.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"This weapon ignores Resistance to Slashing damage. When you use this weapon to attack a creature that has at least one head and roll a 20 on the d20 for the attack roll, you cut off one of the creature's heads."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vorpal Scimitar STR Damage","cp":"68152971a193700012c11b17","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Vorpal Scimitar (DEX) Damage","cp":"68152971a193700012c11b17","ay":"auto","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c4-c1","tp":"dm","pt":"c4","nm":"Vorpal Scimitar (Off-Hand) Damage","cp":"68152971a193700012c11b17","ay":"none","dT":"Slashing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"War Pick","blueprint":{"nm":"War Pick","item":{"tp":"Item","cp":"67a659a7db873a00127f9535","dn":"Versatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nDamage: 1d8 (1d10)\nDamage Type: Piercing\nProperties: Versatile\nMastery: Sap\nWeight: 2","wt":2,"ps":["Versatile (1d10)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"War Pick (One-Handed)","rd":"War Pick One-Handed Attack","cp":"67a659a7db873a00127f9535","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"War Pick (Two-Handed)","rd":"War Pick Two-Handed Attack","cp":"67a659a7db873a00127f9535","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"War Pick One Handed Damage","cp":"67a659a7db873a00127f9535","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"War Pick Two Handed Damage","cp":"67a659a7db873a00127f9535","ay":"auto","dT":"Piercing","die":"d10","ct":1,"oC":false}]}},{"nm":"War Pick +1","blueprint":{"nm":"War Pick +1","item":{"tp":"Item","cp":"6744e49795192d0012ba4aec","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"War Pick +1","rd":"War Pick +1 Attack","cp":"6744e49795192d0012ba4aec","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"War Pick +1 (Two-handed)","rd":"War Pick +1 Attack (Two-handed)","cp":"6744e49795192d0012ba4aec","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"War Pick +1 Damage","cp":"6744e49795192d0012ba4aec","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"War Pick +1 Damage (Two-handed)","cp":"6744e49795192d0012ba4aec","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"War Pick +2","blueprint":{"nm":"War Pick +2","item":{"tp":"Item","cp":"6744e2f595192d0012b9e37e","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"War Pick +2","rd":"War Pick +2 Attack","cp":"6744e2f595192d0012b9e37e","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"War Pick +2 (Two-handed)","rd":"War Pick +2 Attack (Two-handed)","cp":"6744e2f595192d0012b9e37e","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"War Pick +2 Damage","cp":"6744e2f595192d0012b9e37e","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"War Pick +2 Damage (Two-handed)","cp":"6744e2f595192d0012b9e37e","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"War Pick +3","blueprint":{"nm":"War Pick +3","item":{"tp":"Item","cp":"6744e49895192d0012ba4b09","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"War Pick +3","rd":"War Pick +3 Attack","cp":"6744e49895192d0012ba4b09","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"War Pick +3 (Two-handed)","rd":"War Pick +3 Attack (Two-handed)","cp":"6744e49895192d0012ba4b09","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"War Pick +3 Damage","cp":"6744e49895192d0012ba4b09","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"War Pick +3 Damage (Two-handed)","cp":"6744e49895192d0012ba4b09","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"War Pick of Warning","blueprint":{"nm":"War Pick of Warning","item":{"tp":"Item","cp":"68152a22a193700012c13e3f","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"War Pick"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"War Pick of Warning Attunement","cp":"68152a22a193700012c13e3f","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"War Pick of Warning","rd":"War Pick of Warning Attack","cp":"68152a22a193700012c13e3f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"War Pick of Warning (Two-handed)","rd":"War Pick of Warning Attack (Two-handed)","cp":"68152a22a193700012c13e3f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"War Pick of Warning Initiative Advantage","cp":"68152a22a193700012c13e3f","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"War Pick of Warning Damage","cp":"68152a22a193700012c13e3f","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"War Pick of Warning Damage (Two-handed)","cp":"68152a22a193700012c13e3f","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Warhammer","blueprint":{"nm":"Warhammer","item":{"tp":"Item","cp":"67a659a7db873a00127f9517","dn":"Versatile. A Versatile weapon can be used with one or two hands. A damage value in parentheses appears with the property. The weapon deals that damage when used with two hands to make a melee attack.\nDamage: 1d8 (1d10)\nDamage Type: Bludgeoning\nProperties: Versatile\nMastery: Push\nWeight: 5","wt":5,"ps":["Versatile (1d10)"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Warhammer (One-Handed)","rd":"Warhammer One-Handed Attack","cp":"67a659a7db873a00127f9517","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Warhammer (Two-Handed)","rd":"Warhammer Two-Handed Attack","cp":"67a659a7db873a00127f9517","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Warhammer One Handed Damage","cp":"67a659a7db873a00127f9517","ay":"auto","dT":"Bludgeoning","die":"d8","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Warhammer Two Handed Damage","cp":"67a659a7db873a00127f9517","ay":"auto","dT":"Bludgeoning","die":"d10","ct":1,"oC":false}]}},{"nm":"Warhammer +1","blueprint":{"nm":"Warhammer +1","item":{"tp":"Item","cp":"6744e49595192d0012ba4a65","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Warhammer +1","rd":"Warhammer +1 Attack","cp":"6744e49595192d0012ba4a65","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Warhammer +1 (Two-handed)","rd":"Warhammer +1 Attack (Two-handed)","cp":"6744e49595192d0012ba4a65","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Warhammer +1 Damage","cp":"6744e49595192d0012ba4a65","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Warhammer +1 Damage (Two-handed)","cp":"6744e49595192d0012ba4a65","ay":"auto","dT":"Bludgeoning","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Warhammer +2","blueprint":{"nm":"Warhammer +2","item":{"tp":"Item","cp":"6744e2f195192d0012b9e2a5","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Warhammer +2","rd":"Warhammer +2 Attack","cp":"6744e2f195192d0012b9e2a5","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Warhammer +2 (Two-handed)","rd":"Warhammer +2 Attack (Two-handed)","cp":"6744e2f195192d0012b9e2a5","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Warhammer +2 Damage","cp":"6744e2f195192d0012b9e2a5","ay":"auto","dT":"Bludgeoning","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Warhammer +2 Damage (Two-handed)","cp":"6744e2f195192d0012b9e2a5","ay":"auto","dT":"Bludgeoning","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Warhammer +3","blueprint":{"nm":"Warhammer +3","item":{"tp":"Item","cp":"6744e31695192d0012b9e9d1","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Warhammer +3","rd":"Warhammer +3 Attack","cp":"6744e31695192d0012b9e9d1","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Warhammer +3 (Two-handed)","rd":"Warhammer +3 Attack (Two-handed)","cp":"6744e31695192d0012b9e9d1","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Warhammer +3 Damage","cp":"6744e31695192d0012b9e9d1","ay":"auto","dT":"Bludgeoning","die":"d8","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Warhammer +3 Damage (Two-handed)","cp":"6744e31695192d0012b9e9d1","ay":"auto","dT":"Bludgeoning","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Warhammer of Thunderbolts","blueprint":{"nm":"Warhammer of Thunderbolts","item":{"tp":"Item","cp":"68152921a193700012c10b17","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nThe weapon has 5 charges. You can expend 1 charge and make a ranged attack with the weapon, hurling it as if it had the Thrown property with a normal range of 20 feet and a long range of 60 feet. If the attack hits, the weapon unleashes a thunderclap audible out to 300 feet. The target and every creature within 30 feet of it other than you must succeed on a DC 17 Constitution saving throw or have the Stunned condition until the end of your next turn. Immediately after hitting or missing, the weapon flies back to your hand. The weapon regains 1d4 + 1 expended charges daily at dawn.\nGiant's Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefits:\nGiants' Bane. When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw or die.\nMight of Giants. The Strength score bestowed by your Belt of Giant Strength or Gauntlets of Ogre Power increases by 4, to a maximum of 30.","wt":2,"ps":["Versatile","Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Am":1,"Ak":5,"Resource":1,"Effect":2,"dm":3,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Warhammer of Thunderbolts Attunement","cp":"68152921a193700012c10b17","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Warhammer of Thunderbolts","rd":"Warhammer of Thunderbolts Attack","cp":"68152921a193700012c10b17","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Warhammer of Thunderbolts (Two-handed)","rd":"Warhammer of Thunderbolts Attack (Two-handed)","cp":"68152921a193700012c10b17","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c4","tp":"Resource","nm":"Throw Charges (Warhammer of Thunderbolts)","rd":"Warhammer of Thunderbolts Thrown Resource","cp":"68152921a193700012c10b17","vl":5},{"id":"c5","tp":"Effect","nm":"Giants' Bane","rd":"Warhammer of Thunderbolts Giants Bane Effect","cp":"68152921a193700012c10b17","cy":"[]","dn":"Giant's Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefit. When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw or die.","situation":"While attuned and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power.","active":false},{"id":"c6","tp":"Effect","nm":"Might of Giants","rd":"Warhammer of Thunderbolts Might of Giants Effect","cp":"68152921a193700012c10b17","cy":"[]","dn":"Giant's Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefit. The Strength score bestowed by your Belt of Giant Strength or Gauntlets of Ogre Power increases by 4, to a maximum of 30.","situation":"While attuned and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power.","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Warhammer of Thunderbolts Damage","cp":"68152921a193700012c10b17","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Warhammer of Thunderbolts Damage (Two-handed)","cp":"68152921a193700012c10b17","ay":"auto","dT":"Bludgeoning","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c4-c1","tp":"Ak","pt":"c4","nm":"Thunderclap Save (Warhammer of Thunderbolts)","rd":"Warhammer of Thunderbolts Thunderclap Save","cp":"68152921a193700012c10b17","aT":"Action","dn":"If the attack hits, the weapon unleashes a thunderclap audible out to 300 feet. The target and every creature within 30 feet of it other than you must succeed on a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Have the Stunned condition until the end of your next turn.","saveAbility":"Constitution","saveFlat":17}},{"id":"c5-c1","tp":"Ak","pt":"c5","cascades":[{"ref":"c5","actions":["Activate"]}],"nm":"Giants' Bane Save (Warhammer of Thunderbolts)","rd":"Warhammer of Thunderbolts Giants Bane Save","cp":"68152921a193700012c10b17","aT":"Action","dn":"When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant dies.","saveAbility":"Constitution","saveFlat":17}},{"id":"c6-c1","tp":"AS","pt":"c6","cascades":[{"ref":"c6","actions":["Activate"]}],"nm":"Warhammer of Thunderbolts Might of Giants Strength","cp":"68152921a193700012c10b17","ay":"Strength","cl":"Modify","vl":{"fa":4}},{"id":"x2","tp":"Ak","nm":"Warhammer of Thunderbolts (Thrown)","rd":"Warhammer of Thunderbolts Attack (Thrown)","cp":"68152921a193700012c10b17","aT":"Action","rg":"20/60","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"x1","tp":"dm","pt":"x2","nm":"Warhammer of Thunderbolts Damage (Thrown)","cp":"68152921a193700012c10b17","ay":"auto","dT":"Bludgeoning","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Warhammer of Warning","blueprint":{"nm":"Warhammer of Warning","item":{"tp":"Item","cp":"68152921a193700012c10b27","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Warhammer"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Warhammer of Warning Attunement","cp":"68152921a193700012c10b27","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Warhammer of Warning","rd":"Warhammer of Warning Attack","cp":"68152921a193700012c10b27","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Warhammer of Warning (Two-handed)","rd":"Warhammer of Warning Attack (Two-handed)","cp":"68152921a193700012c10b27","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Warhammer of Warning Initiative Advantage","cp":"68152921a193700012c10b27","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Warhammer of Warning Damage","cp":"68152921a193700012c10b27","ay":"auto","dT":"Bludgeoning","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Warhammer of Warning Damage (Two-handed)","cp":"68152921a193700012c10b27","ay":"auto","dT":"Bludgeoning","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Whip","blueprint":{"nm":"Whip","item":{"tp":"Item","cp":"67a658fcdb873a00127f5ee7","dn":"Finesse. When making an attack with a Finesse weapon, use your choice of your Strength or Dexterity modifier for the attack and damage rolls. You must use the same modifier for both rolls.\nReach. A Reach weapon adds 5 feet to your reach when you attack with it, as well as when determining your reach for Opportunity Attacks with it.\nDamage: 1d4\nDamage Type: Slashing\nProperties: Finesse, Reach\nMastery: Slow\nWeight: 3","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Whip","rd":"Whip STR Attack","cp":"67a658fcdb873a00127f5ee7","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Whip (Finesse)","rd":"Whip Attack DEX","cp":"67a658fcdb873a00127f5ee7","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Whip STR Damage","cp":"67a658fcdb873a00127f5ee7","ay":"auto","dT":"Slashing","die":"d4","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Whip Damage DEX","cp":"67a658fcdb873a00127f5ee7","ay":"auto","dT":"Slashing","die":"d4","ct":1,"oC":false}]}},{"nm":"Whip +1","blueprint":{"nm":"Whip +1","item":{"tp":"Item","cp":"6744e49895192d0012ba4b2c","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Whip +1","rd":"Whip +1 Attack","cp":"6744e49895192d0012ba4b2c","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Whip +1 (Finesse)","rd":"Whip +1 Attack (Finesse)","cp":"6744e49895192d0012ba4b2c","aT":"Action","ak":{"aB":"Dexterity","bo":1,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Whip +1 Damage","cp":"6744e49895192d0012ba4b2c","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Whip +1 Damage (Finesse)","cp":"6744e49895192d0012ba4b2c","ay":"auto","dT":"Slashing","die":"d4","bo":1,"ct":1,"oC":false}]}},{"nm":"Whip +2","blueprint":{"nm":"Whip +2","item":{"tp":"Item","cp":"6744e49695192d0012ba4ab6","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Whip +2","rd":"Whip +2 Attack","cp":"6744e49695192d0012ba4ab6","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Whip +2 (Finesse)","rd":"Whip +2 Attack (Finesse)","cp":"6744e49695192d0012ba4ab6","aT":"Action","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Whip +2 Damage","cp":"6744e49695192d0012ba4ab6","ay":"auto","dT":"Slashing","die":"d4","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Whip +2 Damage (Finesse)","cp":"6744e49695192d0012ba4ab6","ay":"auto","dT":"Slashing","die":"d4","bo":2,"ct":1,"oC":false}]}},{"nm":"Whip +3","blueprint":{"nm":"Whip +3","item":{"tp":"Item","cp":"6744e49795192d0012ba4ad1","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Whip +3","rd":"Whip +3 Attack","cp":"6744e49795192d0012ba4ad1","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Whip +3 (Finesse)","rd":"Whip +3 Attack (Finesse)","cp":"6744e49795192d0012ba4ad1","aT":"Action","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Whip +3 Damage","cp":"6744e49795192d0012ba4ad1","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Whip +3 Damage (Finesse)","cp":"6744e49795192d0012ba4ad1","ay":"auto","dT":"Slashing","die":"d4","bo":3,"ct":1,"oC":false}]}},{"nm":"Whip of Warning","blueprint":{"nm":"Whip of Warning","item":{"tp":"Item","cp":"68152a22a193700012c13e57","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":3,"ps":["Finesse","Reach"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Whip"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Whip of Warning Attunement","cp":"68152a22a193700012c13e57","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Whip of Warning","rd":"Whip of Warning Attack","cp":"68152a22a193700012c13e57","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Whip of Warning (Finesse)","rd":"Whip of Warning Attack (Finesse)","cp":"68152a22a193700012c13e57","aT":"Action","ak":{"aB":"Dexterity","tp":"Melee"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Whip of Warning Initiative Advantage","cp":"68152a22a193700012c13e57","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Whip of Warning Damage","cp":"68152a22a193700012c13e57","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Whip of Warning Damage (Finesse)","cp":"68152a22a193700012c13e57","ay":"auto","dT":"Slashing","die":"d4","bo":0,"ct":1,"oC":false}]}},{"nm":"Blowgun","blueprint":{"nm":"Blowgun","item":{"tp":"Item","cp":"67a659a8db873a00127f9566","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nLoading. You can fire only one piece of ammunition from a Loading weapon when you use an action, a Bonus Action, or a Reaction to fire it, regardless of the number of attacks you can normally make.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nDamage: 1\nDamage Type: Piercing\nProperties: Ammunition (Range 25/100; Needle), Loading\nMastery: Vex\nWeight: 1","wt":1,"ps":["Ammunition (Range 25/100; Needle)","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Blowgun","rd":"Blowgun Attack","cp":"67a659a8db873a00127f9566","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Blowgun Damage","cp":"67a659a8db873a00127f9566","ay":"none","dT":"Piercing","bo":1,"oC":false}]}},{"nm":"Blowgun +1","blueprint":{"nm":"Blowgun +1","item":{"tp":"Item","cp":"6744e3d595192d0012ba175e","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Blowgun +1","rd":"Blowgun +1 Attack","cp":"6744e3d595192d0012ba175e","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Blowgun +1 Damage","cp":"6744e3d595192d0012ba175e","ay":"none","dT":"Piercing","bo":2,"oC":false}]}},{"nm":"Blowgun +2","blueprint":{"nm":"Blowgun +2","item":{"tp":"Item","cp":"6744e42595192d0012ba2ce7","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Blowgun +2","rd":"Blowgun +2 Attack","cp":"6744e42595192d0012ba2ce7","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Blowgun +2 Damage","cp":"6744e42595192d0012ba2ce7","ay":"none","dT":"Piercing","bo":3,"oC":false}]}},{"nm":"Blowgun +3","blueprint":{"nm":"Blowgun +3","item":{"tp":"Item","cp":"6744e40595192d0012ba2434","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Blowgun +3","rd":"Blowgun +3 Attack","cp":"6744e40595192d0012ba2434","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Blowgun +3 Damage","cp":"6744e40595192d0012ba2434","ay":"none","dT":"Piercing","bo":4,"oC":false}]}},{"nm":"Blowgun of Warning","blueprint":{"nm":"Blowgun of Warning","item":{"tp":"Item","cp":"6815291fa193700012c10aa6","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Blowgun of Warning Attunement","cp":"6815291fa193700012c10aa6","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Blowgun of Warning","rd":"Blowgun of Warning Attack","cp":"6815291fa193700012c10aa6","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Blowgun of Warning Initiative Advantage","cp":"6815291fa193700012c10aa6","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Blowgun of Warning Damage","cp":"6815291fa193700012c10aa6","ay":"none","dT":"Piercing","bo":1,"oC":false}]}},{"nm":"Dragon Slayer Blowgun","blueprint":{"nm":"Dragon Slayer Blowgun","item":{"tp":"Item","cp":"681529f1a193700012c133df","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Blowgun","rd":"Dragon Slayer Blowgun Attack","cp":"681529f1a193700012c133df","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Blowgun Extra Damage","cp":"681529f1a193700012c133df","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Blowgun Damage","cp":"681529f1a193700012c133df","ay":"none","dT":"Piercing","bo":2,"oC":false}]}},{"nm":"Dragon Slayer Hand Crossbow","blueprint":{"nm":"Dragon Slayer Hand Crossbow","item":{"tp":"Item","cp":"68152947a193700012c11297","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Hand Crossbow","rd":"Dragon Slayer Hand Crossbow Attack","cp":"68152947a193700012c11297","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Hand Crossbow (Off-Hand)","rd":"Dragon Slayer Hand Crossbow (Off-Hand) Attack","cp":"68152947a193700012c11297","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Hand Crossbow Extra Damage","cp":"68152947a193700012c11297","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Hand Crossbow Damage","cp":"68152947a193700012c11297","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Hand Crossbow (Off-Hand) Damage","cp":"68152947a193700012c11297","ay":"none","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Heavy Crossbow","blueprint":{"nm":"Dragon Slayer Heavy Crossbow","item":{"tp":"Item","cp":"6815290aa193700012c106c0","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Heavy Crossbow","rd":"Dragon Slayer Heavy Crossbow Attack","cp":"6815290aa193700012c106c0","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Heavy Crossbow Extra Damage","cp":"6815290aa193700012c106c0","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Heavy Crossbow Damage","cp":"6815290aa193700012c106c0","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Longbow","blueprint":{"nm":"Dragon Slayer Longbow","item":{"tp":"Item","cp":"68152960a193700012c117d6","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Longbow","rd":"Dragon Slayer Longbow Attack","cp":"68152960a193700012c117d6","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Longbow Extra Damage","cp":"68152960a193700012c117d6","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Longbow Damage","cp":"68152960a193700012c117d6","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Musket","blueprint":{"nm":"Dragon Slayer Musket","item":{"tp":"Item","cp":"68152a14a193700012c13b90","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Musket","rd":"Dragon Slayer Musket Attack","cp":"68152a14a193700012c13b90","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Musket Extra Damage","cp":"68152a14a193700012c13b90","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Musket Damage","cp":"68152a14a193700012c13b90","ay":"auto","dT":"Piercing","die":"d12","bo":1,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Pistol","blueprint":{"nm":"Dragon Slayer Pistol","item":{"tp":"Item","cp":"6815291ca193700012c10a2e","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Pistol","rd":"Dragon Slayer Pistol Attack","cp":"6815291ca193700012c10a2e","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Pistol Extra Damage","cp":"6815291ca193700012c10a2e","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Pistol Damage","cp":"6815291ca193700012c10a2e","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Energy Longbow","blueprint":{"nm":"Energy Longbow","item":{"tp":"Item","cp":"6744e40b95192d0012ba25dd","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon, which has no string. Each time you pull your arm back in a firing motion,\na magical arrow made of golden energy appears nocked and ready to fire. An arrow produced by this weapon deals Force damage instead of Piercing damage on a hit, and it disappears after it hits or misses its target. Until it disappears, the arrow emits Bright Light in a 20-foot radius and Dim Light for an additional 20 feet.\n\nThis weapon has the following additional properties.\n\nArrow of Restraint. Whenever you use this weapon to make a ranged attack against a creature, you can try to restrain the target instead of dealing damage to it. If the arrow hits, the target must succeed on a DC 15 Strength saving throw or have the Restrained condition for 1 minute. As an action, a creature Restrained by an arrow can make a DC 20 Strength (Athletics) check to try to break the restraint, ending the effect on itself on a successful check.\n\nArrow of Transport. As a Magic action, you can fire one energy arrow from this weapon at a target you can see within 60 feet of yourself. The target can be either a willing Medium or smaller creature or an object that isn't being worn or carried, provided the object is small enough to fit inside a 5-foot Cube. The arrow teleports the target to an unoccupied space you can see within 10 feet of you.\n\nEnergy Ladder. As a Magic action, you can loose a flurry of energy arrows from this weapon at a wall up to 60 feet away from yourself. The arrows become glowing rungs that stick out of the wall, forming a magical ladder up to 60 feet long on the wall. This ladder lasts for 1 minute before disappearing.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Am":1,"Ak":2,"Action":2,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Energy Longbow Attunement","cp":"6744e40b95192d0012ba25dd","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Energy Longbow","rd":"Energy Longbow Attack","cp":"6744e40b95192d0012ba25dd","aT":"Action","rg":"150/600","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"An arrow produced by this weapon deals Force damage instead of Piercing damage on a hit, and it disappears after it hits or misses its target."},{"id":"c1-c1","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Arrow of Restraint","rd":"Energy Longbow Arrow of Restraint Save","cp":"6744e40b95192d0012ba25dd","aT":"Action","rg":"150/600","dn":"Whenever you use this weapon to make a ranged attack against a creature, you can try to restrain the target instead of dealing damage to it.","ak":{"tp":"Attack Save"},"save":{"onFail":"Have the Restrained condition for 1 minute.","saveAbility":"Strength","saveFlat":15},"onHit":"If the arrow hits, the target must succeed on a DC 15 Strength saving throw or have the Restrained condition for 1 minute."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Arrow of Transport","rd":"Energy Longbow Arrow of Transport Magic Action","cp":"6744e40b95192d0012ba25dd","dn":"As a Magic action, you can fire one energy arrow from this weapon at a target you can see within 60 feet of yourself. The target can be either a willing Medium or smaller creature or an object that isn't being worn or carried, provided the object is small enough to fit inside a 5-foot Cube. The arrow teleports the target to an unoccupied space you can see within 10 feet of you."},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Energy Ladder","rd":"Energy Longbow Energy Ladder Magic Action","cp":"6744e40b95192d0012ba25dd","dn":"As a Magic action, you can loose a flurry of energy arrows from this weapon at a wall up to 60 feet away from yourself. The arrows become glowing rungs that stick out of the wall, forming a magical ladder up to 60 feet long on the wall. This ladder lasts for 1 minute before disappearing. "},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Energy Longbow Damage","cp":"6744e40b95192d0012ba25dd","ay":"auto","dT":"Force","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Giant Slayer Blowgun","blueprint":{"nm":"Giant Slayer Blowgun","item":{"tp":"Item","cp":"6744e49e95192d0012ba4cc6","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Blowgun","rd":"Giant Slayer Blowgun Attack","cp":"6744e49e95192d0012ba4cc6","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Blowgun","rd":"Giant Slayer Blowgun Giant Damage Effect","cp":"6744e49e95192d0012ba4cc6","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Blowgun Damage","cp":"6744e49e95192d0012ba4cc6","ay":"none","dT":"Piercing","bo":2,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Blowgun Knock Prone","cp":"6744e49e95192d0012ba4cc6","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Hand Crossbow","blueprint":{"nm":"Giant Slayer Hand Crossbow","item":{"tp":"Item","cp":"6744e3e495192d0012ba1b49","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Hand Crossbow","rd":"Giant Slayer Hand Crossbow Attack","cp":"6744e3e495192d0012ba1b49","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Hand Crossbow (Off-Hand)","rd":"Giant Slayer Hand Crossbow (Off-Hand) Attack","cp":"6744e3e495192d0012ba1b49","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Hand Crossbow","rd":"Giant Slayer Hand Crossbow Giant Damage Effect","cp":"6744e3e495192d0012ba1b49","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Hand Crossbow Damage","cp":"6744e3e495192d0012ba1b49","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Hand Crossbow (Off-Hand) Damage","cp":"6744e3e495192d0012ba1b49","ay":"none","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Hand Crossbow Knock Prone","cp":"6744e3e495192d0012ba1b49","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Heavy Crossbow","blueprint":{"nm":"Giant Slayer Heavy Crossbow","item":{"tp":"Item","cp":"6744e2d995192d0012b9dc1e","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Heavy Crossbow","rd":"Giant Slayer Heavy Crossbow Attack","cp":"6744e2d995192d0012b9dc1e","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Heavy Crossbow","rd":"Giant Slayer Heavy Crossbow Giant Damage Effect","cp":"6744e2d995192d0012b9dc1e","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Heavy Crossbow Damage","cp":"6744e2d995192d0012b9dc1e","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Heavy Crossbow Knock Prone","cp":"6744e2d995192d0012b9dc1e","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Longbow","blueprint":{"nm":"Giant Slayer Longbow","item":{"tp":"Item","cp":"6744e44095192d0012ba33a8","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Longbow","rd":"Giant Slayer Longbow Attack","cp":"6744e44095192d0012ba33a8","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Longbow","rd":"Giant Slayer Longbow Giant Damage Effect","cp":"6744e44095192d0012ba33a8","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Longbow Damage","cp":"6744e44095192d0012ba33a8","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Longbow Knock Prone","cp":"6744e44095192d0012ba33a8","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Musket","blueprint":{"nm":"Giant Slayer Musket","item":{"tp":"Item","cp":"6744e41d95192d0012ba2abf","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Musket","rd":"Giant Slayer Musket Attack","cp":"6744e41d95192d0012ba2abf","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Musket","rd":"Giant Slayer Musket Giant Damage Effect","cp":"6744e41d95192d0012ba2abf","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Musket Damage","cp":"6744e41d95192d0012ba2abf","ay":"auto","dT":"Piercing","die":"d12","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Musket Knock Prone","cp":"6744e41d95192d0012ba2abf","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Giant Slayer Pistol","blueprint":{"nm":"Giant Slayer Pistol","item":{"tp":"Item","cp":"6744e43295192d0012ba301a","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":2,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Pistol","rd":"Giant Slayer Pistol Attack","cp":"6744e43295192d0012ba301a","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Effect","nm":"Giant Slayer Pistol","rd":"Giant Slayer Pistol Giant Damage Effect","cp":"6744e43295192d0012ba301a","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Pistol Damage","cp":"6744e43295192d0012ba301a","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"Ak","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Pistol Knock Prone","cp":"6744e43295192d0012ba301a","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Hand Crossbow","blueprint":{"nm":"Hand Crossbow","item":{"tp":"Item","cp":"67a659a3db873a00127f938a","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nLight. When you take the Attack action on your turn and attack with a Light weapon, you can make one extra attack as a Bonus Action later on the same turn. That extra attack must be made with a different Light weapon, and you don't add your ability modifier to the extra attack's damage unless that modifier is negative. For example, you can attack with a Shortsword in one hand and a Dagger in the other using the Attack action and a Bonus Action, but you don't add your Strength or Dexterity modifier to the damage roll of the Bonus Action unless that modifier is negative.\nLoading. You can fire only one piece of ammunition from a Loading weapon when you use an action, a Bonus Action, or a Reaction to fire it, regardless of the number of attacks you can normally make.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nDamage: 1d6\nDamage Type: Piercing\nProperties: Ammunition (Range 30/120; Bolt), Light, Loading\nMastery: Vex\nWeight: 3","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Hand Crossbow","rd":"Hand Crossbow Attack","cp":"67a659a3db873a00127f938a","aT":"Action","rg":"30/120 ft","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Hand Crossbow (Off-Hand)","rd":"Hand Crossbow (Off-Hand) Attack","cp":"67a659a3db873a00127f938a","aT":"Action","rg":"30/120 ft","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Hand Crossbow Damage","cp":"67a659a3db873a00127f938a","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Hand Crossbow (Off-Hand) Damage","cp":"67a659a3db873a00127f938a","ay":"none","dT":"Piercing","die":"d6","ct":1,"oC":false}]}},{"nm":"Hand Crossbow +1","blueprint":{"nm":"Hand Crossbow +1","item":{"tp":"Item","cp":"6744e2e495192d0012b9df18","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Hand Crossbow +1","rd":"Hand Crossbow +1 Attack","cp":"6744e2e495192d0012b9df18","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Hand Crossbow +1 (Off-Hand)","rd":"Hand Crossbow +1 (Off-Hand) Attack","cp":"6744e2e495192d0012b9df18","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Hand Crossbow +1 Damage","cp":"6744e2e495192d0012b9df18","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Hand Crossbow +1 (Off-Hand) Damage","cp":"6744e2e495192d0012b9df18","ay":"none","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Hand Crossbow +2","blueprint":{"nm":"Hand Crossbow +2","item":{"tp":"Item","cp":"6744e43f95192d0012ba3372","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Hand Crossbow +2","rd":"Hand Crossbow +2 Attack","cp":"6744e43f95192d0012ba3372","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Hand Crossbow +2 (Off-Hand)","rd":"Hand Crossbow +2 (Off-Hand) Attack","cp":"6744e43f95192d0012ba3372","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Hand Crossbow +2 Damage","cp":"6744e43f95192d0012ba3372","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Hand Crossbow +2 (Off-Hand) Damage","cp":"6744e43f95192d0012ba3372","ay":"none","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Hand Crossbow +3","blueprint":{"nm":"Hand Crossbow +3","item":{"tp":"Item","cp":"6744e43895192d0012ba3196","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Hand Crossbow +3","rd":"Hand Crossbow +3 Attack","cp":"6744e43895192d0012ba3196","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Hand Crossbow +3 (Off-Hand)","rd":"Hand Crossbow +3 (Off-Hand) Attack","cp":"6744e43895192d0012ba3196","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Hand Crossbow +3 Damage","cp":"6744e43895192d0012ba3196","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Hand Crossbow +3 (Off-Hand) Damage","cp":"6744e43895192d0012ba3196","ay":"none","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Hand Crossbow of Warning","blueprint":{"nm":"Hand Crossbow of Warning","item":{"tp":"Item","cp":"681529f8a193700012c1355d","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Hand Crossbow of Warning Attunement","cp":"681529f8a193700012c1355d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Hand Crossbow of Warning","rd":"Hand Crossbow of Warning Attack","cp":"681529f8a193700012c1355d","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c3","tp":"Ak","nm":"Hand Crossbow of Warning (Off-Hand)","rd":"Hand Crossbow of Warning Attack (Off-Hand)","cp":"681529f8a193700012c1355d","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hand Crossbow of Warning Initiative Advantage","cp":"681529f8a193700012c1355d","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Hand Crossbow of Warning Damage","cp":"681529f8a193700012c1355d","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Hand Crossbow of Warning Damage (Off-Hand)","cp":"681529f8a193700012c1355d","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Heavy Crossbow","blueprint":{"nm":"Heavy Crossbow","item":{"tp":"Item","cp":"67a659a6db873a00127f94e9","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nHeavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nLoading. You can fire only one piece of ammunition from a Loading weapon when you use an action, a Bonus Action, or a Reaction to fire it, regardless of the number of attacks you can normally make.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d10\nDamage Type: Piercing\nProperties: Ammunition (Range 100/400; Bolt), Heavy, Loading, Two-Handed\nMastery: Push\nWeight: 18","wt":18,"ps":["Ammunition (Range 100/400; Bolt)","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Heavy Crossbow","rd":"Heavy Crossbow Attack","cp":"67a659a6db873a00127f94e9","aT":"Action","rg":"100/400 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Heavy Crossbow Damage","cp":"67a659a6db873a00127f94e9","ay":"auto","dT":"Piercing","die":"d10","ct":1,"oC":false}]}},{"nm":"Heavy Crossbow +1","blueprint":{"nm":"Heavy Crossbow +1","item":{"tp":"Item","cp":"6744e44995192d0012ba35ff","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Heavy Crossbow +1","rd":"Heavy Crossbow +1 Attack","cp":"6744e44995192d0012ba35ff","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Heavy Crossbow +1 Damage","cp":"6744e44995192d0012ba35ff","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Heavy Crossbow +2","blueprint":{"nm":"Heavy Crossbow +2","item":{"tp":"Item","cp":"6744e2e695192d0012b9dfa9","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Heavy Crossbow +2","rd":"Heavy Crossbow +2 Attack","cp":"6744e2e695192d0012b9dfa9","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Heavy Crossbow +2 Damage","cp":"6744e2e695192d0012b9dfa9","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Heavy Crossbow +3","blueprint":{"nm":"Heavy Crossbow +3","item":{"tp":"Item","cp":"6744e44995192d0012ba3624","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Heavy Crossbow +3","rd":"Heavy Crossbow +3 Attack","cp":"6744e44995192d0012ba3624","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Heavy Crossbow +3 Damage","cp":"6744e44995192d0012ba3624","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Heavy Crossbow of Warning","blueprint":{"nm":"Heavy Crossbow of Warning","item":{"tp":"Item","cp":"6815299da193700012c123fe","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Heavy Crossbow of Warning Attunement","cp":"6815299da193700012c123fe","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Heavy Crossbow of Warning","rd":"Heavy Crossbow of Warning Attack","cp":"6815299da193700012c123fe","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Heavy Crossbow of Warning Initiative Advantage","cp":"6815299da193700012c123fe","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Heavy Crossbow of Warning Damage","cp":"6815299da193700012c123fe","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Blowgun","blueprint":{"nm":"Holy Avenger Blowgun","item":{"tp":"Item","cp":"681529bfa193700012c12a9d","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Blowgun Attunement","cp":"681529bfa193700012c12a9d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Blowgun","rd":"Holy Avenger Blowgun Attack","cp":"681529bfa193700012c12a9d","aT":"Action","rg":"25/100","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Blowgun Effect - Damage","cp":"681529bfa193700012c12a9d","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Blowgun Defense","cp":"681529bfa193700012c12a9d","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Blowgun Spell Saving Throw Advantage","cp":"681529bfa193700012c12a9d","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Blowgun Damage","cp":"681529bfa193700012c12a9d","ay":"none","dT":"Piercing","bo":4,"oC":false}]}},{"nm":"Holy Avenger Hand Crossbow","blueprint":{"nm":"Holy Avenger Hand Crossbow","item":{"tp":"Item","cp":"681529f2a193700012c13413","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Hand Crossbow Attunement","cp":"681529f2a193700012c13413","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Hand Crossbow","rd":"Holy Avenger Hand Crossbow Attack","cp":"681529f2a193700012c13413","aT":"Action","rg":"30/120","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Hand Crossbow (Off-Hand)","rd":"Holy Avenger Hand Crossbow (Off-Hand) Attack","cp":"681529f2a193700012c13413","aT":"Action","rg":"30/120","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Hand Crossbow Effect - Damage","cp":"681529f2a193700012c13413","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Hand Crossbow Defense","cp":"681529f2a193700012c13413","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Hand Crossbow Spell Saving Throw Advantage","cp":"681529f2a193700012c13413","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Hand Crossbow Damage","cp":"681529f2a193700012c13413","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Hand Crossbow (Off-Hand) Damage","cp":"681529f2a193700012c13413","ay":"none","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Heavy Crossbow","blueprint":{"nm":"Holy Avenger Heavy Crossbow","item":{"tp":"Item","cp":"681529f2a193700012c13423","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Heavy Crossbow Attunement","cp":"681529f2a193700012c13423","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Heavy Crossbow","rd":"Holy Avenger Heavy Crossbow Attack","cp":"681529f2a193700012c13423","aT":"Action","rg":"100/400","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Heavy Crossbow Effect - Damage","cp":"681529f2a193700012c13423","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Heavy Crossbow Defense","cp":"681529f2a193700012c13423","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Heavy Crossbow Spell Saving Throw Advantage","cp":"681529f2a193700012c13423","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Heavy Crossbow Damage","cp":"681529f2a193700012c13423","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Longbow","blueprint":{"nm":"Holy Avenger Longbow","item":{"tp":"Item","cp":"6815290aa193700012c106d0","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Longbow Attunement","cp":"6815290aa193700012c106d0","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Longbow","rd":"Holy Avenger Longbow Attack","cp":"6815290aa193700012c106d0","aT":"Action","rg":"150/600","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Longbow Effect - Damage","cp":"6815290aa193700012c106d0","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Longbow Defense","cp":"6815290aa193700012c106d0","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Longbow Spell Saving Throw Advantage","cp":"6815290aa193700012c106d0","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Longbow Damage","cp":"6815290aa193700012c106d0","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Musket","blueprint":{"nm":"Holy Avenger Musket","item":{"tp":"Item","cp":"68152a17a193700012c13c3c","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Musket Attunement","cp":"68152a17a193700012c13c3c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Musket","rd":"Holy Avenger Musket Attack","cp":"68152a17a193700012c13c3c","aT":"Action","rg":"40/120","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Musket Effect - Damage","cp":"68152a17a193700012c13c3c","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Musket Defense","cp":"68152a17a193700012c13c3c","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Musket Spell Saving Throw Advantage","cp":"68152a17a193700012c13c3c","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Musket Damage","cp":"68152a17a193700012c13c3c","ay":"auto","dT":"Piercing","die":"d12","bo":3,"ct":1,"oC":false}]}},{"nm":"Holy Avenger Pistol","blueprint":{"nm":"Holy Avenger Pistol","item":{"tp":"Item","cp":"681529bfa193700012c12abd","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Am":1,"Ak":1,"Effect":1,"Defense":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Pistol Attunement","cp":"681529bfa193700012c12abd","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Pistol","rd":"Holy Avenger Pistol Attack","cp":"681529bfa193700012c12abd","aT":"Action","rg":"30/90","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Pistol Effect - Damage","cp":"681529bfa193700012c12abd","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Pistol Defense","cp":"681529bfa193700012c12abd","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Pistol Spell Saving Throw Advantage","cp":"681529bfa193700012c12abd","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Pistol Damage","cp":"681529bfa193700012c12abd","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Laser Pistol","blueprint":{"nm":"Laser Pistol","item":{"tp":"Item","cp":"67a6599edb873a00127f91c5","dn":"Ammunition - You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Futuristic firearms use Energy Cells that become depleted but could possibly be recharged with the proper equipment, at your discretion. An Energy Cell weighs 1/2 lb.\nRange - A Range weapon has a range in parentheses after the Ammunition property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nReload - You can make a limited number of shots with a Reload weapon. You must then reload the weapon as an action or a Bonus Action.","wt":7,"ps":["Ammunition (Range 40/120; Energy Cell)","Reload (50 shots)"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Laser Pistol"}},"cS":{"Ak":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Laser Pistol","rd":"Laser Pistol Attack","cp":"67a6599edb873a00127f91c5","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c2","tp":"Action","nm":"Reload Laser Pistol","rd":"Laser Pistol Reload Bonus Action","cp":"67a6599edb873a00127f91c5","dn":"You can make 50 shots with the Laser Pistol. You must then replace the Energy Cell in the weapon as an Action or a Bonus Action."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Laser Pistol Damage","cp":"67a6599edb873a00127f91c5","ay":"auto","dT":"Radiant","die":"d6","ct":3,"oC":false}]}},{"nm":"Longbow","blueprint":{"nm":"Longbow","item":{"tp":"Item","cp":"67a659a6db873a00127f94fd","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nHeavy. You have Disadvantage on attack rolls with a Heavy weapon if it's a Melee weapon and your Strength score isn't at least 13 or if it's a Ranged weapon and your Dexterity score isn't at least 13.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d8\nDamage Type: Piercing\nProperties: Ammunition (Range 150/600; Arrow), Heavy, Two-Handed\nMastery: Slow\nWeight: 2","wt":2,"ps":["Ammunition (Range 150/600; Bolt)","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Longbow","rd":"Longbow Attack","cp":"67a659a6db873a00127f94fd","aT":"Action","rg":"150/600 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longbow Damage","cp":"67a659a6db873a00127f94fd","ay":"auto","dT":"Piercing","die":"d8","ct":1,"oC":false}]}},{"nm":"Longbow +1","blueprint":{"nm":"Longbow +1","item":{"tp":"Item","cp":"6744e45a95192d0012ba3ace","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Longbow +1","rd":"Longbow +1 Attack","cp":"6744e45a95192d0012ba3ace","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longbow +1 Damage","cp":"6744e45a95192d0012ba3ace","ay":"auto","dT":"Piercing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Longbow +2","blueprint":{"nm":"Longbow +2","item":{"tp":"Item","cp":"6744e45b95192d0012ba3ae9","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Longbow +2","rd":"Longbow +2 Attack","cp":"6744e45b95192d0012ba3ae9","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longbow +2 Damage","cp":"6744e45b95192d0012ba3ae9","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Longbow +3","blueprint":{"nm":"Longbow +3","item":{"tp":"Item","cp":"6744e44995192d0012ba363f","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Longbow +3","rd":"Longbow +3 Attack","cp":"6744e44995192d0012ba363f","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Longbow +3 Damage","cp":"6744e44995192d0012ba363f","ay":"auto","dT":"Piercing","die":"d8","bo":3,"ct":1,"oC":false}]}},{"nm":"Longbow of Warning","blueprint":{"nm":"Longbow of Warning","item":{"tp":"Item","cp":"681529f8a193700012c1356d","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Longbow of Warning Attunement","cp":"681529f8a193700012c1356d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Longbow of Warning","rd":"Longbow of Warning Attack","cp":"681529f8a193700012c1356d","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Longbow of Warning Initiative Advantage","cp":"681529f8a193700012c1356d","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Longbow of Warning Damage","cp":"681529f8a193700012c1356d","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false}]}},{"nm":"Musket","blueprint":{"nm":"Musket","item":{"tp":"Item","cp":"67a659a7db873a00127f9553","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nLoading. You can fire only one piece of ammunition from a Loading weapon when you use an action, a Bonus Action, or a Reaction to fire it, regardless of the number of attacks you can normally make.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d12\nDamage Type: Piercing\nProperties: Ammunition (Range 40/120; Bullet), Loading, Two-Handed\nMastery: Slow\nWeight: 10","wt":10,"ps":["Ammunition (Range 40/120; Bullet)","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Musket","rd":"Musket Attack","cp":"67a659a7db873a00127f9553","aT":"Action","rg":"40/120 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Musket Damage","cp":"67a659a7db873a00127f9553","ay":"auto","dT":"Piercing","die":"d12","ct":1,"oC":false}]}},{"nm":"Musket +1","blueprint":{"nm":"Musket +1","item":{"tp":"Item","cp":"6744e2e395192d0012b9def7","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Musket +1","rd":"Musket +1 Attack","cp":"6744e2e395192d0012b9def7","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Musket +1 Damage","cp":"6744e2e395192d0012b9def7","ay":"auto","dT":"Piercing","die":"d12","bo":1,"ct":1,"oC":false}]}},{"nm":"Musket +2","blueprint":{"nm":"Musket +2","item":{"tp":"Item","cp":"6744e45995192d0012ba3a7b","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Musket +2","rd":"Musket +2 Attack","cp":"6744e45995192d0012ba3a7b","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Musket +2 Damage","cp":"6744e45995192d0012ba3a7b","ay":"auto","dT":"Piercing","die":"d12","bo":2,"ct":1,"oC":false}]}},{"nm":"Musket +3","blueprint":{"nm":"Musket +3","item":{"tp":"Item","cp":"6744e46395192d0012ba3d23","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Musket +3","rd":"Musket +3 Attack","cp":"6744e46395192d0012ba3d23","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Musket +3 Damage","cp":"6744e46395192d0012ba3d23","ay":"auto","dT":"Piercing","die":"d12","bo":3,"ct":1,"oC":false}]}},{"nm":"Musket of Warning","blueprint":{"nm":"Musket of Warning","item":{"tp":"Item","cp":"68152929a193700012c10c9c","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Musket of Warning Attunement","cp":"68152929a193700012c10c9c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Musket of Warning","rd":"Musket of Warning Attack","cp":"68152929a193700012c10c9c","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Musket of Warning Initiative Advantage","cp":"68152929a193700012c10c9c","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Musket of Warning Damage","cp":"68152929a193700012c10c9c","ay":"auto","dT":"Piercing","die":"d12","bo":0,"ct":1,"oC":false}]}},{"nm":"Nine Lives Stealer Blowgun","blueprint":{"nm":"Nine Lives Stealer Blowgun","item":{"tp":"Item","cp":"6744e4a195192d0012ba4d9d","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Blowgun Attunement","cp":"6744e4a195192d0012ba4d9d","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Blowgun","rd":"Nine Lives Stealer Blowgun Attack","cp":"6744e4a195192d0012ba4d9d","aT":"Action","rg":"25/100","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Blowgun Life Stealing Resource","cp":"6744e4a195192d0012ba4d9d","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Blowgun Damage","cp":"6744e4a195192d0012ba4d9d","ay":"none","dT":"Piercing","bo":3,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Blowgun Life Stealing Save","cp":"6744e4a195192d0012ba4d9d","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Hand Crossbow","blueprint":{"nm":"Nine Lives Stealer Hand Crossbow","item":{"tp":"Item","cp":"6744e45595192d0012ba3945","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Hand Crossbow Attunement","cp":"6744e45595192d0012ba3945","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Hand Crossbow","rd":"Nine Lives Stealer Hand Crossbow Attack","cp":"6744e45595192d0012ba3945","aT":"Action","rg":"30/120","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Hand Crossbow (Off-Hand)","rd":"Nine Lives Stealer Hand Crossbow (Off-Hand) Attack","cp":"6744e45595192d0012ba3945","aT":"Action","rg":"30/120","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Hand Crossbow Life Stealing Resource","cp":"6744e45595192d0012ba3945","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Hand Crossbow Damage","cp":"6744e45595192d0012ba3945","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Hand Crossbow (Off-Hand) Damage","cp":"6744e45595192d0012ba3945","ay":"none","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Hand Crossbow Life Stealing Save","cp":"6744e45595192d0012ba3945","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Heavy Crossbow","blueprint":{"nm":"Nine Lives Stealer Heavy Crossbow","item":{"tp":"Item","cp":"6744e46795192d0012ba3e35","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Heavy Crossbow Attunement","cp":"6744e46795192d0012ba3e35","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Heavy Crossbow","rd":"Nine Lives Stealer Heavy Crossbow Attack","cp":"6744e46795192d0012ba3e35","aT":"Action","rg":"100/400","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Heavy Crossbow Life Stealing Resource","cp":"6744e46795192d0012ba3e35","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Heavy Crossbow Damage","cp":"6744e46795192d0012ba3e35","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Heavy Crossbow Life Stealing Save","cp":"6744e46795192d0012ba3e35","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Longbow","blueprint":{"nm":"Nine Lives Stealer Longbow","item":{"tp":"Item","cp":"6744e2ca95192d0012b9d7cb","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Longbow Attunement","cp":"6744e2ca95192d0012b9d7cb","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Longbow","rd":"Nine Lives Stealer Longbow Attack","cp":"6744e2ca95192d0012b9d7cb","aT":"Action","rg":"150/600","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Longbow Life Stealing Resource","cp":"6744e2ca95192d0012b9d7cb","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Longbow Damage","cp":"6744e2ca95192d0012b9d7cb","ay":"auto","dT":"Piercing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Longbow Life Stealing Save","cp":"6744e2ca95192d0012b9d7cb","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Musket","blueprint":{"nm":"Nine Lives Stealer Musket","item":{"tp":"Item","cp":"6744e38f95192d0012ba0699","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Musket Attunement","cp":"6744e38f95192d0012ba0699","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Musket","rd":"Nine Lives Stealer Musket Attack","cp":"6744e38f95192d0012ba0699","aT":"Action","rg":"40/120","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Musket Life Stealing Resource","cp":"6744e38f95192d0012ba0699","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Musket Damage","cp":"6744e38f95192d0012ba0699","ay":"auto","dT":"Piercing","die":"d12","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Musket Life Stealing Save","cp":"6744e38f95192d0012ba0699","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Nine Lives Stealer Pistol","blueprint":{"nm":"Nine Lives Stealer Pistol","item":{"tp":"Item","cp":"6744e3f895192d0012ba20c8","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Am":1,"Ak":2,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Pistol Attunement","cp":"6744e3f895192d0012ba20c8","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Pistol","rd":"Nine Lives Stealer Pistol Attack","cp":"6744e3f895192d0012ba20c8","aT":"Action","rg":"30/90","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Pistol Life Stealing Resource","cp":"6744e3f895192d0012ba20c8","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Pistol Damage","cp":"6744e3f895192d0012ba20c8","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Pistol Life Stealing Save","cp":"6744e3f895192d0012ba20c8","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Oathbow Longbow","blueprint":{"nm":"Oathbow Longbow","item":{"tp":"Item","cp":"6744e46f95192d0012ba405c","dn":"When you nock an arrow on this bow, it whispers in Elvish, 'Swift defeat to my enemies.' When you use this weapon to make a ranged attack, you can utter or sign the following command words: 'Swift death to you who have wronged me.' The target of your attack becomes your sworn enemy until it dies or until dawn 7 days later. You can have only one such sworn enemy at a time. When your sworn enemy dies, you can choose a new one after the next dawn. When you make a ranged attack roll with this weapon against your sworn enemy, you have Advantage on the roll. In addition, your target gains no benefit from Half Cover or Three-Quarters Cover, and you suffer no Disadvantage due to long range. If the attack hits, your sworn enemy takes an extra 3d6 Piercing damage. While your sworn enemy lives, you have Disadvantage on attack rolls with all other weapons.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Am":1,"Ak":1,"Effect":2,"dm":1,"RB":2},"ch":[{"id":"c1","tp":"Am","nm":"Oathbow Longbow Attunement","cp":"6744e46f95192d0012ba405c","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Oathbow Longbow","rd":"Oathbow Longbow Attack","cp":"6744e46f95192d0012ba405c","aT":"Action","rg":"150/600","dn":"When you use this weapon to make a ranged attack, you can utter or sign the following command words: 'Swift death to you who have wronged me.' The target of your attack becomes your sworn enemy until it dies or until dawn 7 days later. You can have only one such sworn enemy at a time.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sworn Enemy (Oathbow)","rd":"Oathbow Longbow Sworn Enemy Effect","cp":"6744e46f95192d0012ba405c","cy":"[]","dn":"When you make a ranged attack roll with this weapon against your sworn enemy, you have Advantage on the roll. In addition, your target gains no benefit from Half Cover or Three-Quarters Cover, and you suffer no Disadvantage due to long range. If the attack hits, your sworn enemy takes an extra 3d6 Piercing damage. While your sworn enemy lives, you have Disadvantage on attack rolls with all other weapons.","active":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Oathbow Longbow Damage","cp":"6744e46f95192d0012ba405c","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"RB","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1","actions":["Activate"]}],"nm":"Oathbow Longbow Advantage vs Sworn Enemy","cp":"6744e46f95192d0012ba405c","bC":"[\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c1-c2","tp":"RB","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1","actions":["Activate"]}],"nm":"Oathbow Longbow Disadvantage with Other Weapons","cp":"6744e46f95192d0012ba405c","bC":"[\"Attacks\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c1-c3","tp":"Effect","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1","actions":["Activate"]}],"nm":"Extra Damage against Sworn Enemy","rd":"Oathbow Longbow Extra Damage vs Sworn Enemy Effect","cp":"6744e46f95192d0012ba405c","cy":"[\"Damage\"]","dn":"When you make a ranged attack roll with this weapon against your sworn enemy and the attack hits, your sworn enemy takes an extra 3d6 Piercing damage.","diceValue":"3d6","active":false}]}},{"nm":"Pistol","blueprint":{"nm":"Pistol","item":{"tp":"Item","cp":"67a659a8db873a00127f959f","dn":"Ammunition. You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Drawing the ammunition is part of the attack (you need a free hand to load a one-handed weapon). After a fight, you can spend 1 minute to recover half the ammunition (round down) you used in the fight; the rest is lost.\nLoading. You can fire only one piece of ammunition from a Loading weapon when you use an action, a Bonus Action, or a Reaction to fire it, regardless of the number of attacks you can normally make.\nRange. A Range weapon has a range in parentheses after the Ammunition or Thrown property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nTwo-Handed. A Two-Handed weapon requires two hands when you attack with it.\nDamage: 1d10\nDamage Type: Piercing\nProperties: Ammunition (Range 30/90; Bullet)\nMastery: Vex\nWeight: 3","wt":3,"ps":["Ammunition (Range 30/90; Bullet)","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pistol","rd":"Pistol Attack","cp":"67a659a8db873a00127f959f","aT":"Action","rg":"30/90 ft.","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pistol Damage","cp":"67a659a8db873a00127f959f","ay":"auto","dT":"Piercing","die":"d10","ct":1,"oC":false}]}},{"nm":"Pistol +1","blueprint":{"nm":"Pistol +1","item":{"tp":"Item","cp":"6744e2ec95192d0012b9e12b","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pistol +1","rd":"Pistol +1 Attack","cp":"6744e2ec95192d0012b9e12b","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pistol +1 Damage","cp":"6744e2ec95192d0012b9e12b","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false}]}},{"nm":"Pistol +2","blueprint":{"nm":"Pistol +2","item":{"tp":"Item","cp":"6744e32d95192d0012b9ef4a","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pistol +2","rd":"Pistol +2 Attack","cp":"6744e32d95192d0012b9ef4a","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pistol +2 Damage","cp":"6744e32d95192d0012b9ef4a","ay":"auto","dT":"Piercing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Pistol +3","blueprint":{"nm":"Pistol +3","item":{"tp":"Item","cp":"6744e47595192d0012ba41e1","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Pistol +3","rd":"Pistol +3 Attack","cp":"6744e47595192d0012ba41e1","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Pistol +3 Damage","cp":"6744e47595192d0012ba41e1","ay":"auto","dT":"Piercing","die":"d10","bo":3,"ct":1,"oC":false}]}},{"nm":"Pistol of Warning","blueprint":{"nm":"Pistol of Warning","item":{"tp":"Item","cp":"6815292ca193700012c10d28","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Am":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Pistol of Warning Attunement","cp":"6815292ca193700012c10d28","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Pistol of Warning","rd":"Pistol of Warning Attack","cp":"6815292ca193700012c10d28","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Pistol of Warning Initiative Advantage","cp":"6815292ca193700012c10d28","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Pistol of Warning Damage","cp":"6815292ca193700012c10d28","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false}]}},{"nm":"Vicious Blowgun","blueprint":{"nm":"Vicious Blowgun","item":{"tp":"Item","cp":"6815299ba193700012c1238c","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":1,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Blowgun"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Blowgun","rd":"Vicious Blowgun Attack","cp":"6815299ba193700012c1238c","aT":"Action","rg":"25/100","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Blowgun Damage","cp":"6815299ba193700012c1238c","ay":"none","dT":"Piercing","bo":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Blowgun Vicious Damage","cp":"6815299ba193700012c1238c","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Hand Crossbow","blueprint":{"nm":"Vicious Hand Crossbow","item":{"tp":"Item","cp":"68152a21a193700012c13df1","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":3,"ps":["Ammunition (Range 30/120; Bolt)","Light","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Hand Crossbow"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Hand Crossbow","rd":"Vicious Hand Crossbow Attack","cp":"68152a21a193700012c13df1","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Hand Crossbow (Off-Hand)","rd":"Vicious Hand Crossbow (Off-Hand) Attack","cp":"68152a21a193700012c13df1","aT":"Action","rg":"30/120","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Hand Crossbow Damage","cp":"68152a21a193700012c13df1","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Hand Crossbow Vicious Damage","cp":"68152a21a193700012c13df1","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Hand Crossbow (Off-Hand) Damage","cp":"68152a21a193700012c13df1","ay":"none","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Hand Crossbow (Off-Hand) Vicious Damage","cp":"68152a21a193700012c13df1","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Heavy Crossbow","blueprint":{"nm":"Vicious Heavy Crossbow","item":{"tp":"Item","cp":"68152949a193700012c11322","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":18,"ps":["Ammunition","Heavy","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Heavy Crossbow"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Heavy Crossbow","rd":"Vicious Heavy Crossbow Attack","cp":"68152949a193700012c11322","aT":"Action","rg":"100/400","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Heavy Crossbow Damage","cp":"68152949a193700012c11322","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Heavy Crossbow Vicious Damage","cp":"68152949a193700012c11322","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Longbow","blueprint":{"nm":"Vicious Longbow","item":{"tp":"Item","cp":"681529f5a193700012c134e1","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Ammunition","Heavy","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Longbow"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Longbow","rd":"Vicious Longbow Attack","cp":"681529f5a193700012c134e1","aT":"Action","rg":"150/600","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Longbow Damage","cp":"681529f5a193700012c134e1","ay":"auto","dT":"Piercing","die":"d8","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Longbow Vicious Damage","cp":"681529f5a193700012c134e1","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Musket","blueprint":{"nm":"Vicious Musket","item":{"tp":"Item","cp":"68152958a193700012c11638","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":10,"ps":["Ammunition","Loading","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Musket"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Musket","rd":"Vicious Musket Attack","cp":"68152958a193700012c11638","aT":"Action","rg":"40/120","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Musket Damage","cp":"68152958a193700012c11638","ay":"auto","dT":"Piercing","die":"d12","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Musket Vicious Damage","cp":"68152958a193700012c11638","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Vicious Pistol","blueprint":{"nm":"Vicious Pistol","item":{"tp":"Item","cp":"68152919a193700012c10994","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":3,"ps":["Ammunition","Loading"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Pistol"}},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Pistol","rd":"Vicious Pistol Attack","cp":"68152919a193700012c10994","aT":"Action","rg":"30/90","ak":{"aB":"Dexterity","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Pistol Damage","cp":"68152919a193700012c10994","ay":"auto","dT":"Piercing","die":"d10","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Pistol Vicious Damage","cp":"68152919a193700012c10994","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Adamantine Breastplate","blueprint":{"nm":"Adamantine Breastplate","item":{"tp":"Item","cp":"6744e38595192d0012ba03c4","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Breastplate Armor Class","cp":"6744e38595192d0012ba03c4","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"Defense","nm":"Adamantine Breastplate Critical Immunity","cp":"6744e38595192d0012ba03c4","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Chain Mail","blueprint":{"nm":"Adamantine Chain Mail","item":{"tp":"Item","cp":"6744e38395192d0012ba0324","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chainmail"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Chain Mail Armor Class","cp":"6744e38395192d0012ba0324","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c2","tp":"Defense","nm":"Adamantine Chain Mail Critical Immunity","cp":"6744e38395192d0012ba0324","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Chain Shirt","blueprint":{"nm":"Adamantine Chain Shirt","item":{"tp":"Item","cp":"6744e38495192d0012ba0373","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Chain Shirt Armor Class","cp":"6744e38495192d0012ba0373","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c2","tp":"Defense","nm":"Adamantine Chain Shirt Critical Immunity","cp":"6744e38495192d0012ba0373","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Half Plate Armor","blueprint":{"nm":"Adamantine Half Plate Armor","item":{"tp":"Item","cp":"6744e41b95192d0012ba2a6d","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Half Plate Armor Armor Class","cp":"6744e41b95192d0012ba2a6d","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c2","tp":"Defense","nm":"Adamantine Half Plate Armor Critical Immunity","cp":"6744e41b95192d0012ba2a6d","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Plate Armor","blueprint":{"nm":"Adamantine Plate Armor","item":{"tp":"Item","cp":"6744e2cf95192d0012b9d97b","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Plate Armor Armor Class","cp":"6744e2cf95192d0012b9d97b","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c2","tp":"Defense","nm":"Adamantine Plate Armor Critical Immunity","cp":"6744e2cf95192d0012b9d97b","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Ring Mail","blueprint":{"nm":"Adamantine Ring Mail","item":{"tp":"Item","cp":"6744e2d195192d0012b9d9ca","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Ring Mail Armor Class","cp":"6744e2d195192d0012b9d9ca","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"Defense","nm":"Adamantine Ring Mail Critical Immunity","cp":"6744e2d195192d0012b9d9ca","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Scale Mail","blueprint":{"nm":"Adamantine Scale Mail","item":{"tp":"Item","cp":"6744e2d295192d0012b9da0d","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Scale Mail Armor Class","cp":"6744e2d295192d0012b9da0d","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"Defense","nm":"Adamantine Scale Mail Critical Immunity","cp":"6744e2d295192d0012b9da0d","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Adamantine Splint Armor","blueprint":{"nm":"Adamantine Splint Armor","item":{"tp":"Item","cp":"6744e3f295192d0012ba1f62","dn":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you're wearing it, any Critical Hit against you becomes a normal hit.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint"}},"cS":{"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"AC","nm":"Adamantine Splint Armor Armor Class","cp":"6744e3f295192d0012ba1f62","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c2","tp":"Defense","nm":"Adamantine Splint Armor Critical Immunity","cp":"6744e3f295192d0012ba1f62","damage":"Critical Hit","defense":"Immunity","details":"While wearing Adamantine Armor, any Critical Hit against you becomes a normal hit."}]}},{"nm":"Armor of Invulnerability","blueprint":{"nm":"Armor of Invulnerability","item":{"tp":"Item","cp":"6812653001f94d0012a110cc","dn":"You have Resistance to Bludgeoning, Piercing, and Slashing damage while you wear this armor.\nMetal Shell. You can take a Magic action to give yourself Immunity to Bludgeoning, Piercing, and Slashing damage for 10 minutes or until you are no longer wearing the armor. Once this property is used, it can't be used again until the next dawn.","wt":65,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":4,"Resource":1,"Action":1,"Effect":1},"ch":[{"id":"c1","tp":"Am","nm":"Armor of Invulnerability Attunement","cp":"6812653001f94d0012a110cc","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Armor of Invulnerability Base Armor Class","cp":"6812653001f94d0012a110cc","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Armor of Invulnerability Bludgeoning Resistance","cp":"6812653001f94d0012a110cc","damage":"Bludgeoning","defense":"Resistance"},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Armor of Invulnerability Piercing Resistance","cp":"6812653001f94d0012a110cc","damage":"Piercing","defense":"Resistance"},{"id":"c1-c3","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Armor of Invulnerability Slashing Resistance","cp":"6812653001f94d0012a110cc","damage":"Slashing","defense":"Resistance"},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Metal Shell","rd":"Armor of Invulnerability Metal Shell Resource","cp":"6812653001f94d0012a110cc","vl":1},{"id":"c1-c4-c1","tp":"Action","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Metal Shell Action","rd":"Armor of Invulnerability Metal Shell Action","cp":"6812653001f94d0012a110cc","dn":"You can take a Magic action to give yourself Immunity to Bludgeoning, Piercing, and Slashing damage for 10 minutes or until you are no longer wearing the armor."},{"id":"c1-c4-c2","tp":"Effect","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Metal Shell","rd":"Armor of Invulnerability Metal Shell Effect","cp":"6812653001f94d0012a110cc","cy":"[]","dn":"You can take a Magic action to give yourself Immunity to Bludgeoning, Piercing, and Slashing damage for 10 minutes or until you are no longer wearing the armor. Once this property is used, it can't be used again until the next dawn.","situation":"Give yourself immunity to Bludgeoning, Piercing, and Slashing damage for 10 minutes.","active":false},{"id":"c1-c4-c2-c1","tp":"Defense","pt":"c1-c4-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c4-c2","actions":["Activate"]}],"nm":"Armor of Invulnerability Metal Shell Immunities","cp":"6812653001f94d0012a110cc","damage":"Bludgeoning, Piercing, Slashing","defense":"Immunity","details":"Metal Shell - You have immunity to Bludgeoning, Piercing, and Slashing Damage for 10 minutes."}]}},{"nm":"Black Dragon Scale Mail","blueprint":{"nm":"Black Dragon Scale Mail","item":{"tp":"Item","cp":"68152909a193700012c106a0","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Acid damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Black dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Black Dragon Scale Mail Attunement","cp":"68152909a193700012c106a0","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Black Dragon Scale Mail Base Armor Class","cp":"68152909a193700012c106a0","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Black Dragon Scale Mail Magic AC Bonus","cp":"68152909a193700012c106a0","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Black Dragon Scale Mail Acid Resistance","cp":"68152909a193700012c106a0","damage":"Acid","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Black Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"68152909a193700012c106a0","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Black Dragon","rd":"Locate Black Dragon Resource","cp":"68152909a193700012c106a0","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Black Dragon","rd":"Locate Black Dragon Action","cp":"68152909a193700012c106a0","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Black Dragon within 30 miles of yourself."}]}},{"nm":"Blue Dragon Scale Mail","blueprint":{"nm":"Blue Dragon Scale Mail","item":{"tp":"Item","cp":"681529bba193700012c129ec","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Lightning damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Blue dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Blue Dragon Scale Mail Attunement","cp":"681529bba193700012c129ec","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Blue Dragon Scale MailBase Armor Class","cp":"681529bba193700012c129ec","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Blue Dragon Scale Mail Magic AC Bonus","cp":"681529bba193700012c129ec","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Blue Dragon Scale Mail Lightning Resistance","cp":"681529bba193700012c129ec","damage":"Lightning","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Blue Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"681529bba193700012c129ec","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Blue Dragon","rd":"Locate Blue Dragon Resource","cp":"681529bba193700012c129ec","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Blue Dragon","rd":"Locate Blue Dragon Action","cp":"681529bba193700012c129ec","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Blue Dragon within 30 miles of yourself."}]}},{"nm":"Brass Dragon Scale Mail","blueprint":{"nm":"Brass Dragon Scale Mail","item":{"tp":"Item","cp":"681529eda193700012c1330c","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Fire damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Brass dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Brass Dragon Scale Mail Attunement","cp":"681529eda193700012c1330c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Brass Dragon Scale Mail Base Armor Class","cp":"681529eda193700012c1330c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Brass Dragon Scale Mail Magic AC Bonus","cp":"681529eda193700012c1330c","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Brass Dragon Scale Mail Fire Resistance","cp":"681529eda193700012c1330c","damage":"Fire","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Brass Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"681529eda193700012c1330c","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Brass Dragon","rd":"Locate Brass Dragon Resource","cp":"681529eda193700012c1330c","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Brass Dragon","rd":"Locate Brass Dragon Action","cp":"681529eda193700012c1330c","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Brass Dragon within 30 miles of yourself."}]}},{"nm":"Breastplate","blueprint":{"nm":"Breastplate","item":{"tp":"Item","cp":"67a658fddb873a00127f5f23","dn":"Armor Class: 14 + Dex modifier\nStrength Requirement: -\nStealth: -\nWeight: 20","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Breastplate AC","cp":"67a658fddb873a00127f5f23","cl":"Set Base","dA":false,"vl":{"fa":14}}]}},{"nm":"Breastplate +1","blueprint":{"nm":"Breastplate +1","item":{"tp":"Item","cp":"6744e42295192d0012ba2c23","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Breastplate +1 Base AC","cp":"6744e42295192d0012ba2c23","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Breastplate +1 Magic Bonus to AC","cp":"6744e42295192d0012ba2c23","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Breastplate +2","blueprint":{"nm":"Breastplate +2","item":{"tp":"Item","cp":"6744e3ed95192d0012ba1dcc","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Breastplate +2 Base AC","cp":"6744e3ed95192d0012ba1dcc","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Breastplate +2 Magic Bonus to AC","cp":"6744e3ed95192d0012ba1dcc","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Breastplate +3","blueprint":{"nm":"Breastplate +3","item":{"tp":"Item","cp":"6744e42695192d0012ba2d25","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Breastplate +3 Base AC","cp":"6744e42695192d0012ba2d25","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Breastplate +3 Magic Bonus to AC","cp":"6744e42695192d0012ba2d25","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Breastplate of Acid Resistance","blueprint":{"nm":"Breastplate of Acid Resistance","item":{"tp":"Item","cp":"6744e32a95192d0012b9ee72","dn":"You have Resistance to Acid damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Acid Resistance Attunement","cp":"6744e32a95192d0012b9ee72","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Acid Resistance Base Armor Class","cp":"6744e32a95192d0012b9ee72","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Acid Resistance","cp":"6744e32a95192d0012b9ee72","damage":"Acid","defense":"Resistance"}]}},{"nm":"Breastplate of Cold Resistance","blueprint":{"nm":"Breastplate of Cold Resistance","item":{"tp":"Item","cp":"6744e42495192d0012ba2cc3","dn":"You have Resistance to Cold damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Cold Resistance Attunement","cp":"6744e42495192d0012ba2cc3","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Cold Resistance Base Armor Class","cp":"6744e42495192d0012ba2cc3","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Cold Resistance","cp":"6744e42495192d0012ba2cc3","damage":"Cold","defense":"Resistance"}]}},{"nm":"Breastplate of Fire Resistance","blueprint":{"nm":"Breastplate of Fire Resistance","item":{"tp":"Item","cp":"6744e3e095192d0012ba1a4d","dn":"You have Resistance to Fire damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Fire Resistance Attunement","cp":"6744e3e095192d0012ba1a4d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Fire Resistance Base Armor Class","cp":"6744e3e095192d0012ba1a4d","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Fire Resistance","cp":"6744e3e095192d0012ba1a4d","damage":"Fire","defense":"Resistance"}]}},{"nm":"Breastplate of Force Resistance","blueprint":{"nm":"Breastplate of Force Resistance","item":{"tp":"Item","cp":"6744e42195192d0012ba2bce","dn":"You have Resistance to Force damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Force Resistance Attunement","cp":"6744e42195192d0012ba2bce","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Force Resistance Base Armor Class","cp":"6744e42195192d0012ba2bce","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Force Resistance","cp":"6744e42195192d0012ba2bce","damage":"Force","defense":"Resistance"}]}},{"nm":"Breastplate of Lightning Resistance","blueprint":{"nm":"Breastplate of Lightning Resistance","item":{"tp":"Item","cp":"6744e2d295192d0012b9da43","dn":"You have Resistance to Lightning damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Lightning Resistance Attunement","cp":"6744e2d295192d0012b9da43","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Lightning Resistance Base Armor Class","cp":"6744e2d295192d0012b9da43","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Lightning Resistance","cp":"6744e2d295192d0012b9da43","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Breastplate of Necrotic Resistance","blueprint":{"nm":"Breastplate of Necrotic Resistance","item":{"tp":"Item","cp":"6744e40995192d0012ba2537","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Necrotic Resistance Attunement","cp":"6744e40995192d0012ba2537","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Necrotic Resistance Base Armor Class","cp":"6744e40995192d0012ba2537","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Necrotic Resistance","cp":"6744e40995192d0012ba2537","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Breastplate of Poison Resistance","blueprint":{"nm":"Breastplate of Poison Resistance","item":{"tp":"Item","cp":"6744e2d595192d0012b9db0e","dn":"You have Resistance to Poison damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Poison Resistance Attunement","cp":"6744e2d595192d0012b9db0e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Poison Resistance Base Armor Class","cp":"6744e2d595192d0012b9db0e","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Poison Resistance","cp":"6744e2d595192d0012b9db0e","damage":"Poison","defense":"Resistance"}]}},{"nm":"Breastplate of Psychic Resistance","blueprint":{"nm":"Breastplate of Psychic Resistance","item":{"tp":"Item","cp":"6744e42395192d0012ba2c43","dn":"You have Resistance to Psychic damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Psychic Resistance Attunement","cp":"6744e42395192d0012ba2c43","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Psychic Resistance Base Armor Class","cp":"6744e42395192d0012ba2c43","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Psychic Resistance","cp":"6744e42395192d0012ba2c43","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Breastplate of Radiant Resistance","blueprint":{"nm":"Breastplate of Radiant Resistance","item":{"tp":"Item","cp":"6744e2cc95192d0012b9d84c","dn":"You have Resistance to Radiant damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Radiant Resistance Attunement","cp":"6744e2cc95192d0012b9d84c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Radiant Resistance Base Armor Class","cp":"6744e2cc95192d0012b9d84c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Radiant Resistance","cp":"6744e2cc95192d0012b9d84c","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Breastplate of Thunder Resistance","blueprint":{"nm":"Breastplate of Thunder Resistance","item":{"tp":"Item","cp":"6744e40495192d0012ba23f6","dn":"You have Resistance to Thunder damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Thunder Resistance Attunement","cp":"6744e40495192d0012ba23f6","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Thunder Resistance Base Armor Class","cp":"6744e40495192d0012ba23f6","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate Thunder Resistance","cp":"6744e40495192d0012ba23f6","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Breastplate of Vulnerability (Bludgeoning)","blueprint":{"nm":"Breastplate of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e3e795192d0012ba1c39","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Vulnerability (Bludgeoning) Attunement","cp":"6744e3e795192d0012ba1c39","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e3e795192d0012ba1c39","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Breastplate of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e3e795192d0012ba1c39","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e3e795192d0012ba1c39","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Breastplate of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e3e795192d0012ba1c39","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Breastplate of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e3e795192d0012ba1c39","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Breastplate of Vulnerability (Piercing)","blueprint":{"nm":"Breastplate of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e2d495192d0012b9dab0","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Vulnerability (Piercing) Attunement","cp":"6744e2d495192d0012b9dab0","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Vulnerability (Piercing) Base Armor Class","cp":"6744e2d495192d0012b9dab0","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Breastplate of Vulnerability (Piercing) Cursed Condition","cp":"6744e2d495192d0012b9dab0","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate of Vulnerability (Piercing) Piercing Resistance","cp":"6744e2d495192d0012b9dab0","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Breastplate of Vulnerability (Piercing)Bludgeoning Vulnerability","cp":"6744e2d495192d0012b9dab0","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Breastplate of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e2d495192d0012b9dab0","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Breastplate of Vulnerability (Slashing)","blueprint":{"nm":"Breastplate of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e3e895192d0012ba1c55","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Breastplate of Vulnerability (Slashing) Attunement","cp":"6744e3e895192d0012ba1c55","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Breastplate of Vulnerability (Slashing) Base Armor Class","cp":"6744e3e895192d0012ba1c55","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Breastplate of Vulnerability (Slashing) Cursed Condition","cp":"6744e3e895192d0012ba1c55","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Breastplate of Vulnerability (Slashing) Slashing Resistance","cp":"6744e3e895192d0012ba1c55","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Breastplate of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e3e895192d0012ba1c55","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Breastplate of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e3e895192d0012ba1c55","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Bronze Dragon Scale Mail","blueprint":{"nm":"Bronze Dragon Scale Mail","item":{"tp":"Item","cp":"681529efa193700012c1337e","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Lightning damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Bronze dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Bronze Dragon Scale Mail Attunement","cp":"681529efa193700012c1337e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Bronze Dragon Scale Mail Base Armor Class","cp":"681529efa193700012c1337e","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Bronze Dragon Scale Mail Magic AC Bonus","cp":"681529efa193700012c1337e","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Bronze Dragon Scale Mail Lightning Resistance","cp":"681529efa193700012c1337e","damage":"Lightning","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Bronze Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"681529efa193700012c1337e","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Bronze Dragon","rd":"Locate Bronze Dragon Resource","cp":"681529efa193700012c1337e","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Bronze Dragon","rd":"Locate Bronze Dragon Action","cp":"681529efa193700012c1337e","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Bronze Dragon within 30 miles of yourself."}]}},{"nm":"Chain Mail","blueprint":{"nm":"Chain Mail","item":{"tp":"Item","cp":"67a658fcdb873a00127f5f05","dn":"Armor Class: 16\nStrength Requirement: 13\nStealth: Disadvantage\nWeight: 55","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chainmail"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Chain Mail AC","cp":"67a658fcdb873a00127f5f05","cl":"Set Base","dA":false,"vl":{"fa":16}}]}},{"nm":"Chain Mail +1","blueprint":{"nm":"Chain Mail +1","item":{"tp":"Item","cp":"6744e2c595192d0012b9d688","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Chain Mail +1 Base AC","cp":"6744e2c595192d0012b9d688","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c2","tp":"AC","nm":"Chain Mail +1 Magic Bonus to AC","cp":"6744e2c595192d0012b9d688","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Chain Mail +2","blueprint":{"nm":"Chain Mail +2","item":{"tp":"Item","cp":"6744e49b95192d0012ba4bea","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Chain Mail +2 Base AC","cp":"6744e49b95192d0012ba4bea","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c2","tp":"AC","nm":"Chain Mail +2 Magic Bonus to AC","cp":"6744e49b95192d0012ba4bea","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Chain Mail +3","blueprint":{"nm":"Chain Mail +3","item":{"tp":"Item","cp":"6744e3ef95192d0012ba1e6e","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Chain Mail +3 Base AC","cp":"6744e3ef95192d0012ba1e6e","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c2","tp":"AC","nm":"Chain Mail +3 Magic Bonus to AC","cp":"6744e3ef95192d0012ba1e6e","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Chain Mail of Acid Resistance","blueprint":{"nm":"Chain Mail of Acid Resistance","item":{"tp":"Item","cp":"6744e40195192d0012ba2326","dn":"You have Resistance to Acid damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Acid Resistance Attunement","cp":"6744e40195192d0012ba2326","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Acid Resistance Base Armor Class","cp":"6744e40195192d0012ba2326","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Acid Resistance","cp":"6744e40195192d0012ba2326","damage":"Acid","defense":"Resistance"}]}},{"nm":"Chain Mail of Fire Resistance","blueprint":{"nm":"Chain Mail of Fire Resistance","item":{"tp":"Item","cp":"6744e3ee95192d0012ba1e39","dn":"You have Resistance to Fire damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Fire Resistance Attunement","cp":"6744e3ee95192d0012ba1e39","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Fire Resistance Base Armor Class","cp":"6744e3ee95192d0012ba1e39","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Fire Resistance","cp":"6744e3ee95192d0012ba1e39","damage":"Fire","defense":"Resistance"}]}},{"nm":"Chain Mail of Force Resistance","blueprint":{"nm":"Chain Mail of Force Resistance","item":{"tp":"Item","cp":"6744e3dd95192d0012ba1992","dn":"You have Resistance to Force damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Force Resistance Attunement","cp":"6744e3dd95192d0012ba1992","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Force Resistance Base Armor Class","cp":"6744e3dd95192d0012ba1992","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Force Resistance","cp":"6744e3dd95192d0012ba1992","damage":"Force","defense":"Resistance"}]}},{"nm":"Chain Mail of Lightning Resistance","blueprint":{"nm":"Chain Mail of Lightning Resistance","item":{"tp":"Item","cp":"6744e3de95192d0012ba19d9","dn":"You have Resistance to Lightning damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Lightning Resistance Attunement","cp":"6744e3de95192d0012ba19d9","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Lightning Resistance Base Armor Class","cp":"6744e3de95192d0012ba19d9","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Lightning Resistance","cp":"6744e3de95192d0012ba19d9","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Chain Mail of Necrotic Resistance","blueprint":{"nm":"Chain Mail of Necrotic Resistance","item":{"tp":"Item","cp":"6744e3df95192d0012ba19fa","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Necrotic Resistance Attunement","cp":"6744e3df95192d0012ba19fa","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Necrotic Resistance Base Armor Class","cp":"6744e3df95192d0012ba19fa","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Necrotic Resistance","cp":"6744e3df95192d0012ba19fa","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Chain Mail of Poison Resistance","blueprint":{"nm":"Chain Mail of Poison Resistance","item":{"tp":"Item","cp":"6744e3d895192d0012ba1852","dn":"You have Resistance to Poison damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Poison Resistance Attunement","cp":"6744e3d895192d0012ba1852","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Poison Resistance Base Armor Class","cp":"6744e3d895192d0012ba1852","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Poison Resistance","cp":"6744e3d895192d0012ba1852","damage":"Poison","defense":"Resistance"}]}},{"nm":"Chain Mail of Psychic Resistance","blueprint":{"nm":"Chain Mail of Psychic Resistance","item":{"tp":"Item","cp":"6744e4ae95192d0012ba5110","dn":"You have Resistance to Psychic damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Psychic Resistance Attunement","cp":"6744e4ae95192d0012ba5110","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Psychic Resistance Base Armor Class","cp":"6744e4ae95192d0012ba5110","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Psychic Resistance","cp":"6744e4ae95192d0012ba5110","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Chain Mail of Radiant Resistance","blueprint":{"nm":"Chain Mail of Radiant Resistance","item":{"tp":"Item","cp":"6744e37495192d0012b9fec9","dn":"You have Resistance to Radiant damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Radiant Resistance Attunement","cp":"6744e37495192d0012b9fec9","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Radiant Resistance Base Armor Class","cp":"6744e37495192d0012b9fec9","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Radiant Resistance","cp":"6744e37495192d0012b9fec9","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Chain Mail of Thunder Resistance","blueprint":{"nm":"Chain Mail of Thunder Resistance","item":{"tp":"Item","cp":"6744e37795192d0012b9ffa1","dn":"You have Resistance to Thunder damage while you wear this armor","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Thunder Resistance Attunement","cp":"6744e37795192d0012b9ffa1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Thunder Resistance Base Armor Class","cp":"6744e37795192d0012b9ffa1","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail Thunder Resistance","cp":"6744e37795192d0012b9ffa1","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Chain Mail of Vulnerability (Bludgeoning)","blueprint":{"nm":"Chain Mail of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e3f295192d0012ba1f2e","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Vulnerability (Bludgeoning) Attunement","cp":"6744e3f295192d0012ba1f2e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e3f295192d0012ba1f2e","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Chain Mail of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e3f295192d0012ba1f2e","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e3f295192d0012ba1f2e","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Mail of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e3f295192d0012ba1f2e","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Mail of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e3f295192d0012ba1f2e","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Chain Mail of Vulnerability (Piercing)","blueprint":{"nm":"Chain Mail of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e3ed95192d0012ba1de8","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Vulnerability (Piercing) Attunement","cp":"6744e3ed95192d0012ba1de8","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Vulnerability (Piercing) Base Armor Class","cp":"6744e3ed95192d0012ba1de8","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Chain Mail of Vulnerability (Piercing) Cursed Condition","cp":"6744e3ed95192d0012ba1de8","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail of Vulnerability (Piercing) Piercing Resistance","cp":"6744e3ed95192d0012ba1de8","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Mail of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e3ed95192d0012ba1de8","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Mail of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e3ed95192d0012ba1de8","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Chain Mail of Vulnerability (Slashing)","blueprint":{"nm":"Chain Mail of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e40195192d0012ba2341","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":55,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Chain Mail of Vulnerability (Slashing) Attunement","cp":"6744e40195192d0012ba2341","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Mail of Vulnerability (Slashing) Base Armor Class","cp":"6744e40195192d0012ba2341","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Chain Mail of Vulnerability (Slashing) Cursed Condition","cp":"6744e40195192d0012ba2341","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Mail of Vulnerability (Slashing) Slashing Resistance","cp":"6744e40195192d0012ba2341","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Mail of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e40195192d0012ba2341","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Mail of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e40195192d0012ba2341","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Chain Shirt","blueprint":{"nm":"Chain Shirt","item":{"tp":"Item","cp":"67a659aadb873a00127f9637","dn":"Armor Class: 13 + Dex modifier\nStrength Requirement: -\nStealth: -\nWeight: 20","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Chain Shirt AC","cp":"67a659aadb873a00127f9637","cl":"Set Base","dA":false,"vl":{"fa":13}}]}},{"nm":"Chain Shirt +1","blueprint":{"nm":"Chain Shirt +1","item":{"tp":"Item","cp":"6744e3e295192d0012ba1abd","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Chain Shirt +1 Base AC","cp":"6744e3e295192d0012ba1abd","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c2","tp":"AC","nm":"Chain Shirt +1 Magic Bonus to AC","cp":"6744e3e295192d0012ba1abd","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Chain Shirt +2","blueprint":{"nm":"Chain Shirt +2","item":{"tp":"Item","cp":"6744e3e695192d0012ba1bea","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Chain Shirt +2 Base AC","cp":"6744e3e695192d0012ba1bea","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c2","tp":"AC","nm":"Chain Shirt +2 Magic Bonus to AC","cp":"6744e3e695192d0012ba1bea","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Chain Shirt +3","blueprint":{"nm":"Chain Shirt +3","item":{"tp":"Item","cp":"6744e38e95192d0012ba0610","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Chain Shirt +3 Base AC","cp":"6744e38e95192d0012ba0610","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c2","tp":"AC","nm":"Chain Shirt +3 Magic Bonus to AC","cp":"6744e38e95192d0012ba0610","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Chain Shirt of Acid Resistance","blueprint":{"nm":"Chain Shirt of Acid Resistance","item":{"tp":"Item","cp":"6744e3e495192d0012ba1b64","dn":"You have Resistance to Acid damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Acid Resistance Attunement","cp":"6744e3e495192d0012ba1b64","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Acid Resistance Base Armor Class","cp":"6744e3e495192d0012ba1b64","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Acid Resistance","cp":"6744e3e495192d0012ba1b64","damage":"Acid","defense":"Resistance"}]}},{"nm":"Chain Shirt of Cold Resistance","blueprint":{"nm":"Chain Shirt of Cold Resistance","item":{"tp":"Item","cp":"6744e3e595192d0012ba1b84","dn":"You have Resistance to Cold damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Cold Resistance Attunement","cp":"6744e3e595192d0012ba1b84","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Cold Resistance Base Armor Class","cp":"6744e3e595192d0012ba1b84","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Cold Resistance","cp":"6744e3e595192d0012ba1b84","damage":"Cold","defense":"Resistance"}]}},{"nm":"Chain Shirt of Fire Resistance","blueprint":{"nm":"Chain Shirt of Fire Resistance","item":{"tp":"Item","cp":"6744e3e795192d0012ba1c1e","dn":"You have Resistance to Fire damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Fire Resistance Attunement","cp":"6744e3e795192d0012ba1c1e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Fire Resistance Base Armor Class","cp":"6744e3e795192d0012ba1c1e","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Fire Resistance","cp":"6744e3e795192d0012ba1c1e","damage":"Fire","defense":"Resistance"}]}},{"nm":"Chain Shirt of Force Resistance","blueprint":{"nm":"Chain Shirt of Force Resistance","item":{"tp":"Item","cp":"6744e3d995192d0012ba186d","dn":"You have Resistance to Force damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Force Resistance Attunement","cp":"6744e3d995192d0012ba186d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Force Resistance Base Armor Class","cp":"6744e3d995192d0012ba186d","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Force Resistance","cp":"6744e3d995192d0012ba186d","damage":"Force","defense":"Resistance"}]}},{"nm":"Chain Shirt of Lightning Resistance","blueprint":{"nm":"Chain Shirt of Lightning Resistance","item":{"tp":"Item","cp":"6744e3d595192d0012ba1779","dn":"You have Resistance to Lightning damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Lightning Resistance Attunement","cp":"6744e3d595192d0012ba1779","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Lightning Resistance Base Armor Class","cp":"6744e3d595192d0012ba1779","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Lightning Resistance","cp":"6744e3d595192d0012ba1779","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Chain Shirt of Necrotic Resistance","blueprint":{"nm":"Chain Shirt of Necrotic Resistance","item":{"tp":"Item","cp":"6744e3ea95192d0012ba1cdd","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Necrotic Resistance Attunement","cp":"6744e3ea95192d0012ba1cdd","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Necrotic Resistance Base Armor Class","cp":"6744e3ea95192d0012ba1cdd","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Necrotic Resistance","cp":"6744e3ea95192d0012ba1cdd","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Chain Shirt of Poison Resistance","blueprint":{"nm":"Chain Shirt of Poison Resistance","item":{"tp":"Item","cp":"6744e40395192d0012ba23c2","dn":"You have Resistance to Poison damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Poison Resistance Attunement","cp":"6744e40395192d0012ba23c2","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Poison Resistance Base Armor Class","cp":"6744e40395192d0012ba23c2","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Poison Resistance","cp":"6744e40395192d0012ba23c2","damage":"Poison","defense":"Resistance"}]}},{"nm":"Chain Shirt of Psychic Resistance","blueprint":{"nm":"Chain Shirt of Psychic Resistance","item":{"tp":"Item","cp":"6744e3e895192d0012ba1c75","dn":"You have Resistance to Psychic damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Psychic Resistance Attunement","cp":"6744e3e895192d0012ba1c75","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Psychic Resistance Base Armor Class","cp":"6744e3e895192d0012ba1c75","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Psychic Resistance","cp":"6744e3e895192d0012ba1c75","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Chain Shirt of Radiant Resistance","blueprint":{"nm":"Chain Shirt of Radiant Resistance","item":{"tp":"Item","cp":"6744e3da95192d0012ba18db","dn":"You have Resistance to Radiant damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Radiant Resistance Attunement","cp":"6744e3da95192d0012ba18db","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Radiant Resistance Base Armor Class","cp":"6744e3da95192d0012ba18db","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Radiant Resistance","cp":"6744e3da95192d0012ba18db","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Chain Shirt of Thunder Resistance","blueprint":{"nm":"Chain Shirt of Thunder Resistance","item":{"tp":"Item","cp":"6744e3e195192d0012ba1aa0","dn":"You have Resistance to Thunder damage while you wear this armor","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Thunder Resistance Attunement","cp":"6744e3e195192d0012ba1aa0","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Thunder Resistance Base Armor Class","cp":"6744e3e195192d0012ba1aa0","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt Thunder Resistance","cp":"6744e3e195192d0012ba1aa0","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Chain Shirt of Vulnerability (Bludgeoning)","blueprint":{"nm":"Chain Shirt of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e3ea95192d0012ba1cf8","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Vulnerability (Bludgeoning) Attunement","cp":"6744e3ea95192d0012ba1cf8","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e3ea95192d0012ba1cf8","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Chain Shirt of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e3ea95192d0012ba1cf8","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e3ea95192d0012ba1cf8","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Shirt of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e3ea95192d0012ba1cf8","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Shirt of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e3ea95192d0012ba1cf8","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Chain Shirt of Vulnerability (Piercing)","blueprint":{"nm":"Chain Shirt of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e3d495192d0012ba1741","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Vulnerability (Piercing) Attunement","cp":"6744e3d495192d0012ba1741","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Vulnerability (Piercing) Base Armor Class","cp":"6744e3d495192d0012ba1741","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Chain Shirt of Vulnerability (Piercing) Cursed Condition","cp":"6744e3d495192d0012ba1741","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt of Vulnerability (Piercing) Piercing Resistance","cp":"6744e3d495192d0012ba1741","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Shirt of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e3d495192d0012ba1741","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Shirt of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e3d495192d0012ba1741","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Chain Shirt of Vulnerability (Slashing)","blueprint":{"nm":"Chain Shirt of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e3fd95192d0012ba2207","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Chain Shirt of Vulnerability (Slashing) Attunement","cp":"6744e3fd95192d0012ba2207","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Chain Shirt of Vulnerability (Slashing) Base Armor Class","cp":"6744e3fd95192d0012ba2207","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Chain Shirt of Vulnerability (Slashing) Cursed Condition","cp":"6744e3fd95192d0012ba2207","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Shirt of Vulnerability (Slashing) Slashing Resistance","cp":"6744e3fd95192d0012ba2207","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Shirt of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e3fd95192d0012ba2207","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Chain Shirt of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e3fd95192d0012ba2207","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Copper Dragon Scale Mail","blueprint":{"nm":"Copper Dragon Scale Mail","item":{"tp":"Item","cp":"681529baa193700012c129ae","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Acid damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Copper dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Copper Dragon Scale Mail Attunement","cp":"681529baa193700012c129ae","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Copper Dragon Scale Mail Base Armor Class","cp":"681529baa193700012c129ae","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Copper Dragon Scale Mail Magic AC Bonus","cp":"681529baa193700012c129ae","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Copper Dragon Scale Mail Acid Resistance","cp":"681529baa193700012c129ae","damage":"Acid","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Copper Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"681529baa193700012c129ae","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Copper Dragon","rd":"Locate Copper Dragon Resource","cp":"681529baa193700012c129ae","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Copper Dragon","rd":"Locate Copper Dragon Action","cp":"681529baa193700012c129ae","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Copper Dragon within 30 miles of yourself."}]}},{"nm":"Demon Breastplate","blueprint":{"nm":"Demon Breastplate","item":{"tp":"Item","cp":"68152a10a193700012c13a9e","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Breastplate Attunement","cp":"68152a10a193700012c13a9e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Breastplate Base Armor Class","cp":"68152a10a193700012c13a9e","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Demon Breastplate Magic AC Bonus","cp":"68152a10a193700012c13a9e","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Breastplate Cursed Condition","cp":"68152a10a193700012c13a9e","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Breastplate Abyssal Proficiency","cp":"68152a10a193700012c13a9e"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Breastplate Unarmed Strike Attack","cp":"68152a10a193700012c13a9e","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Breastplate Situational Attack & Save Disadvantage","cp":"68152a10a193700012c13a9e","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Breastplate Unarmed Strike Damage","cp":"68152a10a193700012c13a9e","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Chain Mail","blueprint":{"nm":"Demon Chain Mail","item":{"tp":"Item","cp":"68152994a193700012c12208","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":55,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Chain Mail Attunement","cp":"68152994a193700012c12208","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Chain Mail Base Armor Class","cp":"68152994a193700012c12208","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c3","tp":"AC","nm":"Demon Chain Mail Magic AC Bonus","cp":"68152994a193700012c12208","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Chain Mail Cursed Condition","cp":"68152994a193700012c12208","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Chain Mail Abyssal Proficiency","cp":"68152994a193700012c12208"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Chain Mail Unarmed Strike Attack","cp":"68152994a193700012c12208","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Chain Mail Situational Attack & Save Disadvantage","cp":"68152994a193700012c12208","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Chain Mail Unarmed Strike Damage","cp":"68152994a193700012c12208","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Chain Shirt","blueprint":{"nm":"Demon Chain Shirt","item":{"tp":"Item","cp":"6815296ba193700012c119dc","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Chain Shirt Attunement","cp":"6815296ba193700012c119dc","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Chain Shirt Base Armor Class","cp":"6815296ba193700012c119dc","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c3","tp":"AC","nm":"Demon Chain Shirt Magic AC Bonus","cp":"6815296ba193700012c119dc","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Chain Shirt Cursed Condition","cp":"6815296ba193700012c119dc","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Chain Shirt Abyssal Proficiency","cp":"6815296ba193700012c119dc"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Chain Shirt Unarmed Strike Attack","cp":"6815296ba193700012c119dc","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Chain Shirt Situational Attack & Save Disadvantage","cp":"6815296ba193700012c119dc","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Chain Shirt Unarmed Strike Damage","cp":"6815296ba193700012c119dc","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Half Plate Armor","blueprint":{"nm":"Demon Half Plate Armor","item":{"tp":"Item","cp":"68152983a193700012c11e98","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":40,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Half Plate Armor Attunement","cp":"68152983a193700012c11e98","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Half Plate Armor Base Armor Class","cp":"68152983a193700012c11e98","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c3","tp":"AC","nm":"Demon Half Plate Armor Magic AC Bonus","cp":"68152983a193700012c11e98","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c5","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Half Plate Armor Cursed Condition","cp":"68152983a193700012c11e98","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Half Plate Armor Abyssal Proficiency","cp":"68152983a193700012c11e98"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Half Plate Armor Unarmed Strike Attack","cp":"68152983a193700012c11e98","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c5-c1","tp":"RB","pt":"c5","cascades":[{"ref":"c5","actions":["Activate"]}],"nm":"Demon Half Plate Armor Situational Attack & Save Disadvantage","cp":"68152983a193700012c11e98","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Half Plate Armor Unarmed Strike Damage","cp":"68152983a193700012c11e98","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Hide Armor","blueprint":{"nm":"Demon Hide Armor","item":{"tp":"Item","cp":"681529b8a193700012c12963","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Hide Armor Attunement","cp":"681529b8a193700012c12963","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Hide Armor Base Armor Class","cp":"681529b8a193700012c12963","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"AC","nm":"Demon Hide Armor Magic AC Bonus","cp":"681529b8a193700012c12963","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Hide Armor Cursed Condition","cp":"681529b8a193700012c12963","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Hide Armor Abyssal Proficiency","cp":"681529b8a193700012c12963"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Hide Armor Unarmed Strike Attack","cp":"681529b8a193700012c12963","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Hide Armor Situational Attack & Save Disadvantage","cp":"681529b8a193700012c12963","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Hide Armor Unarmed Strike Damage","cp":"681529b8a193700012c12963","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Leather Armor","blueprint":{"nm":"Demon Leather Armor","item":{"tp":"Item","cp":"68152927a193700012c10c5c","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Leather Armor Attunement","cp":"68152927a193700012c10c5c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Leather Armor Base Armor Class","cp":"68152927a193700012c10c5c","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c3","tp":"AC","nm":"Demon Leather Armor Magic AC Bonus","cp":"68152927a193700012c10c5c","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Leather Armor Cursed Condition","cp":"68152927a193700012c10c5c","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Leather Armor Abyssal Proficiency","cp":"68152927a193700012c10c5c"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Leather Armor Unarmed Strike Attack","cp":"68152927a193700012c10c5c","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Leather Armor Situational Attack & Save Disadvantage","cp":"68152927a193700012c10c5c","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Leather Armor Unarmed Strike Damage","cp":"68152927a193700012c10c5c","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Padded Armor","blueprint":{"nm":"Demon Padded Armor","item":{"tp":"Item","cp":"681529b2a193700012c1284d","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":8,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Padded Armor Attunement","cp":"681529b2a193700012c1284d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Padded Armor Base Armor Class","cp":"681529b2a193700012c1284d","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c3","tp":"AC","nm":"Demon Padded Armor Magic AC Bonus","cp":"681529b2a193700012c1284d","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c5","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Padded Armor Cursed Condition","cp":"681529b2a193700012c1284d","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Padded Armor Abyssal Proficiency","cp":"681529b2a193700012c1284d"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Padded Armor Unarmed Strike Attack","cp":"681529b2a193700012c1284d","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c5-c1","tp":"RB","pt":"c5","cascades":[{"ref":"c5","actions":["Activate"]}],"nm":"Demon Padded Armor Situational Attack & Save Disadvantage","cp":"681529b2a193700012c1284d","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Padded Armor Unarmed Strike Damage","cp":"681529b2a193700012c1284d","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Plate Armor","blueprint":{"nm":"Demon Plate Armor","item":{"tp":"Item","cp":"6813f6d3aa185e0012545fa8","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":65,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Plate Armor Attunement","cp":"6813f6d3aa185e0012545fa8","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Plate Armor Base Armor Class","cp":"6813f6d3aa185e0012545fa8","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c3","tp":"AC","nm":"Demon Plate Armor Magic AC Bonus","cp":"6813f6d3aa185e0012545fa8","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Plate Armor Cursed Condition","cp":"6813f6d3aa185e0012545fa8","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Plate Armor Abyssal Proficiency","cp":"6813f6d3aa185e0012545fa8"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Plate Armor Unarmed Strike Attack","cp":"6813f6d3aa185e0012545fa8","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Plate Armor Situational Attack & Save Disadvantage","cp":"6813f6d3aa185e0012545fa8","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Plate Armor Unarmed Strike Damage","cp":"6813f6d3aa185e0012545fa8","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Ring Mail","blueprint":{"nm":"Demon Ring Mail","item":{"tp":"Item","cp":"681529efa193700012c1336c","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":40,"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Ring Mail Attunement","cp":"681529efa193700012c1336c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Ring Mail Base Armor Class","cp":"681529efa193700012c1336c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Demon Ring Mail Magic AC Bonus","cp":"681529efa193700012c1336c","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Ring Mail Cursed Condition","cp":"681529efa193700012c1336c","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Ring Mail Abyssal Proficiency","cp":"681529efa193700012c1336c"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Ring Mail Unarmed Strike Attack","cp":"681529efa193700012c1336c","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Ring Mail Situational Attack & Save Disadvantage","cp":"681529efa193700012c1336c","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Ring Mail Unarmed Strike Damage","cp":"681529efa193700012c1336c","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Scale Mail","blueprint":{"nm":"Demon Scale Mail","item":{"tp":"Item","cp":"6815290aa193700012c106b0","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":45,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Scale Mail Attunement","cp":"6815290aa193700012c106b0","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Scale Mail Base Armor Class","cp":"6815290aa193700012c106b0","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Demon Scale Mail Magic AC Bonus","cp":"6815290aa193700012c106b0","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c5","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Scale Mail Cursed Condition","cp":"6815290aa193700012c106b0","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Scale Mail Abyssal Proficiency","cp":"6815290aa193700012c106b0"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Scale Mail Unarmed Strike Attack","cp":"6815290aa193700012c106b0","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c5-c1","tp":"RB","pt":"c5","cascades":[{"ref":"c5","actions":["Activate"]}],"nm":"Demon Scale Mail Situational Attack & Save Disadvantage","cp":"6815290aa193700012c106b0","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Scale Mail Unarmed Strike Damage","cp":"6815290aa193700012c106b0","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Splint Armor","blueprint":{"nm":"Demon Splint Armor","item":{"tp":"Item","cp":"68152a12a193700012c13afe","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":60,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Splint Armor Attunement","cp":"68152a12a193700012c13afe","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Splint Armor Base Armor Class","cp":"68152a12a193700012c13afe","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c3","tp":"AC","nm":"Demon Splint Armor Magic AC Bonus","cp":"68152a12a193700012c13afe","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Splint Armor Cursed Condition","cp":"68152a12a193700012c13afe","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Splint Armor Abyssal Proficiency","cp":"68152a12a193700012c13afe"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Splint Armor Unarmed Strike Attack","cp":"68152a12a193700012c13afe","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Splint Armor Situational Attack & Save Disadvantage","cp":"68152a12a193700012c13afe","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Splint Armor Unarmed Strike Damage","cp":"68152a12a193700012c13afe","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Demon Studded Leather Armor","blueprint":{"nm":"Demon Studded Leather Armor","item":{"tp":"Item","cp":"6815296aa193700012c119cc","dn":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":2,"Condition":1,"Language":1,"Ak":1,"RB":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Demon Studded Leather Armor Attunement","cp":"6815296aa193700012c119cc","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Demon Studded Leather Armor Base Armor Class","cp":"6815296aa193700012c119cc","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"AC","nm":"Demon Studded Leather Armor Magic AC Bonus","cp":"6815296aa193700012c119cc","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c4","tp":"Condition","nm":"Demon Armor Curse","rd":"Demon Studded Leather Armor Cursed Condition","cp":"6815296aa193700012c119cc","dn":"Once you don this cursed armor, you can't doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities."},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Abyssal","rd":"Demon Studded Leather Armor Abyssal Proficiency","cp":"6815296aa193700012c119cc"},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Armor Unarmed Strike","rd":"Demon Studded Leather Armor Unarmed Strike Attack","cp":"6815296aa193700012c119cc","aT":"Action","dn":"The armor's clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.","ak":{"aB":"Strength","bo":1,"proficiencyLevel":"Proficient","tp":"Melee"}},{"id":"c4-c1","tp":"RB","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Demon Studded Leather Armor Situational Attack & Save Disadvantage","cp":"6815296aa193700012c119cc","bC":"[\"Attacks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Demon Studded Leather Armor Unarmed Strike Damage","cp":"6815296aa193700012c119cc","ay":"auto","dT":"Slashing","die":"d8","bo":1,"ct":1,"oC":false}]}},{"nm":"Dwarven Half Plate Armor","blueprint":{"nm":"Dwarven Half Plate Armor","item":{"tp":"Item","cp":"6744e41895192d0012ba298c","dn":"While wearing this armor, you gain a +2 bonus to Armor Class. In addition, if an effect moves you against your will along the ground, you can take a Reaction to reduce the distance you are moved by up to 10 feet.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"AC":2,"Action":1},"ch":[{"id":"c1","tp":"AC","nm":"Dwarven Half Plate Armor Base Armor Class","cp":"6744e41895192d0012ba298c","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c2","tp":"AC","nm":"Dwarven Half Plate Armor Magic AC Bonus","cp":"6744e41895192d0012ba298c","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c4","tp":"Action","nm":"Reduce Involuntary Movement","rd":"Dwarven Half Plate Armor Reaction","cp":"6744e41895192d0012ba298c","dn":"If an effect moves you against your will along the ground, you can take a Reaction to reduce the distance you are moved by up to 10 feet."}]}},{"nm":"Dwarven Plate Armor","blueprint":{"nm":"Dwarven Plate Armor","item":{"tp":"Item","cp":"6744e40d95192d0012ba2669","dn":"While wearing this armor, you gain a +2 bonus to Armor Class. In addition, if an effect moves you against your will along the ground, you can take a Reaction to reduce the distance you are moved by up to 10 feet.","wt":65,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"AC":2,"Action":1},"ch":[{"id":"c1","tp":"AC","nm":"Dwarven Plate Armor Base Armor Class","cp":"6744e40d95192d0012ba2669","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c2","tp":"AC","nm":"Dwarven Plate Armor Magic AC Bonus","cp":"6744e40d95192d0012ba2669","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c3","tp":"Action","nm":"Reduce Involuntary Movement","rd":"Dwarven Plate Armor Reaction","cp":"6744e40d95192d0012ba2669","dn":"If an effect moves you against your will along the ground, you can take a Reaction to reduce the distance you are moved by up to 10 feet."}]}},{"nm":"Efreeti Chain Mail","blueprint":{"nm":"Efreeti Chain Mail","item":{"tp":"Item","cp":"6744e42195192d0012ba2bed","dn":"While wearing this armor, you gain a +3 bonus to Armor Class, you have Immunity to Fire damage, and you know Primordial. In addition, you can stand on and move across molten rock as if it were solid ground.","wt":55,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"Language":1},"ch":[{"id":"c1","tp":"Am","nm":"Efreeti Chain Mail Attunement","cp":"6744e42195192d0012ba2bed","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Efreeti Chain Mail Base Armor Class","cp":"6744e42195192d0012ba2bed","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c3","tp":"AC","nm":"Efreeti Chain Mail Magic AC Bonus","cp":"6744e42195192d0012ba2bed","cl":"Modify","dA":false,"vl":{"fa":3}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Efreeti Chain Mail Fire Immunity","cp":"6744e42195192d0012ba2bed","damage":"Fire","defense":"Immunity"},{"id":"c1-c2","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Primordial","rd":"Efreeti Chain Mail Primordial Language","cp":"6744e42195192d0012ba2bed"}]}},{"nm":"Efreeti Chain Shirt","blueprint":{"nm":"Efreeti Chain Shirt","item":{"tp":"Item","cp":"6744e42c95192d0012ba2e9a","dn":"While wearing this armor, you gain a +3 bonus to Armor Class, you have Immunity to Fire damage, and you know Primordial. In addition, you can stand on and move across molten rock as if it were solid ground.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Am":1,"AC":2,"Defense":1,"Language":1},"ch":[{"id":"c1","tp":"Am","nm":"Efreeti Chain Shirt Attunement","cp":"6744e42c95192d0012ba2e9a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Efreeti Chain Shirt Base Armor Class","cp":"6744e42c95192d0012ba2e9a","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c3","tp":"AC","nm":"Efreeti Chain Shirt Magic AC Bonus","cp":"6744e42c95192d0012ba2e9a","cl":"Modify","dA":false,"vl":{"fa":3}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Efreeti Chain Shirt Fire Immunity","cp":"6744e42c95192d0012ba2e9a","damage":"Fire","defense":"Immunity"},{"id":"c1-c2","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Primordial","rd":"Efreeti Chain Shirt Primordial Language","cp":"6744e42c95192d0012ba2e9a"}]}},{"nm":"Elven Chain Mail","blueprint":{"nm":"Elven Chain Mail","item":{"tp":"Item","cp":"6744e43095192d0012ba2fad","dn":"You gain a +1 bonus to Armor Class while you wear this armor. You are considered trained with this armor even if you lack training with Medium or Heavy armor.","wt":55,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":13,"tp":"Chain Mail"}},"cS":{"AC":2,"Proficiency":1},"ch":[{"id":"c1","tp":"AC","nm":"Elven Chain Mail Base Armor Class","cp":"6744e43095192d0012ba2fad","cl":"Set Base","dA":false,"vl":{"fa":16}},{"id":"c2","tp":"AC","nm":"Elven Chain Mail Magic AC Bonus","cp":"6744e43095192d0012ba2fad","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c3","tp":"Proficiency","nm":"Elven Chain Mail Armor Proficiency","cp":"6744e43095192d0012ba2fad","cy":"Armor"}]}},{"nm":"Elven Chain Shirt","blueprint":{"nm":"Elven Chain Shirt","item":{"tp":"Item","cp":"6744e3f595192d0012ba2009","dn":"You gain a +1 bonus to Armor Class while you wear this armor. You are considered trained with this armor even if you lack training with Medium or Heavy armor.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"AC":2,"Proficiency":1},"ch":[{"id":"c1","tp":"AC","nm":"Elven Chain Shirt Base Armor Class","cp":"6744e3f595192d0012ba2009","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c2","tp":"AC","nm":"Elven Chain Shirt Magic AC Bonus","cp":"6744e3f595192d0012ba2009","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c3","tp":"Proficiency","nm":"Elven Chain Shirt Armor Proficiency","cp":"6744e3f595192d0012ba2009","cy":"Armor"}]}},{"nm":"Glamoured Studded Leather","blueprint":{"nm":"Glamoured Studded Leather","item":{"tp":"Item","cp":"6744e2d695192d0012b9db5b","dn":"While wearing this armor, you gain a +1 bonus to Armor Class. You can also take a Bonus Action to cause the armor to assume the appearance of a normal set of clothing or some other kind of armor. You decide what it looks like-including color, style, and accessories-but the armor retains its normal bulk and weight. The illusory appearance lasts until you use this property again or doff the armor.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"AC":2,"Action":1},"ch":[{"id":"c1","tp":"AC","nm":"Glamoured Studded Leather Base Armor Class","cp":"6744e2d695192d0012b9db5b","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Glamoured Studded Leather Magic AC Bonus","cp":"6744e2d695192d0012b9db5b","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c3","tp":"Action","nm":"Change Armor Appearance","rd":"Glamoured Studded Leather Bonus Action","cp":"6744e2d695192d0012b9db5b","dn":"You can take a Bonus Action to cause the Glamoured Studded Leather to assume the appearance of a normal set of clothing or some other kind of armor. You decide what it looks like-including color, style, and accessories-but the armor retains its normal bulk and weight. The illusory appearance lasts until you use this property again or doff the armor."}]}},{"nm":"Gold Dragon Scale Mail","blueprint":{"nm":"Gold Dragon Scale Mail","item":{"tp":"Item","cp":"681529b9a193700012c12983","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Fire damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Gold dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Gold Dragon Scale Mail Attunement","cp":"681529b9a193700012c12983","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Gold Dragon Scale Mail Base Armor Class","cp":"681529b9a193700012c12983","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Gold Dragon Scale Mail Magic AC Bonus","cp":"681529b9a193700012c12983","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gold Dragon Scale Mail Fire Resistance","cp":"681529b9a193700012c12983","damage":"Fire","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gold Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"681529b9a193700012c12983","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Gold Dragon","rd":"Locate Gold Dragon Resource","cp":"681529b9a193700012c12983","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Gold Dragon","rd":"Locate Gold Dragon Action","cp":"681529b9a193700012c12983","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Gold Dragon within 30 miles of yourself."}]}},{"nm":"Green Dragon Scale Mail","blueprint":{"nm":"Green Dragon Scale Mail","item":{"tp":"Item","cp":"68152994a193700012c12218","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Poison damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Green dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Green Dragon Scale Mail Attunement","cp":"68152994a193700012c12218","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Green Dragon Scale Mail Base Armor Class","cp":"68152994a193700012c12218","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Green Dragon Scale Mail Magic AC Bonus","cp":"68152994a193700012c12218","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Green Dragon Scale Mail Poison Resistance","cp":"68152994a193700012c12218","damage":"Poison","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Green Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"68152994a193700012c12218","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Green Dragon","rd":"Locate Green Dragon Resource","cp":"68152994a193700012c12218","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Green Dragon","rd":"Locate Green Dragon Action","cp":"68152994a193700012c12218","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Green Dragon within 30 miles of yourself."}]}},{"nm":"Half Plate","blueprint":{"nm":"Half Plate","item":{"tp":"Item","cp":"67a659a8db873a00127f9581","dn":"Armor Class: 15 + Dex modifier\nStrength Requirement: -\nStealth: Disadvantage\nWeight: 40","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Half Plate Armor AC","cp":"67a659a8db873a00127f9581","cl":"Set Base","dA":false,"vl":{"fa":15}}]}},{"nm":"Half Plate Armor +1","blueprint":{"nm":"Half Plate Armor +1","item":{"tp":"Item","cp":"6744e42e95192d0012ba2f3c","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Half Plate Armor +1 Base AC","cp":"6744e42e95192d0012ba2f3c","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c2","tp":"AC","nm":"Half Plate Armor +1 Magic Bonus to AC","cp":"6744e42e95192d0012ba2f3c","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Half Plate Armor +2","blueprint":{"nm":"Half Plate Armor +2","item":{"tp":"Item","cp":"6744e2e295192d0012b9dea6","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Half Plate Armor +2 Base AC","cp":"6744e2e295192d0012b9dea6","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c2","tp":"AC","nm":"Half Plate Armor +2 Magic Bonus to AC","cp":"6744e2e295192d0012b9dea6","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Half Plate Armor +3","blueprint":{"nm":"Half Plate Armor +3","item":{"tp":"Item","cp":"6744e42a95192d0012ba2e2e","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Half Plate Armor +3 Base AC","cp":"6744e42a95192d0012ba2e2e","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c2","tp":"AC","nm":"Half Plate Armor +3 Magic Bonus to AC","cp":"6744e42a95192d0012ba2e2e","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Half Plate Armor of Acid Resistance","blueprint":{"nm":"Half Plate Armor of Acid Resistance","item":{"tp":"Item","cp":"6744e44895192d0012ba35e4","dn":"You have Resistance to Acid damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Acid Resistance Attunement","cp":"6744e44895192d0012ba35e4","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Acid Resistance Base Armor Class","cp":"6744e44895192d0012ba35e4","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Acid Resistance","cp":"6744e44895192d0012ba35e4","damage":"Acid","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Cold Resistance","blueprint":{"nm":"Half Plate Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e43495192d0012ba30a5","dn":"You have Resistance to Cold damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Cold Resistance Attunement","cp":"6744e43495192d0012ba30a5","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Cold Resistance Base Armor Class","cp":"6744e43495192d0012ba30a5","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Cold Resistance","cp":"6744e43495192d0012ba30a5","damage":"Cold","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Etherealness","blueprint":{"nm":"Half Plate Armor of Etherealness","item":{"tp":"Item","cp":"68152a15a193700012c13ba4","dn":"While you're wearing this armor, you can take a Magic action and use a command word to gain the effect of the Etherealness spell. The spell ends immediately if you remove the armor or take a Magic action to repeat the command word. This property of the armor can't be used again until the next dawn.","wt":40,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Resource":1,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Etherealness Attunement","cp":"68152a15a193700012c13ba4","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Etherealness Base Armor Class","cp":"68152a15a193700012c13ba4","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Etherealness Spell","rd":"Half Plate Armor of Etherealness Resource","cp":"68152a15a193700012c13ba4","vl":1},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Start or Stop Ethernealness Spell","rd":"Half Plate Armor of Etherealness Action","cp":"68152a15a193700012c13ba4","dn":"You can take a Magic action and use a command word to gain or stop the effect of the Etherealness spell."},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Etherealness","cp":"66e08fd9dc69af0030fa5f56","dn":"You step into the border regions of the Ethereal Plane, where it overlaps with your current plane. You remain in the Border Ethereal for the duration. During this time, you can move in any direction. If you move up or down, every foot of movement costs an extra foot. You can perceive the plane you left, which looks gray, and you can't see anything there more than 60 feet away.\nWhile on the Ethereal Plane, you can affect and be affected only by creatures, objects, and effects on that plane. Creatures that aren't on the Ethereal Plane can't perceive or interact with you unless a feature gives them the ability to do so.\nWhen the spell ends, you return to the plane you left in the spot that corresponds to your space in the Border Ethereal. If you appear in an occupied space, you are shunted to the nearest unoccupied space and take Force damage equal to twice the number of feet you are moved.\nThis spell ends instantly if you cast it while you are on the Ethereal Plane or a plane that doesn't border it, such as one of the Outer Planes."}]}},{"nm":"Half Plate Armor of Fire Resistance","blueprint":{"nm":"Half Plate Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e44c95192d0012ba36ea","dn":"You have Resistance to Fire damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Fire Resistance Attunement","cp":"6744e44c95192d0012ba36ea","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Fire Resistance Base Armor Class","cp":"6744e44c95192d0012ba36ea","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Fire Resistance","cp":"6744e44c95192d0012ba36ea","damage":"Fire","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Force Resistance","blueprint":{"nm":"Half Plate Armor of Force Resistance","item":{"tp":"Item","cp":"6744e43995192d0012ba3209","dn":"You have Resistance to Force damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Force Resistance Attunement","cp":"6744e43995192d0012ba3209","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Force Resistance Base Armor Class","cp":"6744e43995192d0012ba3209","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Force Resistance","cp":"6744e43995192d0012ba3209","damage":"Force","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Lightning Resistance","blueprint":{"nm":"Half Plate Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e2e395192d0012b9dec1","dn":"You have Resistance to Lightning damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Lightning Resistance Attunement","cp":"6744e2e395192d0012b9dec1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Lightning Resistance Base Armor Class","cp":"6744e2e395192d0012b9dec1","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Lightning Resistance","cp":"6744e2e395192d0012b9dec1","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Necrotic Resistance","blueprint":{"nm":"Half Plate Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e2d795192d0012b9db76","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Necrotic Resistance Attunement","cp":"6744e2d795192d0012b9db76","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Necrotic Resistance Base Armor Class","cp":"6744e2d795192d0012b9db76","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Necrotic Resistance","cp":"6744e2d795192d0012b9db76","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Poison Resistance","blueprint":{"nm":"Half Plate Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e43195192d0012ba2fe3","dn":"You have Resistance to Poison damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Poison Resistance Attunement","cp":"6744e43195192d0012ba2fe3","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Poison Resistance Base Armor Class","cp":"6744e43195192d0012ba2fe3","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Poison Resistance","cp":"6744e43195192d0012ba2fe3","damage":"Poison","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Psychic Resistance","blueprint":{"nm":"Half Plate Armor of Psychic Resistance","item":{"tp":"Item","cp":"6744e2e095192d0012b9de0d","dn":"You have Resistance to Psychic damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Psychic Resistance Attunement","cp":"6744e2e095192d0012b9de0d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Psychic Resistance Base Armor Class","cp":"6744e2e095192d0012b9de0d","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Psychic Resistance","cp":"6744e2e095192d0012b9de0d","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Radiant Resistance","blueprint":{"nm":"Half Plate Armor of Radiant Resistance","item":{"tp":"Item","cp":"6744e44195192d0012ba33f9","dn":"You have Resistance to Radiant damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Radiant Resistance Attunement","cp":"6744e44195192d0012ba33f9","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Radiant Resistance Base Armor Class","cp":"6744e44195192d0012ba33f9","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Radiant Resistance","cp":"6744e44195192d0012ba33f9","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Thunder Resistance","blueprint":{"nm":"Half Plate Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e44495192d0012ba34f1","dn":"You have Resistance to Thunder damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Thunder Resistance Attunement","cp":"6744e44495192d0012ba34f1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Thunder Resistance Base Armor Class","cp":"6744e44495192d0012ba34f1","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor Thunder Resistance","cp":"6744e44495192d0012ba34f1","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Half Plate Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Half Plate Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e44095192d0012ba33c3","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e44095192d0012ba33c3","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e44095192d0012ba33c3","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Half Plate Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e44095192d0012ba33c3","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e44095192d0012ba33c3","damage":"Bludgeoning","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Half Plate Armor of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e44095192d0012ba33c3","damage":"Piercing","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Half Plate Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e44095192d0012ba33c3","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Half Plate Armor of Vulnerability (Piercing)","blueprint":{"nm":"Half Plate Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e2d995192d0012b9dc39","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Vulnerability (Piercing) Attunement","cp":"6744e2d995192d0012b9dc39","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e2d995192d0012b9dc39","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Half Plate Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e2d995192d0012b9dc39","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e2d995192d0012b9dc39","damage":"Piercing","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Half Plate Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e2d995192d0012b9dc39","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Half Plate Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e2d995192d0012b9dc39","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Half Plate Armor of Vulnerability (Slashing)","blueprint":{"nm":"Half Plate Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e32f95192d0012b9efb7","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Half Plate Armor of Vulnerability (Slashing) Attunement","cp":"6744e32f95192d0012b9efb7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Half Plate Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e32f95192d0012b9efb7","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Half Plate Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e32f95192d0012b9efb7","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Half Plate Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e32f95192d0012b9efb7","damage":"Slashing","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Half Plate Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e32f95192d0012b9efb7","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Half Plate Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e32f95192d0012b9efb7","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Hide Armor","blueprint":{"nm":"Hide Armor","item":{"tp":"Item","cp":"67a659a9db873a00127f9609","dn":"Armor Class: 12 + Dex modifier\nStrength Requirement: -\nStealth: -\nWeight: 12","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Hide Armor AC","cp":"67a659a9db873a00127f9609","cl":"Set Base","dA":false,"vl":{"fa":12}}]}},{"nm":"Hide Armor +1","blueprint":{"nm":"Hide Armor +1","item":{"tp":"Item","cp":"6744e44b95192d0012ba36cf","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Hide Armor +1 Base AC","cp":"6744e44b95192d0012ba36cf","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Hide Armor +1 Magic Bonus to AC","cp":"6744e44b95192d0012ba36cf","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Hide Armor +2","blueprint":{"nm":"Hide Armor +2","item":{"tp":"Item","cp":"6744e4e895192d0012ba5d52","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Hide Armor +2 Base AC","cp":"6744e4e895192d0012ba5d52","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Hide Armor +2 Magic Bonus to AC","cp":"6744e4e895192d0012ba5d52","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Hide Armor +3","blueprint":{"nm":"Hide Armor +3","item":{"tp":"Item","cp":"6744e2c495192d0012b9d651","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Hide Armor +3 Base AC","cp":"6744e2c495192d0012b9d651","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Hide Armor +3 Magic Bonus to AC","cp":"6744e2c495192d0012b9d651","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Hide Armor of Acid Resistance","blueprint":{"nm":"Hide Armor of Acid Resistance","item":{"tp":"Item","cp":"6204744364f27f21de83b806","dn":"You have resistance to acid damage while you wear this armor.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Acid Resistance Attunement","cp":"6204744364f27f21de83b806","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Base Armor Class","cp":"6204744364f27f21de83b806","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Acid Resistance","cp":"6204744364f27f21de83b806","damage":"Acid","defense":"Resistance"}]}},{"nm":"Hide Armor of Cold Resistance","blueprint":{"nm":"Hide Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e2e795192d0012b9dffa","dn":"You have Resistance to Cold damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Cold Resistance Attunement","cp":"6744e2e795192d0012b9dffa","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Cold Resistance Base Armor Class","cp":"6744e2e795192d0012b9dffa","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Cold Resistance","cp":"6744e2e795192d0012b9dffa","damage":"Cold","defense":"Resistance"}]}},{"nm":"Hide Armor of Fire Resistance","blueprint":{"nm":"Hide Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e44495192d0012ba34d6","dn":"You have Resistance to Fire damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Fire Resistance Attunement","cp":"6744e44495192d0012ba34d6","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Fire Resistance Base Armor Class","cp":"6744e44495192d0012ba34d6","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Fire Resistance","cp":"6744e44495192d0012ba34d6","damage":"Fire","defense":"Resistance"}]}},{"nm":"Hide Armor of Force Resistance","blueprint":{"nm":"Hide Armor of Force Resistance","item":{"tp":"Item","cp":"6744e2e195192d0012b9de6a","dn":"You have Resistance to Force damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Force Resistance Attunement","cp":"6744e2e195192d0012b9de6a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Force Resistance Base Armor Class","cp":"6744e2e195192d0012b9de6a","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Force Resistance","cp":"6744e2e195192d0012b9de6a","damage":"Force","defense":"Resistance"}]}},{"nm":"Hide Armor of Lightning Resistance","blueprint":{"nm":"Hide Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e44b95192d0012ba36b4","dn":"You have Resistance to Lightning damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Lightning Resistance Attunement","cp":"6744e44b95192d0012ba36b4","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Lightning Resistance Base Armor Class","cp":"6744e44b95192d0012ba36b4","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Lightning Resistance","cp":"6744e44b95192d0012ba36b4","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Hide Armor of Necrotic Resistance","blueprint":{"nm":"Hide Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e44e95192d0012ba3785","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Necrotic Resistance Attunement","cp":"6744e44e95192d0012ba3785","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Necrotic Resistance Base Armor Class","cp":"6744e44e95192d0012ba3785","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Necrotic Resistance","cp":"6744e44e95192d0012ba3785","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Hide Armor of Poison Resistance","blueprint":{"nm":"Hide Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e3f995192d0012ba20fe","dn":"You have Resistance to Poison damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Poison Resistance Attunement","cp":"6744e3f995192d0012ba20fe","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Poison Resistance Base Armor Class","cp":"6744e3f995192d0012ba20fe","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Poison Resistance","cp":"6744e3f995192d0012ba20fe","damage":"Poison","defense":"Resistance"}]}},{"nm":"Hide Armor of Psychic Resistance","blueprint":{"nm":"Hide Armor of Psychic Resistance","item":{"tp":"Item","cp":"6204651064f27f21de7b4045","dn":"You have resistance to psychic damage while you wear this armor.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Psychic Resistance Attunement","cp":"6204651064f27f21de7b4045","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Base Armor Class","cp":"6204651064f27f21de7b4045","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Psychic Resistance","cp":"6204651064f27f21de7b4045","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Hide Armor of Radiant Resistance","blueprint":{"nm":"Hide Armor of Radiant Resistance","item":{"tp":"Item","cp":"62046b7b64f27f21de7edda4","dn":"You have resistance to radiant damage while you wear this armor.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Radiant Resistance Attunement","cp":"62046b7b64f27f21de7edda4","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Base Armor Class","cp":"62046b7b64f27f21de7edda4","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Radiant Resistance","cp":"62046b7b64f27f21de7edda4","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Hide Armor of Thunder Resistance","blueprint":{"nm":"Hide Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e45495192d0012ba392a","dn":"You have Resistance to Thunder damage while you wear this armor","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Thunder Resistance Attunement","cp":"6744e45495192d0012ba392a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Thunder Resistance Base Armor Class","cp":"6744e45495192d0012ba392a","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor Thunder Resistance","cp":"6744e45495192d0012ba392a","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Hide Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Hide Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e2e995192d0012b9e066","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e2e995192d0012b9e066","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e2e995192d0012b9e066","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Hide Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e2e995192d0012b9e066","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e2e995192d0012b9e066","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Hide Armor of Vulnerability (Bludgeoning)Piercing Vulnerability","cp":"6744e2e995192d0012b9e066","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Hide Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e2e995192d0012b9e066","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Hide Armor of Vulnerability (Piercing)","blueprint":{"nm":"Hide Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e45195192d0012ba3867","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Vulnerability (Piercing) Attunement","cp":"6744e45195192d0012ba3867","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e45195192d0012ba3867","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Hide Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e45195192d0012ba3867","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e45195192d0012ba3867","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Hide Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e45195192d0012ba3867","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Hide Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e45195192d0012ba3867","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Hide Armor of Vulnerability (Slashing)","blueprint":{"nm":"Hide Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e2e395192d0012b9dedc","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":12,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Hide Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Hide Armor of Vulnerability (Slashing) Attunement","cp":"6744e2e395192d0012b9dedc","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Hide Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e2e395192d0012b9dedc","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Hide Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e2e395192d0012b9dedc","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e2e395192d0012b9dedc","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Hide Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e2e395192d0012b9dedc","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Hide Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e2e395192d0012b9dedc","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Leather Armor","blueprint":{"nm":"Leather Armor","item":{"tp":"Item","cp":"67a659a9db873a00127f95d0","dn":"Armor Class: 11 + Dex modifier\nStrength Requirement: -\nStealth: -\nWeight: 10","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Leather Armor AC","cp":"67a659a9db873a00127f95d0","cl":"Set Base","dA":false,"vl":{"fa":11}}]}},{"nm":"Leather Armor +1","blueprint":{"nm":"Leather Armor +1","item":{"tp":"Item","cp":"6744e32c95192d0012b9ef2f","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Leather Armor +1 Base AC","cp":"6744e32c95192d0012b9ef2f","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c2","tp":"AC","nm":"Leather Armor +1 Magic Bonus to AC","cp":"6744e32c95192d0012b9ef2f","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Leather Armor +2","blueprint":{"nm":"Leather Armor +2","item":{"tp":"Item","cp":"6744e44e95192d0012ba37a0","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Leather Armor +2 Base AC","cp":"6744e44e95192d0012ba37a0","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c2","tp":"AC","nm":"Leather Armor +2 Magic Bonus to AC","cp":"6744e44e95192d0012ba37a0","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Leather Armor +3","blueprint":{"nm":"Leather Armor +3","item":{"tp":"Item","cp":"6744e45295192d0012ba3885","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Leather Armor +3 Base AC","cp":"6744e45295192d0012ba3885","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c2","tp":"AC","nm":"Leather Armor +3 Magic Bonus to AC","cp":"6744e45295192d0012ba3885","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Leather Armor of Acid Resistance","blueprint":{"nm":"Leather Armor of Acid Resistance","item":{"tp":"Item","cp":"6744e2de95192d0012b9dd79","dn":"You have Resistance to Acid damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Acid Resistance Attunement","cp":"6744e2de95192d0012b9dd79","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Acid Resistance Base Armor Class","cp":"6744e2de95192d0012b9dd79","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Acid Resistance","cp":"6744e2de95192d0012b9dd79","damage":"Acid","defense":"Resistance"}]}},{"nm":"Leather Armor of Cold Resistance","blueprint":{"nm":"Leather Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e45695192d0012ba397e","dn":"You have Resistance to Cold damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Cold Resistance Attunement","cp":"6744e45695192d0012ba397e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Cold Resistance Base Armor Class","cp":"6744e45695192d0012ba397e","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Cold Resistance","cp":"6744e45695192d0012ba397e","damage":"Cold","defense":"Resistance"}]}},{"nm":"Leather Armor of Fire Resistance","blueprint":{"nm":"Leather Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e2e895192d0012b9e015","dn":"You have Resistance to Fire damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Fire Resistance Attunement","cp":"6744e2e895192d0012b9e015","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Fire Resistance Base Armor Class","cp":"6744e2e895192d0012b9e015","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Fire Resistance","cp":"6744e2e895192d0012b9e015","damage":"Fire","defense":"Resistance"}]}},{"nm":"Leather Armor of Force Resistance","blueprint":{"nm":"Leather Armor of Force Resistance","item":{"tp":"Item","cp":"6744e39795192d0012ba08b1","dn":"You have Resistance to Force damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Force Resistance Attunement","cp":"6744e39795192d0012ba08b1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Force Resistance Base Armor Class","cp":"6744e39795192d0012ba08b1","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Force Resistance","cp":"6744e39795192d0012ba08b1","damage":"Force","defense":"Resistance"}]}},{"nm":"Leather Armor of Lightning Resistance","blueprint":{"nm":"Leather Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e44195192d0012ba3414","dn":"You have Resistance to Lightning damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Lightning Resistance Attunement","cp":"6744e44195192d0012ba3414","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Lightning Resistance Base Armor Class","cp":"6744e44195192d0012ba3414","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Lightning Resistance","cp":"6744e44195192d0012ba3414","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Leather Armor of Necrotic Resistance","blueprint":{"nm":"Leather Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e3f895192d0012ba20e3","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Necrotic Resistance Attunement","cp":"6744e3f895192d0012ba20e3","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Necrotic Resistance Base Armor Class","cp":"6744e3f895192d0012ba20e3","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Necrotic Resistance","cp":"6744e3f895192d0012ba20e3","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Leather Armor of Poison Resistance","blueprint":{"nm":"Leather Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e44795192d0012ba35ae","dn":"You have Resistance to Poison damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Poison Resistance Attunement","cp":"6744e44795192d0012ba35ae","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Poison Resistance Base Armor Class","cp":"6744e44795192d0012ba35ae","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Poison Resistance","cp":"6744e44795192d0012ba35ae","damage":"Poison","defense":"Resistance"}]}},{"nm":"Leather Armor of Psychic Resistance","blueprint":{"nm":"Leather Armor of Psychic Resistance","item":{"tp":"Item","cp":"6744e45195192d0012ba3848","dn":"You have Resistance to Psychic damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Psychic Resistance Attunement","cp":"6744e45195192d0012ba3848","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Psychic Resistance Base Armor Class","cp":"6744e45195192d0012ba3848","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Psychic Resistance","cp":"6744e45195192d0012ba3848","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Leather Armor of Radiant Resistance","blueprint":{"nm":"Leather Armor of Radiant Resistance","item":{"tp":"Item","cp":"6744e44e95192d0012ba375e","dn":"You have Resistance to Radiant damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Radiant Resistance Attunement","cp":"6744e44e95192d0012ba375e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Radiant Resistance Base Armor Class","cp":"6744e44e95192d0012ba375e","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Radiant Resistance","cp":"6744e44e95192d0012ba375e","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Leather Armor of Thunder Resistance","blueprint":{"nm":"Leather Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e45295192d0012ba38a1","dn":"You have Resistance to Thunder damage while you wear this armor","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Thunder Resistance Attunement","cp":"6744e45295192d0012ba38a1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Thunder Resistance Base Armor Class","cp":"6744e45295192d0012ba38a1","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor Thunder Resistance","cp":"6744e45295192d0012ba38a1","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Leather Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Leather Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e45695192d0012ba3999","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e45695192d0012ba3999","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Vulnerability (Bludgeoning)Base Armor Class","cp":"6744e45695192d0012ba3999","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Leather Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e45695192d0012ba3999","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e45695192d0012ba3999","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Leather Armor of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e45695192d0012ba3999","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Leather Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e45695192d0012ba3999","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Leather Armor of Vulnerability (Piercing)","blueprint":{"nm":"Leather Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e44b95192d0012ba3699","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Vulnerability (Piercing) Attunement","cp":"6744e44b95192d0012ba3699","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e44b95192d0012ba3699","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Leather Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e44b95192d0012ba3699","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e44b95192d0012ba3699","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Leather Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e44b95192d0012ba3699","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Leather Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e44b95192d0012ba3699","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Leather Armor of Vulnerability (Slashing)","blueprint":{"nm":"Leather Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e45695192d0012ba39b4","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":10,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Leather"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Leather Armor of Vulnerability (Slashing) Attunement","cp":"6744e45695192d0012ba39b4","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Leather Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e45695192d0012ba39b4","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Leather Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e45695192d0012ba39b4","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Leather Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e45695192d0012ba39b4","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Leather Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e45695192d0012ba39b4","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Leather Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e45695192d0012ba39b4","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Mithral Breastplate","blueprint":{"nm":"Mithral Breastplate","item":{"tp":"Item","cp":"6744e45795192d0012ba39d0","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Breastplate"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Breastplate No Stealth Disadvantage","cp":"6744e45795192d0012ba39d0"},{"id":"c2","tp":"AC","nm":"Mithral Breastplate Base Armor Class","cp":"6744e45795192d0012ba39d0","cl":"Set Base","dA":false,"vl":{"fa":14}}]}},{"nm":"Mithral Chain Mail","blueprint":{"nm":"Mithral Chain Mail","item":{"tp":"Item","cp":"6744e2de95192d0012b9dd94","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":55,"ps":["No Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Chain Mail"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Chain Mail No Stealth Disadvantage","cp":"6744e2de95192d0012b9dd94"},{"id":"c2","tp":"AC","nm":"Mithral Chain Mail Base Armor Class","cp":"6744e2de95192d0012b9dd94","cl":"Set Base","dA":false,"vl":{"fa":16}}]}},{"nm":"Mithral Chain Shirt","blueprint":{"nm":"Mithral Chain Shirt","item":{"tp":"Item","cp":"6744e4e995192d0012ba5da4","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":20,"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Chain Shirt"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Chain Shirt No Stealth Disadvantage","cp":"6744e4e995192d0012ba5da4"},{"id":"c2","tp":"AC","nm":"Mithral Chain Shirt Base Armor Class","cp":"6744e4e995192d0012ba5da4","cl":"Set Base","dA":false,"vl":{"fa":13}}]}},{"nm":"Mithral Half Plate Armor","blueprint":{"nm":"Mithral Half Plate Armor","item":{"tp":"Item","cp":"6744e45895192d0012ba3a3f","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":40,"ps":["No Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Half Plate Armor"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Half Plate Armor No Stealth Disadvantage","cp":"6744e45895192d0012ba3a3f"},{"id":"c2","tp":"AC","nm":"Mithral Half Plate Armor Base Armor Class","cp":"6744e45895192d0012ba3a3f","cl":"Set Base","dA":false,"vl":{"fa":15}}]}},{"nm":"Mithral Plate Armor","blueprint":{"nm":"Mithral Plate Armor","item":{"tp":"Item","cp":"6744e45995192d0012ba3a5a","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":65,"ps":["No Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Plate Armor"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Plate Armor No Stealth Disadvantage","cp":"6744e45995192d0012ba3a5a"},{"id":"c2","tp":"AC","nm":"Mithral Plate Armor Base Armor Class","cp":"6744e45995192d0012ba3a5a","cl":"Set Base","dA":false,"vl":{"fa":18}}]}},{"nm":"Mithral Ring Mail","blueprint":{"nm":"Mithral Ring Mail","item":{"tp":"Item","cp":"6744e3fb95192d0012ba2183","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":40,"ps":["No Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Ring Mail No Stealth Disadvantage","cp":"6744e3fb95192d0012ba2183"},{"id":"c2","tp":"AC","nm":"Mithral Ring Mail Base Armor Class","cp":"6744e3fb95192d0012ba2183","cl":"Set Base","dA":false,"vl":{"fa":14}}]}},{"nm":"Mithral Scale Mail","blueprint":{"nm":"Mithral Scale Mail","item":{"tp":"Item","cp":"6744e2e595192d0012b9df69","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":45,"ps":["No Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Scale Mail No Stealth Disadvantage","cp":"6744e2e595192d0012b9df69"},{"id":"c2","tp":"AC","nm":"Mithral Scale Mail Base Armor Class","cp":"6744e2e595192d0012b9df69","cl":"Set Base","dA":false,"vl":{"fa":14}}]}},{"nm":"Mithral Splint Armor","blueprint":{"nm":"Mithral Splint Armor","item":{"tp":"Item","cp":"6744e46295192d0012ba3cd2","dn":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn't.","wt":60,"ps":["No Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Splint Armor"}},"cS":{"Flag":1,"AC":1},"ch":[{"id":"c1","tp":"Flag","nm":"Mithral Splint Armor No Stealth Disadvantage","cp":"6744e46295192d0012ba3cd2"},{"id":"c2","tp":"AC","nm":"Mithral Splint Armor Base Armor Class","cp":"6744e46295192d0012ba3cd2","cl":"Set Base","dA":false,"vl":{"fa":17}}]}},{"nm":"Padded Armor","blueprint":{"nm":"Padded Armor","item":{"tp":"Item","cp":"67a659a8db873a00127f95b9","dn":"Armor Class: 11 + Dex modifier\nStrength Requirement: -\nStealth: Disadvantage\nWeight: 8","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Padded Armor AC","cp":"67a659a8db873a00127f95b9","cl":"Set Base","dA":false,"vl":{"fa":11}}]}},{"nm":"Padded Armor +1","blueprint":{"nm":"Padded Armor +1","item":{"tp":"Item","cp":"6744e3fb95192d0012ba2168","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Padded Armor +1 Base AC","cp":"6744e3fb95192d0012ba2168","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c2","tp":"AC","nm":"Padded Armor +1 Magic Bonus to AC","cp":"6744e3fb95192d0012ba2168","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Padded Armor +2","blueprint":{"nm":"Padded Armor +2","item":{"tp":"Item","cp":"6744e2ea95192d0012b9e0bc","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Padded Armor +2 Base AC","cp":"6744e2ea95192d0012b9e0bc","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c2","tp":"AC","nm":"Padded Armor +2 Magic Bonus to AC","cp":"6744e2ea95192d0012b9e0bc","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Padded Armor +3","blueprint":{"nm":"Padded Armor +3","item":{"tp":"Item","cp":"6744e46b95192d0012ba3f2c","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Padded Armor +3 Base AC","cp":"6744e46b95192d0012ba3f2c","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c2","tp":"AC","nm":"Padded Armor +3 Magic Bonus to AC","cp":"6744e46b95192d0012ba3f2c","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Padded Armor of Acid Resistance","blueprint":{"nm":"Padded Armor of Acid Resistance","item":{"tp":"Item","cp":"6744e46f95192d0012ba4041","dn":"You have Resistance to Acid damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Acid Resistance Attunement","cp":"6744e46f95192d0012ba4041","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Acid Resistance Base Armor Class","cp":"6744e46f95192d0012ba4041","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Acid Resistance","cp":"6744e46f95192d0012ba4041","damage":"Acid","defense":"Resistance"}]}},{"nm":"Padded Armor of Cold Resistance","blueprint":{"nm":"Padded Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e2d595192d0012b9daea","dn":"You have Resistance to Cold damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Cold Resistance Attunement","cp":"6744e2d595192d0012b9daea","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Cold Resistance Base Armor Class","cp":"6744e2d595192d0012b9daea","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Cold Resistance","cp":"6744e2d595192d0012b9daea","damage":"Cold","defense":"Resistance"}]}},{"nm":"Padded Armor of Fire Resistance","blueprint":{"nm":"Padded Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e47395192d0012ba414b","dn":"You have Resistance to Fire damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Fire Resistance Attunement","cp":"6744e47395192d0012ba414b","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Fire Resistance Base Armor Class","cp":"6744e47395192d0012ba414b","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Fire Resistance","cp":"6744e47395192d0012ba414b","damage":"Fire","defense":"Resistance"}]}},{"nm":"Padded Armor of Force Resistance","blueprint":{"nm":"Padded Armor of Force Resistance","item":{"tp":"Item","cp":"6744e46895192d0012ba3e6b","dn":"You have Resistance to Force damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Force Resistance Attunement","cp":"6744e46895192d0012ba3e6b","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Force Resistance Base Armor Class","cp":"6744e46895192d0012ba3e6b","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Force Resistance","cp":"6744e46895192d0012ba3e6b","damage":"Force","defense":"Resistance"}]}},{"nm":"Padded Armor of Lightning Resistance","blueprint":{"nm":"Padded Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e46495192d0012ba3d3e","dn":"You have Resistance to Lightning damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Lightning Resistance Attunement","cp":"6744e46495192d0012ba3d3e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Lightning Resistance Base Armor Class","cp":"6744e46495192d0012ba3d3e","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Lightning Resistance","cp":"6744e46495192d0012ba3d3e","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Padded Armor of Necrotic Resistance","blueprint":{"nm":"Padded Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e2da95192d0012b9dc54","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Necrotic Resistance Attunement","cp":"6744e2da95192d0012b9dc54","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Necrotic Resistance Base Armor Class","cp":"6744e2da95192d0012b9dc54","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Necrotic Resistance","cp":"6744e2da95192d0012b9dc54","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Padded Armor of Poison Resistance","blueprint":{"nm":"Padded Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e2eb95192d0012b9e0f2","dn":"You have Resistance to Poison damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Poison Resistance Attunement","cp":"6744e2eb95192d0012b9e0f2","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Poison Resistance Base Armor Class","cp":"6744e2eb95192d0012b9e0f2","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Poison Resistance","cp":"6744e2eb95192d0012b9e0f2","damage":"Poison","defense":"Resistance"}]}},{"nm":"Padded Armor of Psychic Resistance","blueprint":{"nm":"Padded Armor of Psychic Resistance","item":{"tp":"Item","cp":"6744e47495192d0012ba41a7","dn":"You have Resistance to Psychic damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Psychic Resistance Attunement","cp":"6744e47495192d0012ba41a7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Psychic Resistance Base Armor Class","cp":"6744e47495192d0012ba41a7","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Psychic Resistance","cp":"6744e47495192d0012ba41a7","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Padded Armor of Radiant Resistance","blueprint":{"nm":"Padded Armor of Radiant Resistance","item":{"tp":"Item","cp":"6744e47695192d0012ba41fc","dn":"You have Resistance to Radiant damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Radiant Resistance Attunement","cp":"6744e47695192d0012ba41fc","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Radiant Resistance Base Armor Class","cp":"6744e47695192d0012ba41fc","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Radiant Resistance","cp":"6744e47695192d0012ba41fc","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Padded Armor of Thunder Resistance","blueprint":{"nm":"Padded Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e47695192d0012ba4217","dn":"You have Resistance to Thunder damage while you wear this armor","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Thunder Resistance Attunement","cp":"6744e47695192d0012ba4217","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Thunder Resistance Base Armor Class","cp":"6744e47695192d0012ba4217","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor Thunder Resistance","cp":"6744e47695192d0012ba4217","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Padded Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Padded Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e47595192d0012ba41c6","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e47595192d0012ba41c6","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e47595192d0012ba41c6","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Padded Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e47595192d0012ba41c6","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e47595192d0012ba41c6","damage":"Bludgeoning","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Padded Armor of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e47595192d0012ba41c6","damage":"Piercing","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Padded Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e47595192d0012ba41c6","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Padded Armor of Vulnerability (Piercing)","blueprint":{"nm":"Padded Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e47695192d0012ba4232","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Vulnerability (Piercing) Attunement","cp":"6744e47695192d0012ba4232","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e47695192d0012ba4232","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Padded Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e47695192d0012ba4232","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e47695192d0012ba4232","damage":"Piercing","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Padded Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e47695192d0012ba4232","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Padded Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e47695192d0012ba4232","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Padded Armor of Vulnerability (Slashing)","blueprint":{"nm":"Padded Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e47495192d0012ba4167","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":8,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Padded Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Padded Armor of Vulnerability (Slashing) Attunement","cp":"6744e47495192d0012ba4167","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Padded Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e47495192d0012ba4167","cl":"Set Base","dA":false,"vl":{"fa":11}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Padded Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e47495192d0012ba4167","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Padded Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e47495192d0012ba4167","damage":"Slashing","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Padded Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e47495192d0012ba4167","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Padded Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e47495192d0012ba4167","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Plate Armor","blueprint":{"nm":"Plate Armor","item":{"tp":"Item","cp":"67a659abdb873a00127f96a4","dn":"Armor Class: 18\nStrength Requirement: 15\nStealth: Disadvantage\nWeight: 65","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Plate Armor AC","cp":"67a659abdb873a00127f96a4","cl":"Set Base","dA":false,"vl":{"fa":18}}]}},{"nm":"Plate Armor +1","blueprint":{"nm":"Plate Armor +1","item":{"tp":"Item","cp":"6744e2ed95192d0012b9e161","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Plate Armor +1 Base AC","cp":"6744e2ed95192d0012b9e161","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c2","tp":"AC","nm":"Plate Armor +1 Magic Bonus to AC","cp":"6744e2ed95192d0012b9e161","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Plate Armor +2","blueprint":{"nm":"Plate Armor +2","item":{"tp":"Item","cp":"6744e44695192d0012ba3542","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Plate Armor +2 Base AC","cp":"6744e44695192d0012ba3542","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c2","tp":"AC","nm":"Plate Armor +2 Magic Bonus to AC","cp":"6744e44695192d0012ba3542","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Plate Armor +3","blueprint":{"nm":"Plate Armor +3","item":{"tp":"Item","cp":"6744e39495192d0012ba07e9","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Plate Armor +3 Base AC","cp":"6744e39495192d0012ba07e9","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c2","tp":"AC","nm":"Plate Armor +3 Magic Bonus to AC","cp":"6744e39495192d0012ba07e9","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Plate Armor of Acid Resistance","blueprint":{"nm":"Plate Armor of Acid Resistance","item":{"tp":"Item","cp":"6744e3fc95192d0012ba21b8","dn":"You have Resistance to Acid damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Acid Resistance Attunement","cp":"6744e3fc95192d0012ba21b8","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Acid Resistance Base Armor Class","cp":"6744e3fc95192d0012ba21b8","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Acid Resistance","cp":"6744e3fc95192d0012ba21b8","damage":"Acid","defense":"Resistance"}]}},{"nm":"Plate Armor of Cold Resistance","blueprint":{"nm":"Plate Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e44f95192d0012ba37d7","dn":"You have Resistance to Cold damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Cold Resistance Attunement","cp":"6744e44f95192d0012ba37d7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Cold Resistance Base Armor Class","cp":"6744e44f95192d0012ba37d7","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Cold Resistance","cp":"6744e44f95192d0012ba37d7","damage":"Cold","defense":"Resistance"}]}},{"nm":"Plate Armor of Etherealness","blueprint":{"nm":"Plate Armor of Etherealness","item":{"tp":"Item","cp":"68152922a193700012c10b3a","dn":"While you're wearing this armor, you can take a Magic action and use a command word to gain the effect of the Etherealness spell. The spell ends immediately if you remove the armor or take a Magic action to repeat the command word. This property of the armor can't be used again until the next dawn.","wt":65,"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Resource":1,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Etherealness Attunement","cp":"68152922a193700012c10b3a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Etherealness Base Armor Class","cp":"68152922a193700012c10b3a","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Etherealness Spell","rd":"Plate Armor of Etherealness Resource","cp":"68152922a193700012c10b3a","vl":1},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Start or Stop Ethernealness Spell","rd":"Plate Armor of Etherealness Action","cp":"68152922a193700012c10b3a","dn":"You can take a Magic action and use a command word to gain or stop the effect of the Etherealness spell."},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Etherealness","cp":"66e08fd9dc69af0030fa5f56","dn":"You step into the border regions of the Ethereal Plane, where it overlaps with your current plane. You remain in the Border Ethereal for the duration. During this time, you can move in any direction. If you move up or down, every foot of movement costs an extra foot. You can perceive the plane you left, which looks gray, and you can't see anything there more than 60 feet away.\nWhile on the Ethereal Plane, you can affect and be affected only by creatures, objects, and effects on that plane. Creatures that aren't on the Ethereal Plane can't perceive or interact with you unless a feature gives them the ability to do so.\nWhen the spell ends, you return to the plane you left in the spot that corresponds to your space in the Border Ethereal. If you appear in an occupied space, you are shunted to the nearest unoccupied space and take Force damage equal to twice the number of feet you are moved.\nThis spell ends instantly if you cast it while you are on the Ethereal Plane or a plane that doesn't border it, such as one of the Outer Planes."}]}},{"nm":"Plate Armor of Fire Resistance","blueprint":{"nm":"Plate Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e47895192d0012ba4287","dn":"You have Resistance to Fire damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Fire Resistance Attunement","cp":"6744e47895192d0012ba4287","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Fire Resistance Base Armor Class","cp":"6744e47895192d0012ba4287","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Fire Resistance","cp":"6744e47895192d0012ba4287","damage":"Fire","defense":"Resistance"}]}},{"nm":"Plate Armor of Force Resistance","blueprint":{"nm":"Plate Armor of Force Resistance","item":{"tp":"Item","cp":"6744e2ec95192d0012b9e146","dn":"You have Resistance to Force damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Force Resistance Attunement","cp":"6744e2ec95192d0012b9e146","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Force Resistance Base Armor Class","cp":"6744e2ec95192d0012b9e146","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Force Resistance","cp":"6744e2ec95192d0012b9e146","damage":"Force","defense":"Resistance"}]}},{"nm":"Plate Armor of Lightning Resistance","blueprint":{"nm":"Plate Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e2e995192d0012b9e04b","dn":"You have Resistance to Lightning damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Lightning Resistance Attunement","cp":"6744e2e995192d0012b9e04b","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Lightning Resistance Base Armor Class","cp":"6744e2e995192d0012b9e04b","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Lightning Resistance","cp":"6744e2e995192d0012b9e04b","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Plate Armor of Necrotic Resistance","blueprint":{"nm":"Plate Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e47295192d0012ba40fa","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Necrotic Resistance Attunement","cp":"6744e47295192d0012ba40fa","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Necrotic Resistance Base Armor Class","cp":"6744e47295192d0012ba40fa","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Necrotic Resistance","cp":"6744e47295192d0012ba40fa","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Plate Armor of Poison Resistance","blueprint":{"nm":"Plate Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e46995192d0012ba3ebc","dn":"You have Resistance to Poison damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Poison Resistance Attunement","cp":"6744e46995192d0012ba3ebc","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Poison Resistance Base Armor Class","cp":"6744e46995192d0012ba3ebc","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Poison Resistance","cp":"6744e46995192d0012ba3ebc","damage":"Poison","defense":"Resistance"}]}},{"nm":"Plate Armor of Psychic Resistance","blueprint":{"nm":"Plate Armor of Psychic Resistance","item":{"tp":"Item","cp":"6744e47295192d0012ba4115","dn":"You have Resistance to Psychic damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Psychic Resistance Attunement","cp":"6744e47295192d0012ba4115","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Psychic Resistance Base Armor Class","cp":"6744e47295192d0012ba4115","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Psychic Resistance","cp":"6744e47295192d0012ba4115","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Plate Armor of Radiant Resistance","blueprint":{"nm":"Plate Armor of Radiant Resistance","item":{"tp":"Item","cp":"6744e2eb95192d0012b9e0d7","dn":"You have Resistance to Radiant damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Radiant Resistance Attunement","cp":"6744e2eb95192d0012b9e0d7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Radiant Resistance Base Armor Class","cp":"6744e2eb95192d0012b9e0d7","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Radiant Resistance","cp":"6744e2eb95192d0012b9e0d7","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Plate Armor of Thunder Resistance","blueprint":{"nm":"Plate Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e47395192d0012ba4130","dn":"You have Resistance to Thunder damage while you wear this armor","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Thunder Resistance Attunement","cp":"6744e47395192d0012ba4130","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Thunder Resistance Base Armor Class","cp":"6744e47395192d0012ba4130","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor Thunder Resistance","cp":"6744e47395192d0012ba4130","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Plate Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Plate Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e46d95192d0012ba3fba","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e46d95192d0012ba3fba","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e46d95192d0012ba3fba","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Plate Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e46d95192d0012ba3fba","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e46d95192d0012ba3fba","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Plate Armor of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e46d95192d0012ba3fba","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Plate Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e46d95192d0012ba3fba","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Plate Armor of Vulnerability (Piercing)","blueprint":{"nm":"Plate Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e46d95192d0012ba3fd5","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Vulnerability (Piercing) Attunement","cp":"6744e46d95192d0012ba3fd5","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e46d95192d0012ba3fd5","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Plate Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e46d95192d0012ba3fd5","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e46d95192d0012ba3fd5","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Plate Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e46d95192d0012ba3fd5","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Plate Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e46d95192d0012ba3fd5","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Plate Armor of Vulnerability (Slashing)","blueprint":{"nm":"Plate Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e47995192d0012ba42fb","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":65,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Plate Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Plate Armor of Vulnerability (Slashing) Attunement","cp":"6744e47995192d0012ba42fb","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Plate Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e47995192d0012ba42fb","cl":"Set Base","dA":false,"vl":{"fa":18}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Plate Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e47995192d0012ba42fb","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plate Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e47995192d0012ba42fb","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Plate Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e47995192d0012ba42fb","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Plate Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e47995192d0012ba42fb","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Red Dragon Scale Mail","blueprint":{"nm":"Red Dragon Scale Mail","item":{"tp":"Item","cp":"681529b9a193700012c12993","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Fire damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Red dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Red Dragon Scale Mail Attunement","cp":"681529b9a193700012c12993","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Red Dragon Scale Mail Base Armor Class","cp":"681529b9a193700012c12993","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Red Dragon Scale Mail Magic AC Bonus","cp":"681529b9a193700012c12993","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Red Dragon Scale Mail Fire Resistance","cp":"681529b9a193700012c12993","damage":"Fire","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Red Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"681529b9a193700012c12993","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Locate Red Dragon","rd":"Locate Red Dragon Resource","cp":"681529b9a193700012c12993","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Locate Red Dragon","rd":"Locate Red Dragon Action","cp":"681529b9a193700012c12993","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Red Dragon within 30 miles of yourself."}]}},{"nm":"Ring Mail","blueprint":{"nm":"Ring Mail","item":{"tp":"Item","cp":"67a659aadb873a00127f9679","dn":"Armor Class: 14\nStrength Requirement: -\nStealth: Disadvantage\nWeight: 40","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Ring Mail AC","cp":"67a659aadb873a00127f9679","cl":"Set Base","dA":false,"vl":{"fa":14}}]}},{"nm":"Ring Mail +1","blueprint":{"nm":"Ring Mail +1","item":{"tp":"Item","cp":"6744e3dc95192d0012ba1943","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Ring Mail +1 Base AC","cp":"6744e3dc95192d0012ba1943","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Ring Mail +1 Magic Bonus to AC","cp":"6744e3dc95192d0012ba1943","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Ring Mail +2","blueprint":{"nm":"Ring Mail +2","item":{"tp":"Item","cp":"6744e3dd95192d0012ba1977","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Ring Mail +2 Base AC","cp":"6744e3dd95192d0012ba1977","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Ring Mail +2 Magic Bonus to AC","cp":"6744e3dd95192d0012ba1977","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Ring Mail +3","blueprint":{"nm":"Ring Mail +3","item":{"tp":"Item","cp":"6744e49f95192d0012ba4d03","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Ring Mail +3 Base AC","cp":"6744e49f95192d0012ba4d03","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Ring Mail +3 Magic Bonus to AC","cp":"6744e49f95192d0012ba4d03","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Ring Mail of Acid Resistance","blueprint":{"nm":"Ring Mail of Acid Resistance","item":{"tp":"Item","cp":"6744e3e095192d0012ba1a31","dn":"You have Resistance to Acid damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Acid Resistance Attunement","cp":"6744e3e095192d0012ba1a31","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Acid Resistance Base Armor Class","cp":"6744e3e095192d0012ba1a31","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Acid Resistance","cp":"6744e3e095192d0012ba1a31","damage":"Acid","defense":"Resistance"}]}},{"nm":"Ring Mail of Cold Resistance","blueprint":{"nm":"Ring Mail of Cold Resistance","item":{"tp":"Item","cp":"6744e38a95192d0012ba04f0","dn":"You have Resistance to Cold damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Cold Resistance Attunement","cp":"6744e38a95192d0012ba04f0","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Cold Resistance Base Armor Class","cp":"6744e38a95192d0012ba04f0","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Cold Resistance","cp":"6744e38a95192d0012ba04f0","damage":"Cold","defense":"Resistance"}]}},{"nm":"Ring Mail of Fire Resistance","blueprint":{"nm":"Ring Mail of Fire Resistance","item":{"tp":"Item","cp":"6744e47a95192d0012ba4354","dn":"You have Resistance to Fire damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Fire Resistance Attunement","cp":"6744e47a95192d0012ba4354","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Fire Resistance Base Armor Class","cp":"6744e47a95192d0012ba4354","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Fire Resistance","cp":"6744e47a95192d0012ba4354","damage":"Fire","defense":"Resistance"}]}},{"nm":"Ring Mail of Force Resistance","blueprint":{"nm":"Ring Mail of Force Resistance","item":{"tp":"Item","cp":"6744e4b395192d0012ba527c","dn":"You have Resistance to Force damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Force Resistance Attunement","cp":"6744e4b395192d0012ba527c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Force Resistance Base Armor Class","cp":"6744e4b395192d0012ba527c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Force Resistance","cp":"6744e4b395192d0012ba527c","damage":"Force","defense":"Resistance"}]}},{"nm":"Ring Mail of Lightning Resistance","blueprint":{"nm":"Ring Mail of Lightning Resistance","item":{"tp":"Item","cp":"6744e3f395192d0012ba1f7d","dn":"You have Resistance to Lightning damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Lightning Resistance Attunement","cp":"6744e3f395192d0012ba1f7d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Lightning Resistance Base Armor Class","cp":"6744e3f395192d0012ba1f7d","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Lightning Resistance","cp":"6744e3f395192d0012ba1f7d","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Ring Mail of Necrotic Resistance","blueprint":{"nm":"Ring Mail of Necrotic Resistance","item":{"tp":"Item","cp":"6744e47895192d0012ba42c1","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Necrotic Resistance Attunement","cp":"6744e47895192d0012ba42c1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Necrotic Resistance Base Armor Class","cp":"6744e47895192d0012ba42c1","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Necrotic Resistance","cp":"6744e47895192d0012ba42c1","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Ring Mail of Poison Resistance","blueprint":{"nm":"Ring Mail of Poison Resistance","item":{"tp":"Item","cp":"6744e3e995192d0012ba1cc2","dn":"You have Resistance to Poison damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Poison Resistance Attunement","cp":"6744e3e995192d0012ba1cc2","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Poison Resistance Base Armor Class","cp":"6744e3e995192d0012ba1cc2","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Poison Resistance","cp":"6744e3e995192d0012ba1cc2","damage":"Poison","defense":"Resistance"}]}},{"nm":"Ring Mail of Psychic Resistance","blueprint":{"nm":"Ring Mail of Psychic Resistance","item":{"tp":"Item","cp":"6744e3f995192d0012ba2119","dn":"You have Resistance to Psychic damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Psychic Resistance Attunement","cp":"6744e3f995192d0012ba2119","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Psychic Resistance Base Armor Class","cp":"6744e3f995192d0012ba2119","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Psychic Resistance","cp":"6744e3f995192d0012ba2119","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Ring Mail of Radiant Resistance","blueprint":{"nm":"Ring Mail of Radiant Resistance","item":{"tp":"Item","cp":"6744e3eb95192d0012ba1d48","dn":"You have Resistance to Radiant damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Radiant Resistance Attunement","cp":"6744e3eb95192d0012ba1d48","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Radiant Resistance Base Armor Class","cp":"6744e3eb95192d0012ba1d48","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Radiant Resistance","cp":"6744e3eb95192d0012ba1d48","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Ring Mail of Thunder Resistance","blueprint":{"nm":"Ring Mail of Thunder Resistance","item":{"tp":"Item","cp":"6744e3fd95192d0012ba21ec","dn":"You have Resistance to Thunder damage while you wear this armor","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Thunder Resistance Attunement","cp":"6744e3fd95192d0012ba21ec","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Thunder Resistance Base Armor Class","cp":"6744e3fd95192d0012ba21ec","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail Thunder Resistance","cp":"6744e3fd95192d0012ba21ec","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Ring Mail of Vulnerability (Bludgeoning)","blueprint":{"nm":"Ring Mail of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e41795192d0012ba296e","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Vulnerability (Bludgeoning) Attunement","cp":"6744e41795192d0012ba296e","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e41795192d0012ba296e","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Ring Mail of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e41795192d0012ba296e","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e41795192d0012ba296e","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Ring Mail of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e41795192d0012ba296e","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Ring Mail of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e41795192d0012ba296e","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Ring Mail of Vulnerability (Piercing)","blueprint":{"nm":"Ring Mail of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e47b95192d0012ba438a","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Vulnerability (Piercing) Attunement","cp":"6744e47b95192d0012ba438a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Vulnerability (Piercing) Base Armor Class","cp":"6744e47b95192d0012ba438a","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Ring Mail of Vulnerability (Piercing) Cursed Condition","cp":"6744e47b95192d0012ba438a","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail of Vulnerability (Piercing) Piercing Resistance","cp":"6744e47b95192d0012ba438a","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Ring Mail of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e47b95192d0012ba438a","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Ring Mail of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e47b95192d0012ba438a","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Ring Mail of Vulnerability (Slashing)","blueprint":{"nm":"Ring Mail of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e2ef95192d0012b9e203","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":40,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"cy":"Heavy","tp":"Ring Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Ring Mail of Vulnerability (Slashing) Attunement","cp":"6744e2ef95192d0012b9e203","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Ring Mail of Vulnerability (Slashing) Base Armor Class","cp":"6744e2ef95192d0012b9e203","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Ring Mail of Vulnerability (Slashing) Cursed Condition","cp":"6744e2ef95192d0012b9e203","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Mail of Vulnerability (Slashing) Slashing Resistance","cp":"6744e2ef95192d0012b9e203","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Ring Mail of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e2ef95192d0012b9e203","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Ring Mail of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e2ef95192d0012b9e203","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Scale Mail","blueprint":{"nm":"Scale Mail","item":{"tp":"Item","cp":"67a659aadb873a00127f965a","dn":"Armor Class: 14 + Dex modifier\nStrength Requirement: -\nStealth: Disadvantage\nWeight: 45","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Scale Mail AC","cp":"67a659aadb873a00127f965a","cl":"Set Base","dA":false,"vl":{"fa":14}}]}},{"nm":"Scale Mail +1","blueprint":{"nm":"Scale Mail +1","item":{"tp":"Item","cp":"6744e48595192d0012ba45f0","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Scale Mail +1 Base AC","cp":"6744e48595192d0012ba45f0","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Scale Mail +1 Magic Bonus to AC","cp":"6744e48595192d0012ba45f0","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Scale Mail +2","blueprint":{"nm":"Scale Mail +2","item":{"tp":"Item","cp":"6744e32e95192d0012b9ef9c","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Scale Mail +2 Base AC","cp":"6744e32e95192d0012b9ef9c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Scale Mail +2 Magic Bonus to AC","cp":"6744e32e95192d0012b9ef9c","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Scale Mail +3","blueprint":{"nm":"Scale Mail +3","item":{"tp":"Item","cp":"6744e48595192d0012ba460b","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Scale Mail +3 Base AC","cp":"6744e48595192d0012ba460b","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c2","tp":"AC","nm":"Scale Mail +3 Magic Bonus to AC","cp":"6744e48595192d0012ba460b","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Scale Mail of Acid Resistance","blueprint":{"nm":"Scale Mail of Acid Resistance","item":{"tp":"Item","cp":"6744e2db95192d0012b9dc88","dn":"You have Resistance to Acid damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Acid Resistance Attunement","cp":"6744e2db95192d0012b9dc88","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Acid Resistance Base Armor Class","cp":"6744e2db95192d0012b9dc88","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Acid Resistance","cp":"6744e2db95192d0012b9dc88","damage":"Acid","defense":"Resistance"}]}},{"nm":"Scale Mail of Cold Resistance","blueprint":{"nm":"Scale Mail of Cold Resistance","item":{"tp":"Item","cp":"6744e48695192d0012ba462c","dn":"You have Resistance to Cold damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Cold Resistance Attunement","cp":"6744e48695192d0012ba462c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Cold Resistance Base Armor Class","cp":"6744e48695192d0012ba462c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Cold Resistance","cp":"6744e48695192d0012ba462c","damage":"Cold","defense":"Resistance"}]}},{"nm":"Scale Mail of Fire Resistance","blueprint":{"nm":"Scale Mail of Fire Resistance","item":{"tp":"Item","cp":"6744e48695192d0012ba4666","dn":"You have Resistance to Fire damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Fire Resistance Attunement","cp":"6744e48695192d0012ba4666","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Fire Resistance Base Armor Class","cp":"6744e48695192d0012ba4666","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Fire Resistance","cp":"6744e48695192d0012ba4666","damage":"Fire","defense":"Resistance"}]}},{"nm":"Scale Mail of Force Resistance","blueprint":{"nm":"Scale Mail of Force Resistance","item":{"tp":"Item","cp":"6744e48895192d0012ba46b7","dn":"You have Resistance to Force damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Force Resistance Attunement","cp":"6744e48895192d0012ba46b7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Force Resistance Base Armor Class","cp":"6744e48895192d0012ba46b7","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Force Resistance","cp":"6744e48895192d0012ba46b7","damage":"Force","defense":"Resistance"}]}},{"nm":"Scale Mail of Lightning Resistance","blueprint":{"nm":"Scale Mail of Lightning Resistance","item":{"tp":"Item","cp":"6744e48995192d0012ba470c","dn":"You have Resistance to Lightning damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Lightning Resistance Attunement","cp":"6744e48995192d0012ba470c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Lightning Resistance Base Armor Class","cp":"6744e48995192d0012ba470c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Lightning Resistance","cp":"6744e48995192d0012ba470c","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Scale Mail of Necrotic Resistance","blueprint":{"nm":"Scale Mail of Necrotic Resistance","item":{"tp":"Item","cp":"6744e48a95192d0012ba475d","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Necrotic Resistance Attunement","cp":"6744e48a95192d0012ba475d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Necrotic Resistance Base Armor Class","cp":"6744e48a95192d0012ba475d","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Necrotic Resistance","cp":"6744e48a95192d0012ba475d","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Scale Mail of Poison Resistance","blueprint":{"nm":"Scale Mail of Poison Resistance","item":{"tp":"Item","cp":"6744e48695192d0012ba4649","dn":"You have Resistance to Poison damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Poison Resistance Attunement","cp":"6744e48695192d0012ba4649","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Poison Resistance Base Armor Class","cp":"6744e48695192d0012ba4649","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Poison Resistance","cp":"6744e48695192d0012ba4649","damage":"Poison","defense":"Resistance"}]}},{"nm":"Scale Mail of Psychic Resistance","blueprint":{"nm":"Scale Mail of Psychic Resistance","item":{"tp":"Item","cp":"6744e48b95192d0012ba4793","dn":"You have Resistance to Psychic damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Psychic Resistance Attunement","cp":"6744e48b95192d0012ba4793","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Psychic Resistance Base Armor Class","cp":"6744e48b95192d0012ba4793","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Psychic Resistance","cp":"6744e48b95192d0012ba4793","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Scale Mail of Radiant Resistance","blueprint":{"nm":"Scale Mail of Radiant Resistance","item":{"tp":"Item","cp":"6744e48895192d0012ba46d2","dn":"You have Resistance to Radiant damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Radiant Resistance Attunement","cp":"6744e48895192d0012ba46d2","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Radiant Resistance Base Armor Class","cp":"6744e48895192d0012ba46d2","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Radiant Resistance","cp":"6744e48895192d0012ba46d2","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Scale Mail of Thunder Resistance","blueprint":{"nm":"Scale Mail of Thunder Resistance","item":{"tp":"Item","cp":"6744e48b95192d0012ba47ae","dn":"You have Resistance to Thunder damage while you wear this armor","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Thunder Resistance Attunement","cp":"6744e48b95192d0012ba47ae","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Thunder Resistance Base Armor Class","cp":"6744e48b95192d0012ba47ae","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail Thunder Resistance","cp":"6744e48b95192d0012ba47ae","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Scale Mail of Vulnerability (Bludgeoning)","blueprint":{"nm":"Scale Mail of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e2f195192d0012b9e26f","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Vulnerability (Bludgeoning) Attunement","cp":"6744e2f195192d0012b9e26f","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e2f195192d0012b9e26f","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Scale Mail of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e2f195192d0012b9e26f","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e2f195192d0012b9e26f","damage":"Bludgeoning","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Scale Mail of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e2f195192d0012b9e26f","damage":"Piercing","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Scale Mail of Vulnerability (Bludgeoning)Slashing Vulnerability","cp":"6744e2f195192d0012b9e26f","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Scale Mail of Vulnerability (Piercing)","blueprint":{"nm":"Scale Mail of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e2ed95192d0012b9e197","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Vulnerability (Piercing) Attunement","cp":"6744e2ed95192d0012b9e197","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Vulnerability (Piercing) Base Armor Class","cp":"6744e2ed95192d0012b9e197","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Scale Mail of Vulnerability (Piercing) Cursed Condition","cp":"6744e2ed95192d0012b9e197","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail of Vulnerability (Piercing) Piercing Resistance","cp":"6744e2ed95192d0012b9e197","damage":"Piercing","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Scale Mail of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e2ed95192d0012b9e197","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c4-c2","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Scale Mail of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e2ed95192d0012b9e197","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Scale Mail of Vulnerability (Slashing)","blueprint":{"nm":"Scale Mail of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e48b95192d0012ba4778","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":2},"ch":[{"id":"c1","tp":"Am","nm":"Scale Mail of Vulnerability (Slashing) Attunement","cp":"6744e48b95192d0012ba4778","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Scale Mail of Vulnerability (Slashing) Base Armor Class","cp":"6744e48b95192d0012ba4778","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c4","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Scale Mail of Vulnerability (Slashing) Cursed Condition","cp":"6744e48b95192d0012ba4778","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scale Mail of Vulnerability (Slashing)Slashing Resistance","cp":"6744e48b95192d0012ba4778","damage":"Slashing","defense":"Resistance"},{"id":"c4-c1","tp":"Defense","pt":"c4","cascades":[{"ref":"c4","actions":["Activate"]}],"nm":"Scale Mail of Vulnerability (Slashing)Bludgeoning Vulnerability","cp":"6744e48b95192d0012ba4778","damage":"Bludgeoning","defense":"Vulnerability"}]}},{"nm":"Silver Dragon Scale Mail","blueprint":{"nm":"Silver Dragon Scale Mail","item":{"tp":"Item","cp":"68152946a193700012c11267","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Cold damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest Silver dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Silver Dragon Scale Mail Attunement","cp":"68152946a193700012c11267","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Silver Dragon Scale Mail Base Armor Class","cp":"68152946a193700012c11267","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"Silver Dragon Scale Mail Magic AC Bonus","cp":"68152946a193700012c11267","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Silver Dragon Scale Mail Cold Resistance","cp":"68152946a193700012c11267","damage":"Cold","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Silver Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"68152946a193700012c11267","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Silver Dragon","rd":"Locate Silver Dragon Resource","cp":"68152946a193700012c11267","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate Silver Dragon","rd":"Locate Silver Dragon Action","cp":"68152946a193700012c11267","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest Silver Dragon within 30 miles of yourself."}]}},{"nm":"Splint Armor","blueprint":{"nm":"Splint Armor","item":{"tp":"Item","cp":"67a659a9db873a00127f95eb","dn":"Armor Class: 17\nStrength Requirement: 15\nStealth: Disadvantage\nWeight: 60","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Splint Armor AC","cp":"67a659a9db873a00127f95eb","cl":"Set Base","dA":false,"vl":{"fa":17}}]}},{"nm":"Splint Armor +1","blueprint":{"nm":"Splint Armor +1","item":{"tp":"Item","cp":"6744e38195192d0012ba0286","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Splint Armor +1 Base AC","cp":"6744e38195192d0012ba0286","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c2","tp":"AC","nm":"Splint Armor +1 Magic Bonus to AC","cp":"6744e38195192d0012ba0286","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Splint Armor +2","blueprint":{"nm":"Splint Armor +2","item":{"tp":"Item","cp":"6744e34a95192d0012b9f5b7","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Splint Armor +2 Base AC","cp":"6744e34a95192d0012b9f5b7","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c2","tp":"AC","nm":"Splint Armor +2 Magic Bonus to AC","cp":"6744e34a95192d0012b9f5b7","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Splint Armor +3","blueprint":{"nm":"Splint Armor +3","item":{"tp":"Item","cp":"6744e2db95192d0012b9dca4","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Splint Armor +3 Base AC","cp":"6744e2db95192d0012b9dca4","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c2","tp":"AC","nm":"Splint Armor +3 Magic Bonus to AC","cp":"6744e2db95192d0012b9dca4","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Splint Armor of Acid Resistance","blueprint":{"nm":"Splint Armor of Acid Resistance","item":{"tp":"Item","cp":"6744e38295192d0012ba02a1","dn":"You have Resistance to Acid damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Acid Resistance Attunement","cp":"6744e38295192d0012ba02a1","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Acid Resistance Base Armor Class","cp":"6744e38295192d0012ba02a1","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Acid Resistance","cp":"6744e38295192d0012ba02a1","damage":"Acid","defense":"Resistance"}]}},{"nm":"Splint Armor of Cold Resistance","blueprint":{"nm":"Splint Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e32395192d0012b9ecb9","dn":"You have Resistance to Cold damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Cold Resistance Attunement","cp":"6744e32395192d0012b9ecb9","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Cold Resistance Base Armor Class","cp":"6744e32395192d0012b9ecb9","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Cold Resistance","cp":"6744e32395192d0012b9ecb9","damage":"Cold","defense":"Resistance"}]}},{"nm":"Splint Armor of Fire Resistance","blueprint":{"nm":"Splint Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e36e95192d0012b9fd07","dn":"You have Resistance to Fire damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Fire Resistance Attunement","cp":"6744e36e95192d0012b9fd07","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Fire Resistance Base Armor Class","cp":"6744e36e95192d0012b9fd07","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Fire Resistance","cp":"6744e36e95192d0012b9fd07","damage":"Fire","defense":"Resistance"}]}},{"nm":"Splint Armor of Force Resistance","blueprint":{"nm":"Splint Armor of Force Resistance","item":{"tp":"Item","cp":"6744e36f95192d0012b9fd6f","dn":"You have Resistance to Force damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Force Resistance Attunement","cp":"6744e36f95192d0012b9fd6f","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Force Resistance Base Armor Class","cp":"6744e36f95192d0012b9fd6f","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Force Resistance","cp":"6744e36f95192d0012b9fd6f","damage":"Force","defense":"Resistance"}]}},{"nm":"Splint Armor of Lightning Resistance","blueprint":{"nm":"Splint Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e37095192d0012b9fd8a","dn":"You have Resistance to Lightning damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Lightning Resistance Attunement","cp":"6744e37095192d0012b9fd8a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Lightning Resistance Base Armor Class","cp":"6744e37095192d0012b9fd8a","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Lightning Resistance","cp":"6744e37095192d0012b9fd8a","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Splint Armor of Necrotic Resistance","blueprint":{"nm":"Splint Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e37895192d0012b9ffd5","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Necrotic Resistance Attunement","cp":"6744e37895192d0012b9ffd5","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Necrotic Resistance Base Armor Class","cp":"6744e37895192d0012b9ffd5","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Necrotic Resistance","cp":"6744e37895192d0012b9ffd5","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Splint Armor of Poison Resistance","blueprint":{"nm":"Splint Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e2f495192d0012b9e363","dn":"You have Resistance to Poison damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Poison Resistance Attunement","cp":"6744e2f495192d0012b9e363","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Poison Resistance Base Armor Class","cp":"6744e2f495192d0012b9e363","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Poison Resistance","cp":"6744e2f495192d0012b9e363","damage":"Poison","defense":"Resistance"}]}},{"nm":"Splint Armor of Psychic Resistance","blueprint":{"nm":"Splint Armor of Psychic Resistance","item":{"tp":"Item","cp":"6744e2f395192d0012b9e2f7","dn":"You have Resistance to Psychic damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Psychic Resistance Attunement","cp":"6744e2f395192d0012b9e2f7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Psychic Resistance Base Armor Class","cp":"6744e2f395192d0012b9e2f7","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Psychic Resistance","cp":"6744e2f395192d0012b9e2f7","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Splint Armor of Radiant Resistance","blueprint":{"nm":"Splint Armor of Radiant Resistance","item":{"tp":"Item","cp":"6744e2f095192d0012b9e239","dn":"You have Resistance to Radiant damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Radiant Resistance Attunement","cp":"6744e2f095192d0012b9e239","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Radiant Resistance Base Armor Class","cp":"6744e2f095192d0012b9e239","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Radiant Resistance","cp":"6744e2f095192d0012b9e239","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Splint Armor of Thunder Resistance","blueprint":{"nm":"Splint Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e2f395192d0012b9e312","dn":"You have Resistance to Thunder damage while you wear this armor","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Thunder Resistance Attunement","cp":"6744e2f395192d0012b9e312","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Thunder Resistance Base Armor Class","cp":"6744e2f395192d0012b9e312","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor Thunder Resistance","cp":"6744e2f395192d0012b9e312","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Splint Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Splint Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e49095192d0012ba48fd","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e49095192d0012ba48fd","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e49095192d0012ba48fd","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Splint Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e49095192d0012ba48fd","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e49095192d0012ba48fd","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Splint Armor of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e49095192d0012ba48fd","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Splint Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e49095192d0012ba48fd","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Splint Armor of Vulnerability (Piercing)","blueprint":{"nm":"Splint Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e49195192d0012ba4931","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Vulnerability (Piercing) Attunement","cp":"6744e49195192d0012ba4931","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e49195192d0012ba4931","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Splint Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e49195192d0012ba4931","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e49195192d0012ba4931","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Splint Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e49195192d0012ba4931","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Splint Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e49195192d0012ba4931","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Splint Armor of Vulnerability (Slashing)","blueprint":{"nm":"Splint Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e49295192d0012ba4982","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":60,"ps":["Stealth Disadvantage","Strength Requirement"],"eD":{"ee":true},"aD":{"cy":"Heavy","sM":15,"tp":"Splint Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Splint Armor of Vulnerability (Slashing) Attunement","cp":"6744e49295192d0012ba4982","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Splint Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e49295192d0012ba4982","cl":"Set Base","dA":false,"vl":{"fa":17}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Splint Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e49295192d0012ba4982","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Splint Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e49295192d0012ba4982","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Splint Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e49295192d0012ba4982","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Splint Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e49295192d0012ba4982","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"Studded Leather Armor","blueprint":{"nm":"Studded Leather Armor","item":{"tp":"Item","cp":"67a6599bdb873a00127f90e1","dn":"Armor Class: 12 + Dex modifier\nStrength Requirement: -\nStealth: -\nWeight: 13","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather"}},"cS":{"AC":1},"ch":[{"id":"c1","tp":"AC","nm":"Studded Leather Armor AC","cp":"67a6599bdb873a00127f90e1","cl":"Set Base","dA":false,"vl":{"fa":12}}]}},{"nm":"Studded Leather Armor +1","blueprint":{"nm":"Studded Leather Armor +1","item":{"tp":"Item","cp":"6744e38895192d0012ba046e","dn":"You have a +1 bonus to Armor Class while wearing this armor.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Studded Leather Armor +1 Base AC","cp":"6744e38895192d0012ba046e","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Studded Leather Armor +1 Magic Bonus to AC","cp":"6744e38895192d0012ba046e","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Studded Leather Armor +2","blueprint":{"nm":"Studded Leather Armor +2","item":{"tp":"Item","cp":"6744e49295192d0012ba4967","dn":"You have a +2 bonus to Armor Class while wearing this armor.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Studded Leather Armor +2 Base AC","cp":"6744e49295192d0012ba4967","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Studded Leather Armor +2 Magic Bonus to AC","cp":"6744e49295192d0012ba4967","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Studded Leather Armor +3","blueprint":{"nm":"Studded Leather Armor +3","item":{"tp":"Item","cp":"6744e38c95192d0012ba058d","dn":"You have a +3 bonus to Armor Class while wearing this armor.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather"}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Studded Leather Armor +3 Base AC","cp":"6744e38c95192d0012ba058d","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c2","tp":"AC","nm":"Studded Leather Armor +3 Magic Bonus to AC","cp":"6744e38c95192d0012ba058d","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Studded Leather Armor of Acid Resistance","blueprint":{"nm":"Studded Leather Armor of Acid Resistance","item":{"tp":"Item","cp":"6744e38c95192d0012ba05a8","dn":"You have Resistance to Acid damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Acid Resistance Attunement","cp":"6744e38c95192d0012ba05a8","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Acid Resistance Base Armor Class","cp":"6744e38c95192d0012ba05a8","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Acid Resistance","cp":"6744e38c95192d0012ba05a8","damage":"Acid","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Cold Resistance","blueprint":{"nm":"Studded Leather Armor of Cold Resistance","item":{"tp":"Item","cp":"6744e38d95192d0012ba05f5","dn":"You have Resistance to Cold damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Cold Resistance Attunement","cp":"6744e38d95192d0012ba05f5","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Cold Resistance Base Armor Class","cp":"6744e38d95192d0012ba05f5","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Cold Resistance","cp":"6744e38d95192d0012ba05f5","damage":"Cold","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Fire Resistance","blueprint":{"nm":"Studded Leather Armor of Fire Resistance","item":{"tp":"Item","cp":"6744e38f95192d0012ba0662","dn":"You have Resistance to Fire damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Fire Resistance Attunement","cp":"6744e38f95192d0012ba0662","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Fire Resistance Base Armor Class","cp":"6744e38f95192d0012ba0662","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Fire Resistance","cp":"6744e38f95192d0012ba0662","damage":"Fire","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Force Resistance","blueprint":{"nm":"Studded Leather Armor of Force Resistance","item":{"tp":"Item","cp":"6744e4b195192d0012ba51de","dn":"You have Resistance to Force damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Force Resistance Attunement","cp":"6744e4b195192d0012ba51de","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Force Resistance Base Armor Class","cp":"6744e4b195192d0012ba51de","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Force Resistance","cp":"6744e4b195192d0012ba51de","damage":"Force","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Lightning Resistance","blueprint":{"nm":"Studded Leather Armor of Lightning Resistance","item":{"tp":"Item","cp":"6744e2dc95192d0012b9dcc7","dn":"You have Resistance to Lightning damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Lightning Resistance Attunement","cp":"6744e2dc95192d0012b9dcc7","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Lightning Resistance Base Armor Class","cp":"6744e2dc95192d0012b9dcc7","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Lightning Resistance","cp":"6744e2dc95192d0012b9dcc7","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Necrotic Resistance","blueprint":{"nm":"Studded Leather Armor of Necrotic Resistance","item":{"tp":"Item","cp":"6744e38495192d0012ba0358","dn":"You have Resistance to Necrotic damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Necrotic Resistance Attunement","cp":"6744e38495192d0012ba0358","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Necrotic Resistance Base Armor Class","cp":"6744e38495192d0012ba0358","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Necrotic Resistance","cp":"6744e38495192d0012ba0358","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Poison Resistance","blueprint":{"nm":"Studded Leather Armor of Poison Resistance","item":{"tp":"Item","cp":"6744e39295192d0012ba075a","dn":"You have Resistance to Poison damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Poison Resistance Attunement","cp":"6744e39295192d0012ba075a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Poison Resistance Base Armor Class","cp":"6744e39295192d0012ba075a","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Poison Resistance","cp":"6744e39295192d0012ba075a","damage":"Poison","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Psychic Resistance","blueprint":{"nm":"Studded Leather Armor of Psychic Resistance","item":{"tp":"Item","cp":"6744e49395192d0012ba49b8","dn":"You have Resistance to Psychic damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Psychic Resistance Attunement","cp":"6744e49395192d0012ba49b8","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Psychic Resistance Base Armor Class","cp":"6744e49395192d0012ba49b8","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Psychic Resistance","cp":"6744e49395192d0012ba49b8","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Radiant Resistance","blueprint":{"nm":"Studded Leather Armor of Radiant Resistance","item":{"tp":"Item","cp":"6744e2f495192d0012b9e32d","dn":"You have Resistance to Radiant damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Radiant Resistance Attunement","cp":"6744e2f495192d0012b9e32d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Radiant Resistance Base Armor Class","cp":"6744e2f495192d0012b9e32d","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Radiant Resistance","cp":"6744e2f495192d0012b9e32d","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Thunder Resistance","blueprint":{"nm":"Studded Leather Armor of Thunder Resistance","item":{"tp":"Item","cp":"6744e2f595192d0012b9e39a","dn":"You have Resistance to Thunder damage while you wear this armor","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Thunder Resistance Attunement","cp":"6744e2f595192d0012b9e39a","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Thunder Resistance Base Armor Class","cp":"6744e2f595192d0012b9e39a","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor Thunder Resistance","cp":"6744e2f595192d0012b9e39a","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Studded Leather Armor of Vulnerability (Bludgeoning)","blueprint":{"nm":"Studded Leather Armor of Vulnerability (Bludgeoning)","item":{"tp":"Item","cp":"6744e49295192d0012ba499d","dn":"While wearing this armor, you have resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Vulnerability (Bludgeoning) Attunement","cp":"6744e49295192d0012ba499d","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Vulnerability (Bludgeoning) Base Armor Class","cp":"6744e49295192d0012ba499d","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Studded Leather Armor of Vulnerability (Bludgeoning) Cursed Condition","cp":"6744e49295192d0012ba499d","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Piercing and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor of Vulnerability (Bludgeoning) Bludgeoning Resistance","cp":"6744e49295192d0012ba499d","damage":"Bludgeoning","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Studded Leather Armor of Vulnerability (Bludgeoning) Piercing Vulnerability","cp":"6744e49295192d0012ba499d","damage":"Piercing","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Studded Leather Armor of Vulnerability (Bludgeoning) Slashing Vulnerability","cp":"6744e49295192d0012ba499d","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Studded Leather Armor of Vulnerability (Piercing)","blueprint":{"nm":"Studded Leather Armor of Vulnerability (Piercing)","item":{"tp":"Item","cp":"6744e49495192d0012ba49ee","dn":"While wearing this armor, you have resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Vulnerability (Piercing) Attunement","cp":"6744e49495192d0012ba49ee","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Vulnerability (Piercing) Base Armor Class","cp":"6744e49495192d0012ba49ee","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Studded Leather Armor of Vulnerability (Piercing) Cursed Condition","cp":"6744e49495192d0012ba49ee","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor of Vulnerability (Piercing) Piercing Resistance","cp":"6744e49495192d0012ba49ee","damage":"Piercing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Studded Leather Armor of Vulnerability (Piercing) Bludgeoning Vulnerability","cp":"6744e49495192d0012ba49ee","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Studded Leather Armor of Vulnerability (Piercing) Slashing Vulnerability","cp":"6744e49495192d0012ba49ee","damage":"Slashing","defense":"Vulnerability"}]}},{"nm":"Studded Leather Armor of Vulnerability (Slashing)","blueprint":{"nm":"Studded Leather Armor of Vulnerability (Slashing)","item":{"tp":"Item","cp":"6744e2f695192d0012b9e3b5","dn":"While wearing this armor, you have resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","wt":13,"eD":{"ee":true},"aD":{"ay":"Dexterity","cy":"Light","tp":"Studded Leather Armor"}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":3},"ch":[{"id":"c1","tp":"Am","nm":"Studded Leather Armor of Vulnerability (Slashing) Attunement","cp":"6744e2f695192d0012b9e3b5","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Studded Leather Armor of Vulnerability (Slashing) Base Armor Class","cp":"6744e2f695192d0012b9e3b5","cl":"Set Base","dA":false,"vl":{"fa":12}},{"id":"c3","tp":"Condition","nm":"Armor of Vulnerability Curse","rd":"Studded Leather Armor of Vulnerability (Slashing) Cursed Condition","cp":"6744e2f695192d0012b9e3b5","dn":"This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Studded Leather Armor of Vulnerability (Slashing) Slashing Resistance","cp":"6744e2f695192d0012b9e3b5","damage":"Slashing","defense":"Resistance"},{"id":"c3-c1","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Studded Leather Armor of Vulnerability (Slashing) Bludgeoning Vulnerability","cp":"6744e2f695192d0012b9e3b5","damage":"Bludgeoning","defense":"Vulnerability"},{"id":"c3-c2","tp":"Defense","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Studded Leather Armor of Vulnerability (Slashing) Piercing Vulnerability","cp":"6744e2f695192d0012b9e3b5","damage":"Piercing","defense":"Vulnerability"}]}},{"nm":"White Dragon Scale Mail","blueprint":{"nm":"White Dragon Scale Mail","item":{"tp":"Item","cp":"68152a13a193700012c13b2c","dn":"Dragon Scale Mail is made of the scales of one kind of dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Dragon Scale Mail is highly valued.\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Cold damage. Additionally, you can focus your senses as a Magic action to discern the distance and direction to the closest White dragon within 30 miles of yourself.This action cannot be used again until the next dawn.","wt":45,"ps":["Stealth Disadvantage"],"eD":{"ee":true},"aD":{"ay":"Dexterity","bonusCap":2,"cy":"Medium","tp":"Scale Mail"}},"cS":{"Am":1,"AC":2,"Defense":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"White Dragon Scale Mail Attunement","cp":"68152a13a193700012c13b2c","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"White Dragon Scale Mail Base Armor Class","cp":"68152a13a193700012c13b2c","cl":"Set Base","dA":false,"vl":{"fa":14}},{"id":"c3","tp":"AC","nm":"White Dragon Scale Mail Magic AC Bonus","cp":"68152a13a193700012c13b2c","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"White Dragon Scale Mail Cold Resistance","cp":"68152a13a193700012c13b2c","damage":"Cold","defense":"Resistance"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"White Dragon Scale Mail Advantage on Saves VS Dragon Breath Weapons","cp":"68152a13a193700012c13b2c","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate White Dragon","rd":"Locate White Dragon Resource","cp":"68152a13a193700012c13b2c","vl":1},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Locate White Dragon","rd":"Locate White Dragon Action","cp":"68152a13a193700012c13b2c","dn":"You can focus your senses as a Magic action to discern the distance and direction to the closest White Dragon within 30 miles of yourself."}]}},{"nm":"Animated Shield","blueprint":{"nm":"Animated Shield","item":{"tp":"Item","cp":"6744e42095192d0012ba2b78","dn":"While holding this Shield, you can take a Bonus Action to cause it to animate. The Shield leaps into the air and hovers in your space to protect you as if you were wielding it, leaving your hands free. The Shield remains animate for 1 minute, until you take a Bonus Action to end this effect, or until you die or have the Incapacitated condition, at which point the Shield falls to the ground or into your hand if you have one free.","wt":6,"eD":{"ee":true}},"cS":{"Am":1,"AC":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Animated Shield Attunement","cp":"6744e42095192d0012ba2b78","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Animated Shield AC","cp":"6744e42095192d0012ba2b78","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c3","tp":"Action","nm":"Start or Stop Animating Shield","rd":"Animated Shield Bonus Action","cp":"6744e42095192d0012ba2b78","dn":"While holding this Shield, you can take a Bonus Action to cause it to animate. The Shield remains animate for 1 minute, until you take a Bonus Action to end this effect, or until you die or have the Incapacitated condition, at which point the Shield falls to the ground or into your hand if you have one free."}]}},{"nm":"Arrow-Catching Shield","blueprint":{"nm":"Arrow-Catching Shield","item":{"tp":"Item","cp":"6744e40495192d0012ba2411","dn":"You gain a +2 bonus to Armor Class against ranged attack rolls while you wield this Shield. This bonus is in addition to the Shield's normal bonus to AC.\nWhenever an attacker makes a ranged attack roll against a target within 5 feet of you, you can take a Reaction to become the target of the attack instead.","wt":6,"eD":{"ee":true}},"cS":{"Am":1,"AC":1,"Defense":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Arrow-Catching Shield Attunement","cp":"6744e40495192d0012ba2411","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Arrow-Catching Shield AC","cp":"6744e40495192d0012ba2411","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Arrow-Catching Shield Ranged AC Bonus","cp":"6744e40495192d0012ba2411","defense":"Resistance","details":"Arrow-Catching Shield - AC +2 vs. ranged attacks"},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate Arrow-Catching Shield","rd":"Arrow-Catching Shield Reaction","cp":"6744e40495192d0012ba2411","dn":"Whenever an attacker makes a ranged attack roll against a target within 5 feet of you, you can take a Reaction to become the target of the attack instead."}]}},{"nm":"Brooch of Shielding","blueprint":{"nm":"Brooch of Shielding","item":{"tp":"Item","cp":"6744e3d395192d0012ba1706","dn":"While wearing this brooch, you have Resistance to Force damage, and you have Immunity to damage from the Magic Missile spell.","eD":{"ee":true}},"cS":{"Am":1,"Defense":2},"ch":[{"id":"c1","tp":"Am","nm":"Brooch of Shielding Attunement","cp":"6744e3d395192d0012ba1706","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Brooch of Shielding Force Resistance","cp":"6744e3d395192d0012ba1706","damage":"Force","defense":"Resistance"},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Brooch of Shielding Magic Missile Immunity","cp":"6744e3d395192d0012ba1706","defense":"Immunity","details":"Brooch of Shielding - You have immunity to damage from the Magic Missile spell."}]}},{"nm":"Ring of Mind Shielding","blueprint":{"nm":"Ring of Mind Shielding","item":{"tp":"Item","cp":"68140c20614c8000122d5cbd","dn":"While wearing this ring, you are immune to magic that allows other creatures to read your thoughts, determine whether you are lying, know your alignment, or know your creature type. Creatures can telepathically communicate with you only if you allow it.\nYou can take a Magic action to cause the ring to become imperceptible until you take another Magic action to make it perceptible, until you remove the ring, or until you die.\nIf you die while wearing the ring, your soul enters it, unless it already houses a soul. You can remain in the ring or depart for the afterlife. As long as your soul is in the ring, you can telepathically communicate with any creature wearing it. A wearer can't prevent this telepathic communication.","eD":{"ee":true}},"cS":{"Am":1,"Action":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Mind Shielding Attunement","cp":"68140c20614c8000122d5cbd","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hide or Reveal Ring","rd":"Ring of Mind Shielding Action","cp":"68140c20614c8000122d5cbd","dn":"You can take a Magic action to cause the ring to become imperceptible until you take another Magic action to make it perceptible, until you remove the ring, or until you die."},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Mind Shielding Immunity","cp":"68140c20614c8000122d5cbd","condition":"Mind Reading","defense":"Immunity"}]}},{"nm":"Sentinel Shield","blueprint":{"nm":"Sentinel Shield","item":{"tp":"Item","cp":"6744e3fe95192d0012ba2256","dn":"While holding this Shield, you have Advantage on Initiative rolls and Wisdom (Perception) checks. The Shield is emblazoned with a symbol of an eye.","wt":6,"eD":{"ee":true}},"cS":{"AC":1,"RB":2},"ch":[{"id":"c1","tp":"AC","nm":"Sentinel Shield AC","cp":"6744e3fe95192d0012ba2256","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2","tp":"RB","nm":"Sentinel Shield Perception","cp":"6744e3fe95192d0012ba2256","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Perception\"]","bV":1,"dC":2,"tR":false},{"id":"c3","tp":"RB","nm":"Sentinel Shield Initiative","cp":"6744e3fe95192d0012ba2256","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Shield","blueprint":{"nm":"Shield","item":{"tp":"Item","cp":"67a659aadb873a00127f9627","dn":"Armor Class: +2\nWeight: 6","wt":6,"eD":{"ee":true}},"cS":{"AC":1,"Action":1},"ch":[{"id":"c1","tp":"AC","nm":"Shield AC","cp":"67a659aadb873a00127f9627","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2","tp":"Action","nm":"Don / Doff Shield","rd":"Shield Don Doff Action","cp":"67a659aadb873a00127f9627","dn":"You can don or doff your shield as a Utilize Action."}]}},{"nm":"Shield +1","blueprint":{"nm":"Shield +1","item":{"tp":"Item","cp":"6744e48e95192d0012ba4855","dn":"While holding this Shield, you have a bonus to Armor Class determined by the Shield's rarity, in addition to the Shield's normal bonus to AC.","wt":6,"eD":{"ee":true}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Shield +1 AC","cp":"6744e48e95192d0012ba4855","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2","tp":"AC","nm":"Shield +1 Magical AC Bonus","cp":"6744e48e95192d0012ba4855","cl":"Modify","dA":false,"vl":{"fa":1}}]}},{"nm":"Shield +2","blueprint":{"nm":"Shield +2","item":{"tp":"Item","cp":"6744e4ab95192d0012ba505d","dn":"While holding this Shield, you have a bonus to Armor Class determined by the Shield's rarity, in addition to the Shield's normal bonus to AC.","wt":6,"eD":{"ee":true}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Shield +2 AC","cp":"6744e4ab95192d0012ba505d","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2","tp":"AC","nm":"Shield +2 Magical AC Bonus","cp":"6744e4ab95192d0012ba505d","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Shield +3","blueprint":{"nm":"Shield +3","item":{"tp":"Item","cp":"6744e2cb95192d0012b9d831","dn":"While holding this Shield, you have a bonus to Armor Class determined by the Shield's rarity, in addition to the Shield's normal bonus to AC.","wt":6,"eD":{"ee":true}},"cS":{"AC":2},"ch":[{"id":"c1","tp":"AC","nm":"Shield +3 AC","cp":"6744e2cb95192d0012b9d831","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2","tp":"AC","nm":"Shield +3 Magical AC Bonus","cp":"6744e2cb95192d0012b9d831","cl":"Modify","dA":false,"vl":{"fa":3}}]}},{"nm":"Shield of Expression","blueprint":{"nm":"Shield of Expression","item":{"tp":"Item","cp":"6744e48d95192d0012ba481a","dn":"The front of this Shield is shaped in the likeness of a face. While bearing the Shield, you can take a Bonus Action to alter the face's expression.","wt":6,"eD":{"ee":true}},"cS":{"AC":1,"Action":1},"ch":[{"id":"c1","tp":"AC","nm":"Shield of Expression AC","cp":"6744e48d95192d0012ba481a","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2","tp":"Action","nm":"Shield of Expression","rd":"Shield of Expression Bonus Action","cp":"6744e48d95192d0012ba481a","dn":"The front of this Shield is shaped in the likeness of a face. While bearing the Shield, you can take a Bonus Action to alter the face's expression."}]}},{"nm":"Shield of Missile Attraction","blueprint":{"nm":"Shield of Missile Attraction","item":{"tp":"Item","cp":"68140e26614c8000122d666f","dn":"While holding this Shield, you have Resistance to damage from attacks made with Ranged weapons.\nCurse. This Shield is cursed. Attuning to it curses you until you are targeted by a Remove Curse spell or similar magic. Removing the Shield fails to end the curse on you. Whenever an attack with a Ranged weapon targets a creature within 10 feet of you, the curse causes you to become the target instead.","wt":6,"eD":{"ee":true}},"cS":{"Am":1,"AC":1,"Condition":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Shield of Missile Attraction Attunement","cp":"68140e26614c8000122d666f","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Shield of Missile Attraction AC","cp":"68140e26614c8000122d666f","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c3","tp":"Condition","nm":"Shield of Missile Attraction Curse","cp":"68140e26614c8000122d666f","dn":"This Shield is cursed. Attuning to it curses you until you are targeted by a Remove Curse spell or similar magic. Removing the Shield fails to end the curse on you. Whenever an attack with a Ranged weapon targets a creature within 10 feet of you, the curse causes you to become the target instead."},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shield of Missile Attraction Resistance","cp":"68140e26614c8000122d666f","damage":"Ranged Weapon","defense":"Resistance","details":"While holding this Shield, you have Resistance to damage from attacks made with Ranged weapons."}]}},{"nm":"Shield of the Cavalier","blueprint":{"nm":"Shield of the Cavalier","item":{"tp":"Item","cp":"6744e48d95192d0012ba4835","dn":"While holding this Shield, you have a +2 bonus to Armor Class. This bonus is in addition to the Shield's normal bonus to AC.\n\nThe Shield has the following additional properties that you can use while holding it.\n\nForceful Bash. When you take the Attack action, you can make one of the attack rolls using the Shield against a target within 5 feet of yourself. Apply your Proficiency Bonus and Strength modifier to the attack roll. On a hit, the Shield deals Force damage to the target equal to 2d6 + 2 plus your Strength modifier, and if the target is a creature, you can push it up to 10 feet directly away from yourself. If the creature is your size or smaller, you can also knock it down, giving it the Prone condition.\n\nProtective Field. As a Reaction, when you or an ally you can see within 5 feet of you is targeted by an attack or makes a saving throw against an area of effect, you can use the Shield to create an immobile 5-foot Emanation originating from you. When the Emanation appears, any creatures or objects not fully contained within it are pushed into the nearest unoccupied spaces outside it. The attack or area of effect that triggered the Reaction has no effect on creatures and objects inside the Emanation, which lasts as long as you maintain Concentration, up to 1 minute. Nothing can pass into or out of the Emanation. A creature or object inside the Emanation can't be damaged by attacks or effects originating from outside, nor can a creature inside the Emanation damage anything outside it. Once this property is used, it can't be used again until the next dawn.","wt":6,"eD":{"ee":true}},"cS":{"Am":1,"AC":2,"Ak":1,"Action":1,"Resource":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Shield of the Cavalier Attunement","cp":"6744e48d95192d0012ba4835","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Shield of the Cavalier AC","cp":"6744e48d95192d0012ba4835","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shield of the Cavalier AC Bonus","cp":"6744e48d95192d0012ba4835","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Forceful Bash","rd":"Shield of the Cavalier Forceful Bash","cp":"6744e48d95192d0012ba4835","aT":"Action","dn":"When you take the Attack action, you can make one of the attack rolls using the Shield against a target within 5 feet of yourself. Apply your Proficiency Bonus and Strength modifier to the attack roll. On a hit, the Shield deals Force damage to the target equal to 2d6 + 2 plus your Strength modifier, and if the target is a creature, you can push it up to 10 feet directly away from yourself. If the creature is your size or smaller, you can also knock it down, giving it the Prone condition.","ak":{"aB":"Strength","proficiencyLevel":"Proficient","tp":"Melee"},"onHit":"On a hit, the Shield deals Force damage to the target equal to 2d6 + 2 plus your Strength modifier, and if the target is a creature, you can push it up to 10 feet directly away from yourself. If the creature is your size or smaller, you can also knock it down, giving it the Prone condition."},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Protective Field","rd":"Shield of the Cavalier Protective Field","cp":"6744e48d95192d0012ba4835","dn":"As a Reaction, when you or an ally you can see within 5 feet of you is targeted by an attack or makes a saving throw against an area of effect, you can use the Shield to create an immobile 5-foot Emanation originating from you. When the Emanation appears, any creatures or objects not fully contained within it are pushed into the nearest unoccupied spaces outside it. The attack or area of effect that triggered the Reaction has no effect on creatures and objects inside the Emanation, which lasts as long as you maintain Concentration, up to 1 minute. Nothing can pass into or out of the Emanation. A creature or object inside the Emanation can't be damaged by attacks or effects originating from outside, nor can a creature inside the Emanation damage anything outside it. Once this property is used, it can't be used again until the next dawn."},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Protective Field","rd":"Shield of the Cavalier Protective Field Resource","cp":"6744e48d95192d0012ba4835","vl":1},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shield of the Cavalier Forceful Bash Damage","cp":"6744e48d95192d0012ba4835","ay":"Strength","dT":"Force","die":"d6","bo":2,"ct":2,"oC":false}]}},{"nm":"Spellguard Shield","blueprint":{"nm":"Spellguard Shield","item":{"tp":"Item","cp":"6744e4b095192d0012ba51bd","dn":"While holding this Shield, you have Advantage on saving throws against spells and other magical effects, and spell attack rolls have Disadvantage against you.","wt":6,"eD":{"ee":true}},"cS":{"Am":1,"AC":1,"RB":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Spellguard Shield Attunement","cp":"6744e4b095192d0012ba51bd","an":false,"rE":true},{"id":"c2","tp":"AC","nm":"Spellguard Shield AC","cp":"6744e4b095192d0012ba51bd","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Spellguard Shield Advantage","cp":"6744e4b095192d0012ba51bd","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Spellguard Shield Disadvantage","cp":"6744e4b095192d0012ba51bd","damage":"Spell Attacks","defense":"Resistance","details":"While holding the Spellguard Shield, spell attack rolls have Disadvantage against you."}]}},{"nm":"Potion of Acid Resistance","blueprint":{"nm":"Potion of Acid Resistance","item":{"tp":"Item","cp":"6744e47a95192d0012ba4339","dn":"When you drink this potion, you have Resistance to Acid damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Acid Resistance","rd":"Potion of Acid Resistance Effect","cp":"6744e47a95192d0012ba4339","cy":"[]","dn":"When you drink this potion, you gain Acid Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Acid Resistance Defense","cp":"6744e47a95192d0012ba4339","damage":"Acid","defense":"Resistance"}]}},{"nm":"Potion of Animal Friendship","blueprint":{"nm":"Potion of Animal Friendship","item":{"tp":"Item","cp":"6744e46495192d0012ba3d76","dn":"When you drink this potion, you can cast the level 3 version of the Animal Friendship spell (save DC 13).\nAgitating this potion's muddy liquid brings little bits into view: a fish scale, a hummingbird feather, a cat claw, or a squirrel hair."},"cS":{"Action":1,"Spell":1,"Ak":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Animal Friendship","cp":"6744e46495192d0012ba3d76","dn":"When you drink this potion, you can cast the level 3 version of the Animal Friendship spell (save DC 13)."},{"id":"c2","tp":"Spell","nm":"Animal Friendship","cp":"66e08ffadc69af0030fa675a","dn":"Target a Beast that you can see within range. The target must succeed on a Wisdom saving throw or have the Charmed condition for the duration. If you or one of your allies deals damage to the target, the spells ends."},{"id":"c2-c1","tp":"Ak","pt":"c2","nm":"Animal Friendship","rd":"Animal Friendship Attack","cp":"66e08ffadc69af0030fa675a","aT":"Action","rg":"30 feet","dn":"Target a Beast that you can see within range. The target must succeed on a Wisdom saving throw or have the Charmed condition for the duration. If you or one of your allies deals damage to the target, the spells ends.","ak":{"tp":"Spell Save"},"save":{"onFail":"The creature has the Charmed condition for the duration. ","saveAbility":"Wisdom"}}]}},{"nm":"Potion of Clairvoyance","blueprint":{"nm":"Potion of Clairvoyance","item":{"tp":"Item","cp":"6744e2e795192d0012b9dfc4","dn":"When you drink this potion, you gain the effect of the Clairvoyance spell (no Concentration required).\nAn eyeball bobs in this potion's yellowish liquid but vanishes when the potion is opened."},"cS":{"Action":2,"Spell":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Clairvoyance","cp":"6744e2e795192d0012b9dfc4","dn":"When you drink this potion, you gain the effect of the Clairvoyance spell (no Concentration required)."},{"id":"c2","tp":"Spell","nm":"Clairvoyance","cp":"66e09002dc69af0030fa6925","dn":"You create an Invisible sensor within range in a location familiar to you (a place you have visited or seen before) or in an obvious location that is unfamiliar to you (such as behind a door, around a corner, or in a grove of trees). The intangible, invulnerable sensor remains in place for the duration.\nWhen you cast the spell, choose seeing or hearing. You can use the chosen sense through the sensor as if you were in its space. As a Bonus Action, you can switch between seeing and hearing.\nA creature that sees the sensor (such as a creature benefiting from See Invisibility or Truesight) sees a luminous orb about the size of your fist."},{"id":"c2-c1","tp":"Action","pt":"c2","nm":"Change Sense (Clairvoyance Spell)","rd":"Clairvoyance Bonus Action","cp":"66e09002dc69af0030fa6925","dn":"You can switch between seeing and hearing through the Invisible sensor."}]}},{"nm":"Potion of Climbing","blueprint":{"nm":"Potion of Climbing","item":{"tp":"Item","cp":"6744e2ed95192d0012b9e17c","dn":"When you drink this potion, you gain a Climb Speed equal to your Speed for 1 hour. During this time, you have Advantage on Strength (Athletics) checks to climb.\nThis potion is separated into brown, silver, and gray layers resembling bands of stone. Shaking the bottle fails to mix the colors."},"cS":{"Action":1,"Effect":1,"sp":2,"RB":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Climbing","cp":"6744e2ed95192d0012b9e17c","dn":"When you drink this potion, you gain a Climb Speed equal to your Speed for 1 hour. During this time, you have Advantage on Strength (Athletics) checks to climb."},{"id":"c2","tp":"Effect","nm":"Potion of Climbing","rd":"Potion of Climbing Effect","cp":"6744e2ed95192d0012b9e17c","cy":"[]","dn":"When you drink this potion, you gain a Climb Speed equal to your Speed for 1 hour. During this time, you have Advantage on Strength (Athletics) checks to climb.","active":false},{"id":"c2-c1","tp":"sp","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Potion of Climbing Climb Speed 30","cp":"6744e2ed95192d0012b9e17c","cl":"Set Value","se":"Climb","vl":{"fa":30}},{"id":"c2-c2","tp":"sp","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Potion of Climbing Climb Speed","cp":"6744e2ed95192d0012b9e17c","cl":"Set Base","se":"Climb"},{"id":"c2-c3","tp":"RB","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Potion of Climbing ADV on Athletics","cp":"6744e2ed95192d0012b9e17c","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Athletics\"]","bV":1,"dC":2,"tR":false}]}},{"nm":"Potion of Cloud Giant Strength","blueprint":{"nm":"Potion of Cloud Giant Strength","item":{"tp":"Item","cp":"6744e2e795192d0012b9dfdf","dn":"When you drink this potion, your Strength score changes to 27 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 27.\nThis potion's transparent liquid has floating in it a sliver of light resembling a giant's fingernail."},"cS":{"Effect":1,"AS":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Cloud Giant Strength","rd":"Potion of Cloud Giant Strength Effect","cp":"6744e2e795192d0012b9dfdf","cy":"[]","dn":"When you drink this potion, your strength score changes to 27 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 27.","active":false},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Cloud Giant Strength Strength Modifier","cp":"6744e2e795192d0012b9dfdf","ay":"Strength","cl":"Minimum","vl":{"fa":27}}]}},{"nm":"Potion of Cold Resistance","blueprint":{"nm":"Potion of Cold Resistance","item":{"tp":"Item","cp":"6744e45895192d0012ba3a24","dn":"When you drink this potion, you have Resistance to Cold damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Cold Resistance","rd":"Potion of Cold Resistance Effect","cp":"6744e45895192d0012ba3a24","cy":"[]","dn":"When you drink this potion, you gain Cold Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Cold Resistance Defense","cp":"6744e45895192d0012ba3a24","damage":"Cold","defense":"Resistance"}]}},{"nm":"Potion of Diminution","blueprint":{"nm":"Potion of Diminution","item":{"tp":"Item","cp":"6204552f4401f963c062b594","dn":"When you drink this potion, you gain the 'reduce' effect of the enlarge/reduce spell for 1d4 hours (no concentration required). The red in the potion's liquid continuously contracts to a tiny bead and then expands to color the clear liquid around it. Shaking the bottle fails to interrupt this process."},"cS":{"Action":2,"Spell":1,"Ak":1,"Condition":2,"RB":2,"Effect":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Diminution","cp":"6204552f4401f963c062b594","dn":"When you drink this potion, you gain the 'reduce' effect of the enlarge/reduce spell for 1d4 hours (no concentration required)."},{"id":"c2","tp":"Spell","nm":"Enlarge Reduce","cp":"620454d54401f963c06268d4","dn":"You cause a creature or an object you can see within range to grow larger or smaller for the duration. Choose either a creature or an object that is neither worn nor carried. If the target is unwilling, it can make a Constitution saving throw. On a success, the spell has no effect.\n\nIf the target is a creature, everything it is wearing and carrying changes size with it. Any item dropped by an affected creature returns to normal size at once.\n\nEnlarge. The target's size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category - from Medium to Large, for example. If there isn't enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength checks and Strength saving throws. The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage.\n\nReduce. The target's size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category - from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength checks and Strength saving throws. The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."},{"id":"c2-c1","tp":"Ak","pt":"c2","nm":"Enlarge Reduce Unwilling Creature","rd":"Enlarge Reduce Unwilling Creature Attack","cp":"620454d54401f963c06268d4","aT":"Action","rg":"30 ft","dn":"You attempt to cause a creature you can see within range to grow larger or smaller. If the target is unwilling, it can make a Constitution saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"The creature grows larger or smaller for the duration. Everything it is wearing and carrying changes size with it.","onSucceed":"No effect","saveAbility":"Constitution"}},{"id":"c2-c2","tp":"Condition","pt":"c2","nm":"Enlarged Spell","rd":"Enlarged Condition","cp":"620454d54401f963c06268d4","dn":"The target's size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category - from Medium to Large, for example. If there isn't enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength checks and Strength saving throws. The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage."},{"id":"c2-c3","tp":"Condition","pt":"c2","nm":"Reduced Spell","rd":"Reduced Condition","cp":"620454d54401f963c06268d4","dn":"The target's size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category - from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength checks and Strength saving throws. The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."},{"id":"c2-c2-c1","tp":"RB","pt":"c2-c2","cascades":[{"ref":"c2-c2","actions":["Activate"]}],"nm":"Enlarged ADV on Strength Checks and Saves","cp":"620454d54401f963c06268d4","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Keep Highest","bN":"[\"Strength\"]","bV":1,"dC":2,"tR":false},{"id":"c2-c2-c2","tp":"Effect","pt":"c2-c2","cascades":[{"ref":"c2-c2","actions":["Activate"]}],"nm":"Enlarged Weapon Bonus Damage","rd":"Enlarged Weapon Damage Effect","cp":"620454d54401f963c06268d4","cy":"[\"Damage\"]","dn":"The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage.","diceValue":"1d4","active":false},{"id":"c2-c3-c1","tp":"RB","pt":"c2-c3","cascades":[{"ref":"c2-c3","actions":["Activate"]}],"nm":"Reduced DISADV on Strength Checks and Saves","cp":"620454d54401f963c06268d4","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[\"Strength\"]","bV":1,"dC":2,"tR":false},{"id":"c2-c3-c2","tp":"Action","pt":"c2-c3","cascades":[{"ref":"c2-c3","actions":["Activate"]}],"nm":"Reduced Weapon Damage","rd":"Reduced Weapon Damage Free Action","cp":"620454d54401f963c06268d4","dn":"The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."},{"id":"c2-c3-c2-c1","tp":"Generic Roll","pt":"c2-c3-c2","cascades":[{"ref":"c2-c3","actions":["Activate"]}],"nm":"Reduced Weapon Damage Free Action Generic Roll","cp":"620454d54401f963c06268d4"}]}},{"nm":"Potion of Fire Giant Strength","blueprint":{"nm":"Potion of Fire Giant Strength","item":{"tp":"Item","cp":"6744e2ee95192d0012b9e1b2","dn":"When you drink this potion, your Strength score changes to 25 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 25.\nThis potion's transparent liquid has floating in it a sliver of light resembling a giant's fingernail."},"cS":{"Effect":1,"AS":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Fire Giant Strength","rd":"Potion of Fire Giant Strength Effect","cp":"6744e2ee95192d0012b9e1b2","cy":"[]","dn":"When you drink this potion, your strength score changes to 25 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 25.","active":false},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Fire Giant Strength Strength Modifier","cp":"6744e2ee95192d0012b9e1b2","ay":"Strength","cl":"Minimum","vl":{"fa":25}}]}},{"nm":"Potion of Fire Resistance","blueprint":{"nm":"Potion of Fire Resistance","item":{"tp":"Item","cp":"6744e47995192d0012ba42dc","dn":"When you drink this potion, you have Resistance to Fire damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Fire Resistance","rd":"Potion of Fire Resistance Effect","cp":"6744e47995192d0012ba42dc","cy":"[]","dn":"When you drink this potion, you gain Fire Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Fire Resistance Defense","cp":"6744e47995192d0012ba42dc","damage":"Fire","defense":"Resistance"}]}},{"nm":"Potion of Flying","blueprint":{"nm":"Potion of Flying","item":{"tp":"Item","cp":"6744e2e695192d0012b9df84","dn":"When you drink this potion, you gain a Fly Speed equal to your Speed for 1 hour and can hover. If you're in the air when the potion wears off, you fall unless you have some other means of staying aloft.\nThis potion's clear liquid floats at the top of its container and has cloudy white impurities drifting in it."},"cS":{"Action":1,"Effect":1,"sp":2},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Flying","cp":"6744e2e695192d0012b9df84","dn":"When you drink this potion, you gain a Fly Speed equal to your Speed for 1 hour and can hover. If you're in the air when the potion wears off, you fall unless you have some other means of staying aloft."},{"id":"c2","tp":"Effect","nm":"Potion of Flying","rd":"Potion of Flying Effect","cp":"6744e2e695192d0012b9df84","cy":"[]","dn":"When you drink this potion, you gain a Fly Speed equal to your Speed for 1 hour and can hover.","active":false},{"id":"c2-c1","tp":"sp","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Potion of Flying Fly Speed 30","cp":"6744e2e695192d0012b9df84","cl":"Set Value","se":"Fly","vl":{"fa":30}},{"id":"c2-c2","tp":"sp","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Potion of Flying Fly Speed","cp":"6744e2e695192d0012b9df84","cl":"Set Base","se":"Fly"}]}},{"nm":"Potion of Force Resistance","blueprint":{"nm":"Potion of Force Resistance","item":{"tp":"Item","cp":"6744e47195192d0012ba40ab","dn":"When you drink this potion, you have Resistance to Force damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Force Resistance","rd":"Potion of Force Resistance Effect","cp":"6744e47195192d0012ba40ab","cy":"[]","dn":"When you drink this potion, you gain Force Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Force Resistance Defense","cp":"6744e47195192d0012ba40ab","damage":"Force","defense":"Resistance"}]}},{"nm":"Potion of Frost Giant Strength","blueprint":{"nm":"Potion of Frost Giant Strength","item":{"tp":"Item","cp":"6744e46a95192d0012ba3ed7","dn":"When you drink this potion, your Strength score changes to 23 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 23.\nThis potion's transparent liquid has floating in it a sliver of light resembling a giant's fingernail."},"cS":{"Effect":1,"AS":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Frost Giant Strength","rd":"Potion of Frost Giant Strength Effect","cp":"6744e46a95192d0012ba3ed7","cy":"[]","dn":"When you drink this potion, your strength score changes to 23 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 23.","active":false},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Frost Giant Strength Strength Modifier","cp":"6744e46a95192d0012ba3ed7","ay":"Strength","cl":"Minimum","vl":{"fa":23}}]}},{"nm":"Potion of Gaseous Form","blueprint":{"nm":"Potion of Gaseous Form","item":{"tp":"Item","cp":"6744e47195192d0012ba40c6","dn":"When you drink this potion, you gain the effect of the Gaseous Form spell for 1 hour (no Concentration required) or until you end the effect as a Bonus Action.\nThis potion's container seems to hold fog that moves and pours like water."},"cS":{"Action":2,"Spell":1,"Condition":1,"sp":1,"Defense":4,"RB":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Gaseous Form","cp":"6744e47195192d0012ba40c6","dn":"When you drink this potion, you gain the effect of the Gaseous Form spell for 1 hour (no Concentration required) or until you end the effect as a Bonus Action."},{"id":"c2","tp":"Spell","nm":"Gaseous Form","cp":"66e08fa8dc69af0030fa53c0","dn":"A willing creature you touch shape-shifts, along with everything it's wearing and carrying, into a misty cloud for the duration. The spell ends on the target if it drops to 0 Hit Points or if it takes a Magic action to end the spell on itself.\nWhile in this form, the target's only method of movement is a Fly Speed of 10 feet, and it can hover. The target can enter and occupy the space of another creature. The target has Resistance to Bludgeoning, Piercing, and Slashing damage; it has Immunity to the Prone condition; and it has Advantage on Strength, Dexterity, and Constitution saving throws. The target can pass through narrow openings, but it treats liquids as though they were solid surfaces.\nThe target can't talk or manipulate objects, and any objects it was carrying or holding can't be dropped, used, or otherwise interacted with. Finally, the target can't attack or cast spells."},{"id":"c2-c1","tp":"Condition","pt":"c2","nm":"Gaseous Form","rd":"Gaseous Form Condition","cp":"66e08fa8dc69af0030fa53c0","dn":"A willing creature you touch shape-shifts, along with everything it's wearing and carrying, into a misty cloud for the duration. The spell ends on the target if it drops to 0 Hit Points or if it takes a Magic action to end the spell on itself."},{"id":"c2-c1-c1","tp":"Action","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form End","rd":"Gaseous Form Action","cp":"66e08fa8dc69af0030fa53c0","dn":"You can take a Magic action to end the spell on yourself."},{"id":"c2-c1-c2","tp":"sp","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form Fly Speed","cp":"66e08fa8dc69af0030fa53c0","cl":"Set Base","se":"Fly","vl":{"fa":10}},{"id":"c2-c1-c3","tp":"Defense","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form Resistance Bludgeoning","cp":"66e08fa8dc69af0030fa53c0","damage":"Bludgeoning","defense":"Resistance"},{"id":"c2-c1-c4","tp":"Defense","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form Resistance Piercing","cp":"66e08fa8dc69af0030fa53c0","damage":"Piercing","defense":"Resistance"},{"id":"c2-c1-c5","tp":"Defense","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form Resistance Slashing","cp":"66e08fa8dc69af0030fa53c0","damage":"Slashing","defense":"Resistance"},{"id":"c2-c1-c6","tp":"Defense","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form Immune Prone","cp":"66e08fa8dc69af0030fa53c0","condition":"Prone","defense":"Immunity"},{"id":"c2-c1-c7","tp":"RB","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Gaseous Form Save Advantages","cp":"66e08fa8dc69af0030fa53c0","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[\"Strength\",\"Dexterity\",\"Constitution\"]","bV":1,"dC":2,"tR":false}]}},{"nm":"Potion of Greater Healing","blueprint":{"nm":"Potion of Greater Healing","item":{"tp":"Item","cp":"6744e47b95192d0012ba436f","dn":"You regain 4d4+4 Hit Points when you drink this potion.\nThe potion's red liquid glimmers when agitated."},"cS":{"Action":1,"Healing":1},"ch":[{"id":"c1","tp":"Action","nm":"Use Potion of Greater Healing","rd":"Potion of Greater Healing Use Bonus Action","cp":"6744e47b95192d0012ba436f","dn":"You regain 4d4+4 Hit Points when you drink this potion."},{"id":"c1-c1","tp":"Healing","pt":"c1","nm":"Potion of Greater Healing Die","cp":"6744e47b95192d0012ba436f"}]}},{"nm":"Potion of Growth","blueprint":{"nm":"Potion of Growth","item":{"tp":"Item","cp":"620455df4401f963c0634ccf","dn":"When you drink this potion, you gain the 'enlarge' effect of the enlarge/reduce spell for 1d4 hours (no concentration required). The red in the potion's liquid continuously expands from a tiny bead to color the clear liquid around it and then contracts. Shaking the bottle fails to interrupt this process."},"cS":{"Action":2,"Spell":1,"Ak":1,"Condition":2,"RB":2,"Effect":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Growth","cp":"620455df4401f963c0634ccf","dn":"When you drink this potion, you gain the 'enlarge' effect of the enlarge/reduce spell for 1d4 hours (no concentration required)."},{"id":"c2","tp":"Spell","nm":"Enlarge Reduce","cp":"620454d54401f963c06268d4","dn":"You cause a creature or an object you can see within range to grow larger or smaller for the duration. Choose either a creature or an object that is neither worn nor carried. If the target is unwilling, it can make a Constitution saving throw. On a success, the spell has no effect.\n\nIf the target is a creature, everything it is wearing and carrying changes size with it. Any item dropped by an affected creature returns to normal size at once.\n\nEnlarge. The target's size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category - from Medium to Large, for example. If there isn't enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength checks and Strength saving throws. The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage.\n\nReduce. The target's size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category - from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength checks and Strength saving throws. The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."},{"id":"c2-c1","tp":"Ak","pt":"c2","nm":"Enlarge Reduce Unwilling Creature","rd":"Enlarge Reduce Unwilling Creature Attack","cp":"620454d54401f963c06268d4","aT":"Action","rg":"30 ft","dn":"You attempt to cause a creature you can see within range to grow larger or smaller. If the target is unwilling, it can make a Constitution saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"The creature grows larger or smaller for the duration. Everything it is wearing and carrying changes size with it.","onSucceed":"No effect","saveAbility":"Constitution"}},{"id":"c2-c2","tp":"Condition","pt":"c2","nm":"Enlarged Spell","rd":"Enlarged Condition","cp":"620454d54401f963c06268d4","dn":"The target's size doubles in all dimensions, and its weight is multiplied by eight. This growth increases its size by one category - from Medium to Large, for example. If there isn't enough room for the target to double its size, the creature or object attains the maximum possible size in the space available. Until the spell ends, the target also has advantage on Strength checks and Strength saving throws. The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage."},{"id":"c2-c3","tp":"Condition","pt":"c2","nm":"Reduced Spell","rd":"Reduced Condition","cp":"620454d54401f963c06268d4","dn":"The target's size is halved in all dimensions, and its weight is reduced to one-eighth of normal. This reduction decreases its size by one category - from Medium to Small, for example. Until the spell ends, the target also has disadvantage on Strength checks and Strength saving throws. The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."},{"id":"c2-c2-c1","tp":"RB","pt":"c2-c2","cascades":[{"ref":"c2-c2","actions":["Activate"]}],"nm":"Enlarged ADV on Strength Checks and Saves","cp":"620454d54401f963c06268d4","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Keep Highest","bN":"[\"Strength\"]","bV":1,"dC":2,"tR":false},{"id":"c2-c2-c2","tp":"Effect","pt":"c2-c2","cascades":[{"ref":"c2-c2","actions":["Activate"]}],"nm":"Enlarged Weapon Bonus Damage","rd":"Enlarged Weapon Damage Effect","cp":"620454d54401f963c06268d4","cy":"[\"Damage\"]","dn":"The target's weapons also grow to match its new size. While these weapons are enlarged, the target's attacks with them deal 1d4 extra damage.","diceValue":"1d4","active":false},{"id":"c2-c3-c1","tp":"RB","pt":"c2-c3","cascades":[{"ref":"c2-c3","actions":["Activate"]}],"nm":"Reduced DISADV on Strength Checks and Saves","cp":"620454d54401f963c06268d4","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Keep Lowest","bN":"[\"Strength\"]","bV":1,"dC":2,"tR":false},{"id":"c2-c3-c2","tp":"Action","pt":"c2-c3","cascades":[{"ref":"c2-c3","actions":["Activate"]}],"nm":"Reduced Weapon Damage","rd":"Reduced Weapon Damage Free Action","cp":"620454d54401f963c06268d4","dn":"The target's weapons also shrink to match its new size. While these weapons are reduced, the target's attacks with them deal 1d4 less damage (this can't reduce the damage below 1)."},{"id":"c2-c3-c2-c1","tp":"Generic Roll","pt":"c2-c3-c2","cascades":[{"ref":"c2-c3","actions":["Activate"]}],"nm":"Reduced Weapon Damage Free Action Generic Roll","cp":"620454d54401f963c06268d4"}]}},{"nm":"Potion of Healing","blueprint":{"nm":"Potion of Healing","item":{"tp":"Item","cp":"6744e4eb95192d0012ba5df5","dn":"You regain 2d4+2 Hit Points when you drink this potion.\nThe potion's red liquid glimmers when agitated."},"cS":{"Action":1,"Healing":1},"ch":[{"id":"c1","tp":"Action","nm":"Use Potion of Healing","rd":"Potion of Healing Use Bonus Action","cp":"6744e4eb95192d0012ba5df5","dn":"You regain 2d4+2 Hit Points when you drink this potion."},{"id":"c1-c1","tp":"Healing","pt":"c1","nm":"Potion of Healing Die","cp":"6744e4eb95192d0012ba5df5"}]}},{"nm":"Potion of Heroism","blueprint":{"nm":"Potion of Heroism","item":{"tp":"Item","cp":"6744e33195192d0012b9f029","dn":"When you drink this potion, you gain 10 Temporary Hit Points that last for 1 hour. For the same duration, you are under the effect of the Bless spell (no Concentration required).\nThis potion's blue liquid bubbles and steams as if boiling."},"cS":{"Action":1,"Spell":1,"Effect":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Heroism","cp":"6744e33195192d0012b9f029","dn":"When you drink this potion, you gain 10 Temporary Hit Points that last for 1 hour. For the same duration, you are under the effect of the Bless spell (no Concentration required)."},{"id":"c2","tp":"Spell","nm":"Bless","cp":"66e09001dc69af0030fa68d4","dn":"You bless up to three creatures within range. Whenever a target makes an attack roll or a saving throw before the spell ends, the target adds 1d4 to the attack roll or save."},{"id":"c2-c1","tp":"Effect","pt":"c2","nm":"Bless","rd":"Bless Effect","cp":"66e09001dc69af0030fa68d4","cy":"[\"Attack\",\"Saving Throw\"]","dn":"Whenever a target makes an attack roll or a saving throw before the spell ends, the target adds 1d4 to the attack roll or save.","diceValue":"1d4","active":false}]}},{"nm":"Potion of Hill Giant Strength","blueprint":{"nm":"Potion of Hill Giant Strength","item":{"tp":"Item","cp":"6744e48195192d0012ba44f6","dn":"When you drink this potion, your Strength score changes to 21 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 21.\nThis potion's transparent liquid has floating in it a sliver of light resembling a giant's fingernail."},"cS":{"Effect":1,"AS":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Hill Giant Strength","rd":"Potion of Hill Giant Strength Effect","cp":"6744e48195192d0012ba44f6","cy":"[]","dn":"When you drink this potion, your strength score changes to 21 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 21.","active":false},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Hill Giant Strength Strength Modifier","cp":"6744e48195192d0012ba44f6","ay":"Strength","cl":"Minimum","vl":{"fa":21}}]}},{"nm":"Potion of Invisibility","blueprint":{"nm":"Potion of Invisibility","item":{"tp":"Item","cp":"68140a00d8a77f0013b62c15","dn":"This potion's container looks empty but feels as though it holds liquid. When you drink the potion, you have the Invisible condition for 1 hour. The effect ends early if you make an attack roll, deal damage, or cast a spell."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Invisibility","cp":"68140a00d8a77f0013b62c15","dn":"When you drink the potion, you have the Invisible condition for 1 hour. The effect ends early if you make an attack roll, deal damage, or cast a spell."}]}},{"nm":"Potion of Invulnerability","blueprint":{"nm":"Potion of Invulnerability","item":{"tp":"Item","cp":"6744e47895192d0012ba42a6","dn":"For 1 minute after you drink this potion, you have Resistance to all damage.\nThis potion's syrupy liquid looks like liquefied iron."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Invulnerability","cp":"6744e47895192d0012ba42a6","dn":"For 1 minute after you drink this potion, you have Resistance to all damage."}]}},{"nm":"Potion of Lightning Resistance","blueprint":{"nm":"Potion of Lightning Resistance","item":{"tp":"Item","cp":"6744e47c95192d0012ba43c8","dn":"When you drink this potion, you have Resistance to Lightning damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Lightning Resistance","rd":"Potion of Lightning Resistance Effect","cp":"6744e47c95192d0012ba43c8","cy":"[]","dn":"When you drink this potion, you gain Lightning Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Lightning Resistance Defense","cp":"6744e47c95192d0012ba43c8","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Potion of Longevity","blueprint":{"nm":"Potion of Longevity","item":{"tp":"Item","cp":"6744e48195192d0012ba4511","dn":"When you drink this potion, your physical age is reduced by 1d6 + 6 years, to a minimum of 13 years. Each time you subsequently drink a Potion of Longevity, there is 10 percent cumulative chance that you instead age by 1d6 + 6 years.\nSuspended in this amber liquid is a tiny heart that, against all reason, is still beating. These ingredients vanish when the potion is opened."},"cS":{"Action":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Longevity","cp":"6744e48195192d0012ba4511","dn":"When you drink this potion, your physical age is reduced by 1d6 + 6 years, to a minimum of 13 years. Each time you subsequently drink a Potion of Longevity, there is 10 percent cumulative chance that you instead age by 1d6 + 6 years."},{"id":"c1-c1","tp":"Generic Roll","pt":"c1","nm":"Potion of Longevity Generic Roll","cp":"6744e48195192d0012ba4511"}]}},{"nm":"Potion of Mind Reading","blueprint":{"nm":"Potion of Mind Reading","item":{"tp":"Item","cp":"6744e47d95192d0012ba43e3","dn":"When you drink this potion, you gain the effect of the Detect Thoughts spell (save DC 13) for 10 minutes (no Concentration required).\nThis potion's dense, purple liquid has an ovoid cloud of pink floating in it."},"cS":{"Action":4,"Spell":1,"Condition":1,"Ak":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Mind Reading","cp":"6744e47d95192d0012ba43e3","dn":"When you drink this potion, you gain the effect of the Detect Thoughts spell (save DC 13) for 10 minutes (no Concentration required)."},{"id":"c2","tp":"Spell","nm":"Detect Thoughts","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects below. Until the spell ends, you can activate either effect as a Magic action on your later turns.\nSense Thoughts. You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\nRead Thoughts. Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing.\nAs a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."},{"id":"c2-c1","tp":"Condition","pt":"c2","nm":"Detect Thoughts Spell","rd":"Detect Thoughts Condition","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects: Sense Thoughts, Read Thoughts. Until the spell ends, you can activate either effect as a Magic action on your later turns."},{"id":"c2-c2","tp":"Ak","pt":"c2","nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Attack","cp":"66e08f9ddc69af0030fa5138","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"You discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate).","onSucceed":"Spell ends.","saveAbility":"Wisdom"}},{"id":"c2-c1-c1","tp":"Action","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Sense Thoughts","rd":"Sense Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\n\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\n"},{"id":"c2-c1-c2","tp":"Action","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Read Thoughts","rd":"Read Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing."},{"id":"c2-c1-c3","tp":"Action","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Action","cp":"66e08f9ddc69af0030fa5138","dn":"As a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."}]}},{"nm":"Potion of Necrotic Resistance","blueprint":{"nm":"Potion of Necrotic Resistance","item":{"tp":"Item","cp":"6744e41495192d0012ba284a","dn":"When you drink this potion, you have Resistance to Necrotic damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Necrotic Resistance","rd":"Potion of Necrotic Resistance Effect","cp":"6744e41495192d0012ba284a","cy":"[]","dn":"When you drink this potion, you gain Necrotic Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Necrotic Resistance Defense","cp":"6744e41495192d0012ba284a","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Potion of Poison","blueprint":{"nm":"Potion of Poison","item":{"tp":"Item","cp":"673cf3d32cc11c001291c745","dn":"This concoction looks, smells, and tastes like a Potion of Healing or another beneficial potion. However, it is actually poison masked by illusion magic. Identify reveals its true nature.\nIf you drink this potion, you take 4d6 Poison damage and must succeed on a DC 13 Constitution saving throw or have the Poisoned condition for 1 hour."},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Drink Potion of Poison","cp":"673cf3d32cc11c001291c745","aT":"Bonus Action","dn":"If you drink this potion, you take 4d6 Poison damage and must succeed on a DC 13 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"poisoned for 1 hour","saveAbility":"Constitution","saveFlat":13}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Potion of Poison Damage","cp":"673cf3d32cc11c001291c745","ay":"none","dT":"Poison","die":"d6","ct":4,"oC":false}]}},{"nm":"Potion of Poison Resistance","blueprint":{"nm":"Potion of Poison Resistance","item":{"tp":"Item","cp":"6744e48295192d0012ba454c","dn":"When you drink this potion, you have Resistance to Poison damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Poison Resistance","rd":"Potion of Poison Resistance Effect","cp":"6744e48295192d0012ba454c","cy":"[]","dn":"When you drink this potion, you gain Poison Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Poison Resistance Defense","cp":"6744e48295192d0012ba454c","damage":"Poison","defense":"Resistance"}]}},{"nm":"Potion of Psychic Resistance","blueprint":{"nm":"Potion of Psychic Resistance","item":{"tp":"Item","cp":"6744e2c595192d0012b9d6a3","dn":"When you drink this potion, you have Resistance to Psychic damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Psychic Resistance","rd":"Potion of Psychic Resistance Effect","cp":"6744e2c595192d0012b9d6a3","cy":"[]","dn":"When you drink this potion, you gain Psychic Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Psychic Resistance Defense","cp":"6744e2c595192d0012b9d6a3","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Potion of Radiant Resistance","blueprint":{"nm":"Potion of Radiant Resistance","item":{"tp":"Item","cp":"6744e48095192d0012ba44bb","dn":"When you drink this potion, you have Resistance to Radiant damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Radiant Resistance","rd":"Potion of Radiant Resistance Effect","cp":"6744e48095192d0012ba44bb","cy":"[]","dn":"When you drink this potion, you gain Radiant Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Radiant Resistance Defense","cp":"6744e48095192d0012ba44bb","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Potion of Speed","blueprint":{"nm":"Potion of Speed","item":{"tp":"Item","cp":"6744e48395192d0012ba4567","dn":"When you drink this potion, you gain the effect of the Haste spell for 1 minute (no Concentration required) without suffering the wave of lethargy that typically occurs when the effect ends.\nThis potion's yellow fluid is streaked with black and swirls on its own."},"cS":{"Action":1,"Spell":1,"Condition":1,"sp":1,"AC":1,"RB":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Speed","cp":"6744e48395192d0012ba4567","dn":"When you drink this potion, you gain the effect of the Haste spell for 1 minute (no Concentration required) without suffering the wave of lethargy that typically occurs when the effect ends."},{"id":"c2","tp":"Spell","nm":"Haste","cp":"66e08feadc69af0030fa6373","dn":"Choose a willing creature that you can see within range. Until the spell ends, the target's Speed is doubled, it gains a +2 bonus to Armor Class, it has Advantage on Dexterity saving throws, and it gains an additional action on each of its turns. That action can be used to take only the Attack (one attack only), Dash, Disengage, Hide, or Utilize action.\nWhen the spell ends, the target is Incapacitated and has a Speed of 0 until the end of its next turn, as a wave of lethargy washes over it."},{"id":"c2-c1","tp":"Condition","pt":"c2","nm":"Haste","rd":"Haste Condition","cp":"66e08feadc69af0030fa6373","dn":"The target's Speed is doubled, it gains a +2 bonus to Armor Class, it has Advantage on Dexterity saving throws, and it gains an additional action on each of its turns. That action can be used to take only the Attack (one attack only), Dash, Disengage, Hide, or Utilize action."},{"id":"c2-c1-c1","tp":"sp","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Haste Speed","cp":"66e08feadc69af0030fa6373","cl":"Multiplier","se":"Walk","vl":{"fa":2}},{"id":"c2-c1-c2","tp":"AC","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Haste AC Bonus","cp":"66e08feadc69af0030fa6373","cl":"Modify","dA":false,"vl":{"fa":2}},{"id":"c2-c1-c3","tp":"RB","pt":"c2-c1","cascades":[{"ref":"c2-c1","actions":["Activate"]}],"nm":"Haste Save Advantage","cp":"66e08feadc69af0030fa6373","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[\"Dexterity\"]","bV":1,"dC":2,"tR":false}]}},{"nm":"Potion of Stone Giant Strength","blueprint":{"nm":"Potion of Stone Giant Strength","item":{"tp":"Item","cp":"6744e47a95192d0012ba431c","dn":"When you drink this potion, your Strength score changes to 23 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 23.\nThis potion's transparent liquid has floating in it a sliver of light resembling a giant's fingernail."},"cS":{"Effect":1,"AS":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Stone Giant Strength","rd":"Potion of Stone Giant Strength Effect","cp":"6744e47a95192d0012ba431c","cy":"[]","dn":"When you drink this potion, your strength score changes to 23 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 23.","active":false},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Stone Giant Strength Strength Modifier","cp":"6744e47a95192d0012ba431c","ay":"Strength","cl":"Minimum","vl":{"fa":23}}]}},{"nm":"Potion of Storm Giant Strength","blueprint":{"nm":"Potion of Storm Giant Strength","item":{"tp":"Item","cp":"6744e33095192d0012b9eff3","dn":"When you drink this potion, your Strength score changes to 29 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 29.\nThis potion's transparent liquid has floating in it a sliver of light resembling a giant's fingernail."},"cS":{"Effect":1,"AS":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Storm Giant Strength","rd":"Potion of Storm Giant Strength Effect","cp":"6744e33095192d0012b9eff3","cy":"[]","dn":"When you drink this potion, your strength score changes to 29 for 1 hour. The potion has no effect on you if your Strength is equal to or greater than 29.","active":false},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Storm Giant Strength Strength Modifier","cp":"6744e33095192d0012b9eff3","ay":"Strength","cl":"Minimum","vl":{"fa":29}}]}},{"nm":"Potion of Superior Healing","blueprint":{"nm":"Potion of Superior Healing","item":{"tp":"Item","cp":"6744e43b95192d0012ba325a","dn":"You regain 8d4+8 Hit Points when you drink this potion.\nThe potion's red liquid glimmers when agitated."},"cS":{"Action":1,"Healing":1},"ch":[{"id":"c1","tp":"Action","nm":"Use Potion of Superior Healing","rd":"Potion of Superior Healing Use Bonus Action","cp":"6744e43b95192d0012ba325a","dn":"You regain 8d4+8 Hit Points when you drink this potion."},{"id":"c1-c1","tp":"Healing","pt":"c1","nm":"Potion of Superior Healing Die","cp":"6744e43b95192d0012ba325a"}]}},{"nm":"Potion of Supreme Healing","blueprint":{"nm":"Potion of Supreme Healing","item":{"tp":"Item","cp":"6744e48395192d0012ba4582","dn":"You regain 10d4+20 Hit Points when you drink this potion.\nThe potion's red liquid glimmers when agitated."},"cS":{"Action":1,"Healing":1},"ch":[{"id":"c1","tp":"Action","nm":"Use Potion of Supreme Healing","rd":"Potion of Supreme Healing Use Bonus Action","cp":"6744e48395192d0012ba4582","dn":"You regain 10d4+20 Hit Points when you drink this potion."},{"id":"c1-c1","tp":"Healing","pt":"c1","nm":"Potion of Supreme Healing Die","cp":"6744e48395192d0012ba4582"}]}},{"nm":"Potion of Thunder Resistance","blueprint":{"nm":"Potion of Thunder Resistance","item":{"tp":"Item","cp":"6744e48395192d0012ba459d","dn":"When you drink this potion, you have Resistance to Thunder damage for 1 hour."},"cS":{"Effect":1,"Defense":1},"ch":[{"id":"c1","tp":"Effect","nm":"Potion of Thunder Resistance","rd":"Potion of Thunder Resistance Effect","cp":"6744e48395192d0012ba459d","cy":"[]","dn":"When you drink this potion, you gain Thunder Resistance for 1 hour.","active":false},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Potion of Thunder Resistance Defense","cp":"6744e48395192d0012ba459d","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Potion of Vitality","blueprint":{"nm":"Potion of Vitality","item":{"tp":"Item","cp":"6744e2e295192d0012b9de8b","dn":"When you drink this potion, it removes any Exhaustion levels you have and ends the Poisoned condition on you. For the next 24 hours, you regain the maximum number of Hit Points for any Hit Point Die you spend.\nThis potion's crimson liquid regularly pulses with dull light, calling to mind a heartbeat."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Vitality","cp":"6744e2e295192d0012b9de8b","dn":"When you drink this potion, it removes any Exhaustion levels you have and ends the Poisoned condition on you. For the next 24 hours, you regain the maximum number of Hit Points for any Hit Point Die you spend."}]}},{"nm":"Potion of Water Breathing","blueprint":{"nm":"Potion of Water Breathing","item":{"tp":"Item","cp":"6744e45d95192d0012ba3b7c","dn":"You can breathe underwater for 24 hours after drinking this potion.\nThis potion's cloudy green fluid smells of the sea and has a jellyfish-like bubble floating in it."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Potion of Water Breathing","cp":"6744e45d95192d0012ba3b7c","dn":"You can breathe underwater for 24 hours after drinking this potion."}]}},{"nm":"Acid","blueprint":{"nm":"Acid","item":{"tp":"Item","cp":"68152a00a193700012c1374b","dn":"When you take the Attack action, you can replace one of your attacks with throwing a vial of Acid. Target one creature or object you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 2d6 Acid damage.","wt":1},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Throw Acid","rd":"Acid Attack","cp":"68152a00a193700012c1374b","aT":"Action","rg":"20 ft","dn":"When you take the Attack action, you can replace one of your attacks with throwing a vial of Acid. Target one creature or object you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 2d6 Acid damage.","ak":{"tp":"Attack Save"},"save":{"onFail":"2d6 Acid Damage","saveAbility":"Dexterity","saveFormula":{"ay":{"ay":"Dexterity","add":true,"multiplier":1},"flatValue":8,"py":{"add":true},"ro":"Down"}}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Acid Damage","cp":"68152a00a193700012c1374b","ay":"none","dT":"Acid","die":"d6","ct":2,"oC":false}]}},{"nm":"Alchemist's Fire","blueprint":{"nm":"Alchemist's Fire","item":{"tp":"Item","cp":"681529caa193700012c12cce","dn":"When you take the Attack action, you can replace one of your attacks with throwing a flask of Alchemist's Fire. Target one creature or object you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 1d4 Fire damage and start burning (see the rules glossary).","wt":1},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Throw Alchemist's Fire","rd":"Alchemist's Fire Attack","cp":"681529caa193700012c12cce","aT":"Action","rg":"20 ft.","dn":"When you take the Attack action, you can replace one of your attacks with throwing a flask of Alchemist's Fire. Target one creature or object you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 1d4 Fire damage and start burning (see the rules glossary).","ak":{"tp":"Attack Save"},"save":{"onFail":"1d4 fire damage and burning","saveAbility":"Dexterity","saveFormula":{"ay":{"ay":"Dexterity","add":true},"flatValue":8,"py":{"add":true}}}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Alchemist's Fire Damage","cp":"681529caa193700012c12cce","ay":"none","dT":"Fire","die":"d4","ct":1,"oC":false}]}},{"nm":"Amulet of Health","blueprint":{"nm":"Amulet of Health","item":{"tp":"Item","cp":"6744e41e95192d0012ba2b27","dn":"Your Constitution is 19 while you wear this amulet. It has no effect on you if your Constitution is 19 or higher without it.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Amulet of Health Attunement","cp":"6744e41e95192d0012ba2b27","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Amulet of Health Constitution","cp":"6744e41e95192d0012ba2b27","ay":"Constitution","cl":"Minimum","vl":{"fa":19}}]}},{"nm":"Amulet of Proof against Detection and Location","blueprint":{"nm":"Amulet of Proof against Detection and Location","item":{"tp":"Item","cp":"6744e2d295192d0012b9da28","dn":"While wearing this amulet, you can't be targeted by Divination spells or perceived through magical scrying sensors unless you allow it.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Amulet of Proof against Detection and Location Attunement","cp":"6744e2d295192d0012b9da28","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Amulet of Proof against Detection and Location Immunity","cp":"6744e2d295192d0012b9da28","condition":"Scrying and Divination","defense":"Immunity","details":"While wearing the Amulet of Proof against Detection and Location, you can't be targeted by Divination spells or perceived through magical scrying sensors unless you allow it."}]}},{"nm":"Amulet of the Planes","blueprint":{"nm":"Amulet of the Planes","item":{"tp":"Item","cp":"681263fff1ba700012a3ce92","dn":"While wearing this amulet, you can take a Magic action to name a location that you are familiar with on another plane of existence. Then make a DC 15 Intelligence (Arcana) check. On a successful check, you cast Plane Shift. On a failed check, you and each creature and object within 15 feet of you travel to a random destination determined by rolling 1d100 and consulting the following table.\n1d100 - Destination\n01-60 - Random location on the plane you named\n61-70 - Random location on an Inner Plane determined by rolling 1d6: on a 1, the Plane of Air; on a 2, the Plane of Earth; on a 3, the Plane of Fire; on a 4, the Plane of Water; on a 5, the Feywild; on a 6, the Shadowfell\n71-80 - Random location on an Outer Plane determined by rolling 1d8: on a 1, Arborea; on a 2, Arcadia; on a 3, the Beastlands; on a 4, Bytopia; on a 5, Elysium; on a 6, Mechanus; on a 7, Mount Celestia; on an 8, Ysgard\n81-90 - Random location on an Outer Plane determined by rolling 1d8: on a 1, the Abyss; on a 2, Acheron; on a 3, Carceri; on a 4, Gehenna; on a 5, Hades; on a 6, Limbo; on a 7, the Nine Hells; on an 8, Pandemonium\n91-00 - Random location on the Astral Plane","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Amulet of the Planes Attunement","cp":"681263fff1ba700012a3ce92","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Name Location (Amulet of the Planes)","rd":"Amulet of the Planes Action","cp":"681263fff1ba700012a3ce92","dn":"While wearing this amulet, you can take a Magic action to name a location that you are familiar with on another plane of existence. Then make a DC 15 Intelligence (Arcana) check. On a successful check, you cast Plane Shift. On a failed check, you and each creature and object within 15 feet of you travel to a random destination determined by rolling 1d100 and consulting the following table.\n1d100 - Destination\n01-60 - Random location on the plane you named\n61-70 - Random location on an Inner Plane determined by rolling 1d6: on a 1, the Plane of Air; on a 2, the Plane of Earth; on a 3, the Plane of Fire; on a 4, the Plane of Water; on a 5, the Feywild; on a 6, the Shadowfell\n71-80 - Random location on an Outer Plane determined by rolling 1d8: on a 1, Arborea; on a 2, Arcadia; on a 3, the Beastlands; on a 4, Bytopia; on a 5, Elysium; on a 6, Mechanus; on a 7, Mount Celestia; on an 8, Ysgard\n81-90 - Random location on an Outer Plane determined by rolling 1d8: on a 1, the Abyss; on a 2, Acheron; on a 3, Carceri; on a 4, Gehenna; on a 5, Hades; on a 6, Limbo; on a 7, the Nine Hells; on an 8, Pandemonium\n91-00 - Random location on the Astral Plane"},{"id":"c1-c2","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Plane Shift","cp":"66e0901bdc69af0030fa6f0d","dn":"You and up to eight willing creatures who link hands in a circle are transported to a different plane of existence. You can specify a target destination in general terms, such as the City of Brass on the Elemental Plane of Fire or the palace of Dispater on the second level of the Nine Hells, and you appear in or near that destination, as determined by the DM.\nAlternatively, if you know the sigil sequence of a teleportation circle on another plane of existence, this spell can take you to that circle. If the teleportation circle is too small to hold all the creatures you transported, they appear in the closest unoccupied spaces next to the circle."}]}},{"nm":"Antimatter Rifle","blueprint":{"nm":"Antimatter Rifle","item":{"tp":"Item","cp":"67a6599ddb873a00127f919a","dn":"Ammunition - You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Futuristic firearms use Energy Cells that become depleted but could possibly be recharged with the proper equipment, at your discretion. An Energy Cell weighs 1/2 lb.\nRange - A Range weapon has a range in parentheses after the Ammunition property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nReload - You can make a limited number of shots with a Reload weapon. You must then reload the weapon as an action or a Bonus Action.\nTwo-Handed - A Two-Handed weapon requires two hands when you attack with it.","wt":10,"ps":["Ammunition (Range 120/360; Energy Cell)","Reload (2 shots)","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Antimatter Rifle"}},"cS":{"Ak":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Antimatter Rifle","rd":"Antimatter Rifle Attack","cp":"67a6599ddb873a00127f919a","aT":"Action","rg":"120/360","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c2","tp":"Action","nm":"Reload Antimatter Rifle","rd":"Antimatter Rifle Reload Bonus Action","cp":"67a6599ddb873a00127f919a","dn":"You can make 2 shots with the Antimatter Rifle. You must then replace the Energy Cell in the weapon weapon as an Action or a Bonus Action."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Antimatter Rifle Damage","cp":"67a6599ddb873a00127f919a","ay":"auto","dT":"Necrotic","die":"d8","ct":6,"oC":false}]}},{"nm":"Antitoxin","blueprint":{"nm":"Antitoxin","item":{"tp":"Item","cp":"68152a01a193700012c13773","dn":"As a Bonus Action, you can drink a vial of Antitoxin to gain Advantage on saving throws to avoid or end the Poisoned condition for 1 hour."},"cS":{"Action":1,"Condition":1,"RB":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Antitoxin","rd":"Antitoxin Bonus Action","cp":"68152a01a193700012c13773","dn":"As a Bonus Action, you can drink a vial of Antitoxin to gain Advantage on saving throws to avoid or end the Poisoned condition for 1 hour."},{"id":"c2","tp":"Condition","nm":"Antitoxin","rd":"Antitoxin Condition","cp":"68152a01a193700012c13773","dn":"You have Advantage on saving throws to avoid or end the Poisoned condition for 1 hour."},{"id":"c2-c1","tp":"RB","pt":"c2","cascades":[{"ref":"c2","actions":["Activate"]}],"nm":"Antitoxin Roll Bonus","cp":"68152a01a193700012c13773","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Arrow +1","blueprint":{"nm":"Arrow +1","item":{"tp":"Item","cp":"6744e42095192d0012ba2b93","dn":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Arrow +1","rd":"Arrow +1 Effect","cp":"6744e42095192d0012ba2b93","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Arrow +2","blueprint":{"nm":"Arrow +2","item":{"tp":"Item","cp":"6744e2d395192d0012b9da7a","dn":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Arrow +2","rd":"Arrow +2 Effect","cp":"6744e2d395192d0012b9da7a","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Arrow +3","blueprint":{"nm":"Arrow +3","item":{"tp":"Item","cp":"6744e4a895192d0012ba4f66","dn":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Arrow +3","rd":"Arrow +3 Effect","cp":"6744e4a895192d0012ba4f66","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Arrow of Aberration Slaying","blueprint":{"nm":"Arrow of Aberration Slaying","item":{"tp":"Item","cp":"681529b4a193700012c1289e","dn":"This magic ammunition is meant to slay Aberrations. If an Aberration takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Aberration Slaying","rd":"Arrow of Aberration Slaying Attack","cp":"681529b4a193700012c1289e","aT":"Action","dn":"This magic ammunition is meant to slay Aberrations. If an Aberration takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Aberration Slaying Force Damage","cp":"681529b4a193700012c1289e","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Beast Slaying","blueprint":{"nm":"Arrow of Beast Slaying","item":{"tp":"Item","cp":"681529d6a193700012c12f5e","dn":"This magic ammunition is meant to slay Beasts. If a Beast takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Beast Slaying","rd":"Arrow of Beast Slaying Attack","cp":"681529d6a193700012c12f5e","aT":"Action","dn":"This magic ammunition is meant to slay Beasts. If a Beast takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Beast Slaying Force Damage","cp":"681529d6a193700012c12f5e","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Celestial Slaying","blueprint":{"nm":"Arrow of Celestial Slaying","item":{"tp":"Item","cp":"68152990a193700012c1215f","dn":"This magic ammunition is meant to slay Celestials. If a Celestial takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Celestial Slaying","rd":"Arrow of Celestial Slaying Attack","cp":"68152990a193700012c1215f","aT":"Action","dn":"This magic ammunition is meant to slay Celestials. If a Celestial takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Celestial Slaying Force Damage","cp":"68152990a193700012c1215f","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Construct Slaying","blueprint":{"nm":"Arrow of Construct Slaying","item":{"tp":"Item","cp":"6815297da193700012c11da8","dn":"This magic ammunition is meant to slay Constructs. If a Construct takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Construct Slaying","rd":"Arrow of Construct Slaying Attack","cp":"6815297da193700012c11da8","aT":"Action","dn":"This magic ammunition is meant to slay Constructs. If a Construct takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Construct Slaying Force Damage","cp":"6815297da193700012c11da8","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Dragon Slaying","blueprint":{"nm":"Arrow of Dragon Slaying","item":{"tp":"Item","cp":"681529daa193700012c13011","dn":"This magic ammunition is meant to slay Dragons. If a Dragon takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Dragon Slaying","rd":"Arrow of Dragon Slaying Attack","cp":"681529daa193700012c13011","aT":"Action","dn":"This magic ammunition is meant to slay Dragons. If a Dragon takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Dragon Slaying Force Damage","cp":"681529daa193700012c13011","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Elemental Slaying","blueprint":{"nm":"Arrow of Elemental Slaying","item":{"tp":"Item","cp":"681529b4a193700012c128be","dn":"This magic ammunition is meant to slay Elementals. If an Elemental takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Elemental Slaying","rd":"Arrow of Elemental Slaying Attack","cp":"681529b4a193700012c128be","aT":"Action","dn":"This magic ammunition is meant to slay Elementals. If an Elemental takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Elemental Slaying Force Damage","cp":"681529b4a193700012c128be","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Fey Slaying","blueprint":{"nm":"Arrow of Fey Slaying","item":{"tp":"Item","cp":"68152a0ca193700012c139c4","dn":"This magic ammunition is meant to slay Fey creatures. If a Fey creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Fey Slaying","rd":"Arrow of Fey Slaying Attack","cp":"68152a0ca193700012c139c4","aT":"Action","dn":"This magic ammunition is meant to slay Fey creatures. If a Fey creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Fey Slaying Force Damage","cp":"68152a0ca193700012c139c4","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Fiend Slaying","blueprint":{"nm":"Arrow of Fiend Slaying","item":{"tp":"Item","cp":"681529e0a193700012c130fa","dn":"This magic ammunition is meant to slay Fiends. If a Fiend takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Fiend Slaying","rd":"Arrow of Fiend Slaying Attack","cp":"681529e0a193700012c130fa","aT":"Action","dn":"This magic ammunition is meant to slay Fiends. If a Fiend takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Fiend Slaying Force Damage","cp":"681529e0a193700012c130fa","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Giant Slaying","blueprint":{"nm":"Arrow of Giant Slaying","item":{"tp":"Item","cp":"68152960a193700012c117b5","dn":"This magic ammunition is meant to slay Giants. If a Giant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Giant Slaying","rd":"Arrow of Giant Slaying Attack","cp":"68152960a193700012c117b5","aT":"Action","dn":"This magic ammunition is meant to slay Giants. If a Giant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Giant Slaying Force Damage","cp":"68152960a193700012c117b5","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Humanoid Slaying","blueprint":{"nm":"Arrow of Humanoid Slaying","item":{"tp":"Item","cp":"68152954a193700012c1155f","dn":"This magic ammunition is meant to slay Humanoids. If a Humanoid takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Humanoid Slaying","rd":"Arrow of Humanoid Slaying Attack","cp":"68152954a193700012c1155f","aT":"Action","dn":"This magic ammunition is meant to slay Humanoids. If a Humanoid takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Humanoid Slaying Force Damage","cp":"68152954a193700012c1155f","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Monstrosity Slaying","blueprint":{"nm":"Arrow of Monstrosity Slaying","item":{"tp":"Item","cp":"681529e4a193700012c1319a","dn":"This magic ammunition is meant to slay Monstrosities. If a Monstrosity takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Monstrosity Slaying","rd":"Arrow of Monstrosity Slaying Attack","cp":"681529e4a193700012c1319a","aT":"Action","dn":"This magic ammunition is meant to slay Monstrosities. If a Monstrosity takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Monstrosity Slaying Force Damage","cp":"681529e4a193700012c1319a","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Ooze Slaying","blueprint":{"nm":"Arrow of Ooze Slaying","item":{"tp":"Item","cp":"68152a0ea193700012c13a18","dn":"This magic ammunition is meant to slay Oozes. If an Ooze takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Ooze Slaying","rd":"Arrow of Ooze Slaying Attack","cp":"68152a0ea193700012c13a18","aT":"Action","dn":"This magic ammunition is meant to slay Oozes. If an Ooze takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Ooze Slaying Force Damage","cp":"68152a0ea193700012c13a18","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Plant Slaying","blueprint":{"nm":"Arrow of Plant Slaying","item":{"tp":"Item","cp":"681529e5a193700012c131b8","dn":"This magic ammunition is meant to slay Plants. If a Plant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Plant Slaying","rd":"Arrow of Plant Slaying Attack","cp":"681529e5a193700012c131b8","aT":"Action","dn":"This magic ammunition is meant to slay Plants. If a Plant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Plant Slaying Force Damage","cp":"681529e5a193700012c131b8","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Arrow of Undead Slaying","blueprint":{"nm":"Arrow of Undead Slaying","item":{"tp":"Item","cp":"68152a0fa193700012c13a6e","dn":"This magic ammunition is meant to slay Undead creatures. If an Undead creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.05},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Arrow of Undead Slaying","rd":"Arrow of Undead Slaying Attack","cp":"68152a0fa193700012c13a6e","aT":"Action","dn":"This magic ammunition is meant to slay Undead creatures. If an Undead creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one. After dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onFail":"6d10 Force Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Arrow of Undead Slaying Force Damage","cp":"68152a0fa193700012c13a6e","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Assassin's Blood","blueprint":{"nm":"Assassin's Blood","item":{"tp":"Item","cp":"68152990a193700012c1212b","dn":"A creature subjected to Assassin's Blood makes a DC 10 Constitution saving throw. On a failed save, the creature takes 6 (1d12) Poison damage and has the Poisoned condition for 24 hours. On a successful save, the creature takes half as much damage only."},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Assassin's Blood","rd":"Assassin's Blood Attack","cp":"68152990a193700012c1212b","aT":"Action","dn":"A creature subjected to Assassin's Blood makes a DC 10 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"On a failed save, the creature takes 6 (1d12) Poison damage and has the Poisoned condition for 24 hours.","onSucceed":"Half damage","saveAbility":"Constitution","saveFlat":10}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Assassin's Blood Damage","cp":"68152990a193700012c1212b","ay":"none","dT":"Poison","die":"d12","ct":1,"oC":false}]}},{"nm":"Automatic Rifle","blueprint":{"nm":"Automatic Rifle","item":{"tp":"Item","cp":"67a65999db873a00127f902a","dn":"Ammunition - You can use a weapon that has the Ammunition property to make a ranged attack only if you have ammunition to fire from it. The type of ammunition required is specified with the weapon's range. Each attack expends one piece of ammunition. Firearm Bullets are destroyed upon use in a modern firearm.\nRange - A Range weapon has a range in parentheses after the Ammunition property. The range lists two numbers. The first is the weapon's normal range in feet, and the second is the weapon's long range. When attacking a target beyond normal range, you have Disadvantage on the attack roll. You can't attack a target beyond the long range.\nBurst Fire - As an action, you can expend 10 pieces of a Burst Fire weapon's ammunition to spray shots in a 10-foot Cube within the weapon's normal range. Each creature in that area must succeed on a DC 15 Dexterity saving throw or take damage. Roll the weapon's damage once, and apply it to each creature that failed the save.\nReload - You can make a limited number of shots with a Reload weapon. You must then reload the weapon as an action or a Bonus Action.\nTwo-Handed - A Two-Handed weapon requires two hands when you attack with it.","wt":8,"ps":["Ammunition (Range 80/240; Bullet)","Burst Fire","Reload (30 shots)","Two-Handed"],"eD":{"ee":true},"wD":{"cy":"Ranged","tg":"Martial","tp":"Automatic Rifle"}},"cS":{"Ak":2,"Action":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Automatic Rifle","rd":"Automatic Rifle Attack","cp":"67a65999db873a00127f902a","aT":"Action","rg":"80/240","ak":{"aB":"Dexterity","tp":"Ranged"}},{"id":"c2","tp":"Ak","nm":"Automatic Rifle Burst","rd":"Automatic Rifle Burst Attack","cp":"67a65999db873a00127f902a","aT":"Action","rg":"80/240","dn":"You can expend 10 pieces of a Burst Fire weapon's ammunition to spray shots in a 10-foot Cube within the weapon's normal range. Each creature in that area must make on a DC 15 Dexterity saving throw. Roll the weapon's damage once, and apply it to each creature that failed the save.","ak":{"tp":"Attack Save"},"save":{"onFail":"The target takes 2d8 Piercing Damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c3","tp":"Action","nm":"Reload Automatic Rifle","rd":"Automatic Rifle Reload Bonus Action","cp":"67a65999db873a00127f902a","dn":"You can make 30 shots with the Automatic Rifle. You must then reload the weapon as an Action or a Bonus Action."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Automatic Rifle Damage","cp":"67a65999db873a00127f902a","ay":"auto","dT":"Piercing","die":"d8","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Automatic Rifle Burst Damage","cp":"67a65999db873a00127f902a","ay":"auto","dT":"Piercing","die":"d8","ct":2,"oC":false}]}},{"nm":"Bag of Beans","blueprint":{"nm":"Bag of Beans","item":{"tp":"Item","cp":"6813f2f7350b5e00122c8715","dn":"This heavy cloth bag contains 3d4 dry beans when found. The bag weighs half a pound regardless of how many beans it contains and becomes a nonmagical item when it no longer contains any beans.\n\nIf you dump one or more beans out of the bag, they explode in a 10-foot-radius Sphere centered on them. All the dumped beans are destroyed in the explosion, and each creature in the Sphere, including you, makes a DC 15 Dexterity saving throw, taking 5d4 Force damage on a failed save or half as much damage on a successful one.\n\nIf you remove a bean from the bag, plant it in dirt or sand, and then water it, the bean disappears as it produces an effect 1 minute later from the ground where it was planted. The DM can choose an effect from the following table or determine it randomly.\n\n1d100 Effect\n01 5d4 toadstools sprout. If a creature eats a toadstool, roll any die. On an odd roll, the eater must succeed on a DC 15 Constitution saving throw or take 5d6 Poison damage and have the Poisoned condition for 1 hour. On an even roll, the eater gains 5d6 Temporary Hit Points for 1 hour.\n02-10 A geyser erupts and spouts water, beer, mayonnaise, tea, vinegar, wine, or oil (DM's choice) 30 feet into the air for 1d4 minutes.\n11-20 A Treant sprouts. Roll any die. On an odd roll, the treant is Chaotic Evil. On an even roll, the treant is Chaotic Good.\n21-30 An animate but immobile stone statue in your likeness rises and makes verbal threats against you. If you leave it and others come near, it describes you as the most heinous of villains and directs the newcomers to find and attack you. If you are on the same plane of existence as the statue, it knows where you are. The statue becomes inanimate after 24 hours.\n31-40 A campfire with green flames springs forth and burns for 24 hours or until it is extinguished.\n41-50 Three Shrieker Fungi sprout.\n51-60 1d4 + 4 bright-pink toads crawl forth. Whenever a toad is touched, it transforms into a Large or smaller monster of the DM's choice that acts in accordance with its alignment and nature. The monster remains for 1 minute, then disappears in a puff of bright-pink smoke.\n61-70 A hungry Bulette burrows up and attacks.\n71-80 A fruit tree grows. It has 1d10 + 20 fruit, 1d8 of which act as randomly determined potions. The tree vanishes after 1 hour. Picked fruit remains, retaining any magic for 30 days.\n81-90 A nest of 1d4 + 3 rainbow-colored eggs springs up. Any creature that eats an egg makes a DC 20 Constitution saving throw. On a successful save, a creature permanently increases its lowest ability score by 1, randomly choosing among equally low scores. On a failed save, the creature takes 10d6 Force damage from an internal explosion.\n91-95 A pyramid with a 60-foot-square base bursts upward. Inside is a burial chamber containing a Mummy, a Mummy Lord, or some other Undead of the DM's choice. Its sarcophagus contains treasure of the DM's choice.\n96-00 A giant beanstalk sprouts, growing to a height of the DM's choice. The top leads where the DM chooses, such as to a great view, a cloud giant's castle, or another plane of existence.","wt":0.5},"cS":{"Resource":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Resource","nm":"Beans (Bag of Beans)","rd":"Bag of Beans Resource","cp":"6813f2f7350b5e00122c8715","vl":7},{"id":"c1-c1","tp":"Ak","pt":"c1","nm":"Dumped Bean (Bag of Beans)","rd":"Bag of Beans Dumped Bean Attack","cp":"6813f2f7350b5e00122c8715","aT":"Free Action","dn":"If you dump one or more beans out of the bag, they explode in a 10-foot-radius Sphere centered on them. All the dumped beans are destroyed in the explosion, and each creature in the Sphere, including you, makes a DC 15 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature takes 5d4 Force damage.","onSucceed":"Half damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","nm":"Bag of Beans Dumped Bean Damage","cp":"6813f2f7350b5e00122c8715","ay":"none","dT":"Force","die":"d4","ct":5,"oC":false}]}},{"nm":"Ball Bearings","blueprint":{"nm":"Ball Bearings","item":{"tp":"Item","cp":"68152989a193700012c11fa7","dn":"As a Utilize action, you can spill Ball Bearings from their pouch. They spread to cover a level, 10-foot-square area within 10 feet of yourself. A creature that enters this area for the first time on a turn must succeed on a DC 10 Dexterity saving throw or have the Prone condition. It takes 10 minutes to recover the Ball Bearings.","wt":2,"eD":{"ee":true}},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Utilize Ball Bearings","rd":"Ball Bearings Attack","cp":"68152989a193700012c11fa7","aT":"Action","rg":"10 ft","dn":"As a Utilize action, you can spill Ball Bearings from their pouch. They spread to cover a level, 10-foot-square area within 10 feet of yourself. A creature that enters this area for the first time on a turn must succeed on a DC 10 Dexterity saving throw or have the Prone condition. It takes 10 minutes to recover the Ball Bearings.","ak":{"tp":"Attack Save"},"save":{"onFail":"Prone","saveAbility":"Dexterity","saveFlat":10}}]}},{"nm":"Basic Poison","blueprint":{"nm":"Basic Poison","item":{"tp":"Item","cp":"6815298da193700012c12084","dn":"As a Bonus Action, you can use a vial of Basic Poison to coat one weapon or up to three pieces of ammunition. A creature that takes Piercing or Slashing damage from the poisoned weapon or ammunition takes an extra 1d4 Poison damage. Once applied, the poison retains potency for 1 minute or until its damage is dealt, whichever comes first."},"cS":{"Action":1,"Effect":1},"ch":[{"id":"c1","tp":"Action","nm":"Coat Weapon with Basic Poison","rd":"Basic Poison Coat Weapon Action","cp":"6815298da193700012c12084","dn":"As a Bonus Action, you can use a vial of Basic Poison to coat one weapon or up to three pieces of ammunition. A creature that takes Piercing or Slashing damage from the poisoned weapon or ammunition takes an extra 1d4 Poison damage. Once applied, the poison retains potency for 1 minute or until its damage is dealt, whichever comes first."},{"id":"c2","tp":"Effect","nm":"Basic Poisoned Weapon / Ammunition","rd":"Basic Poison Coated Weapon Effect","cp":"6815298da193700012c12084","cy":"[\"Damage\"]","dn":"A creature that takes Piercing or Slashing damage from the poisoned weapon or ammunition takes an extra 1d4 Poison damage. Once applied, the poison retains potency for 1 minute or until its damage is dealt, whichever comes first.","diceValue":"1d4","active":false}]}},{"nm":"Bead of Force","blueprint":{"nm":"Bead of Force","item":{"tp":"Item","cp":"6744e40695192d0012ba246e","dn":"This small black sphere measures 3/4 of an inch in diameter and weighs an ounce. Typically, 1d4 + 4 Beads of Force are found together.\nYou can take a Magic action to throw the bead up to 60 feet. The bead explodes in a 10-foot-radius Sphere on impact and is destroyed. Each creature in the Sphere must succeed on a DC 15 Dexterity saving throw or take 5d4 Force damage. A sphere of transparent force then encloses the area for 1 minute. Any creature that failed the save and is completely within the area is trapped inside this sphere. Creatures that succeeded on the save or are partially within the area are pushed away from the center of the sphere until they are no longer inside it. Only breathable air can pass through the sphere's wall. No attack or other effect can pass through.\nAn enclosed creature can take a Utilize action to push against the sphere's wall, moving the sphere up to half the creature's Speed. The sphere can be picked up, and its magic causes it to weigh only 1 pound, regardless of the weight of creatures inside."},"cS":{"Resource":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Resource","nm":"Beads of Force","rd":"Bead of Force Resource","cp":"6744e40695192d0012ba246e","vl":6},{"id":"c1-c1","tp":"Ak","pt":"c1","nm":"Bead of Force","rd":"Bead of Force Attack","cp":"6744e40695192d0012ba246e","aT":"Action","rg":"60 feet","dn":"You can take a Magic action to throw the bead up to 60 feet. The bead explodes in a 10-foot-radius Sphere on impact and is destroyed.","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature takes 5d4 Force damage, and if it was completely within the area, it is trapped inside the sphere.","onSucceed":"Creatures that succeeded on the save or are partially within the area are pushed away from the center of the sphere until they are no longer inside it.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c1-c1","tp":"dm","pt":"c1-c1","nm":"Bead of Force Damage","cp":"6744e40695192d0012ba246e","ay":"none","dT":"Force","die":"d4","ct":5,"oC":false}]}},{"nm":"Bell","blueprint":{"nm":"Bell","item":{"tp":"Item","cp":"68152988a193700012c11f77","dn":"When rung as a Utilize action, a Bell produces a sound that can be heard up to 60 feet away."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Utilize Bell","rd":"Bell Utilize Action","cp":"68152988a193700012c11f77","dn":"When rung as a Utilize action, a Bell produces a sound that can be heard up to 60 feet away."}]}},{"nm":"Belt of Cloud Giant Strength","blueprint":{"nm":"Belt of Cloud Giant Strength","item":{"tp":"Item","cp":"6744e40895192d0012ba24fc","dn":"While wearing this belt, your Strength changes to 27. The item has no effect on you if your Strength without the belt is equal to or greater than the belt's score.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Cloud Giant Strength Attunement","cp":"6744e40895192d0012ba24fc","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Cloud Giant Strength Bonus","cp":"6744e40895192d0012ba24fc","ay":"Strength","cl":"Minimum","vl":{"fa":27}}]}},{"nm":"Belt of Dwarvenkind","blueprint":{"nm":"Belt of Dwarvenkind","item":{"tp":"Item","cp":"6744e41595192d0012ba28b6","dn":"While wearing this belt, you gain the following benefits:\n\n\nDwarvish. You know Dwarvish.\n\n\nFriend of Dwarvenkind. You have Advantage on Charisma (Persuasion) checks made to interact with dwarves and duergar.\n\n\nToughness. Your Constitution increases by 2, to a maximum of 20.\n\n\nIn addition, while attuned to the belt, you have a 50 percent chance each day at dawn of growing a full beard if you can grow one, or a thicker beard if you already have one.\n\n\nIf you aren't a dwarf or duergar, you gain the following additional benefits while wearing the belt:\n\n\nDarkvision. You have Darkvision with a range of 60 feet.\n\n\nResilience. You have Resistance to Poison damage. You also have Advantage on saving throws you make to avoid or end the Poisoned condition.","eD":{"ee":true}},"cS":{"Am":1,"Language":1,"RB":2,"AS":1,"Generic Roll":1,"Sense":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Dwarvenkind Attunement","cp":"6744e41595192d0012ba28b6","an":false,"rE":true},{"id":"c1-c1","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dwarvish","rd":"Belt of Dwarvenkind Dwarvish Language Proficiency","cp":"6744e41595192d0012ba28b6"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Friend of Dwarvenkind Situational Advantage","cp":"6744e41595192d0012ba28b6","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Persuasion\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Dwarvenkind Constitution Modifier","cp":"6744e41595192d0012ba28b6","ay":"Constitution","cl":"Modify","vl":{"fa":2}},{"id":"c1-c4","tp":"Generic Roll","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Beard of Dwarvenkind","rd":"Belt of Dwarvenkind Beard Growth Generic Roll","cp":"6744e41595192d0012ba28b6"},{"id":"c1-c5","tp":"Sense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Darkvision","rd":"Belt of Dwarvenkind Darkvision","cp":"6744e41595192d0012ba28b6","cl":"Set Base","vl":{"fa":60}},{"id":"c1-c6","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Dwarvenkind Poison Resistance","cp":"6744e41595192d0012ba28b6","damage":"Poison","defense":"Resistance"},{"id":"c1-c7","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Dwarvenkind Save Advantage","cp":"6744e41595192d0012ba28b6","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Belt of Fire Giant Strength","blueprint":{"nm":"Belt of Fire Giant Strength","item":{"tp":"Item","cp":"6744e40795192d0012ba24ab","dn":"While wearing this belt, your Strength changes to 25. The item has no effect on you if your Strength without the belt is equal to or greater than the belt's score.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Fire Giant Strength Attunement","cp":"6744e40795192d0012ba24ab","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Fire Giant Strength Bonus","cp":"6744e40795192d0012ba24ab","ay":"Strength","cl":"Minimum","vl":{"fa":25}}]}},{"nm":"Belt of Frost Giant Strength","blueprint":{"nm":"Belt of Frost Giant Strength","item":{"tp":"Item","cp":"6744e40795192d0012ba24c6","dn":"While wearing this belt, your Strength changes to 23. The item has no effect on you if your Strength without the belt is equal to or greater than the belt's score.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Frost Giant Strength Attunement","cp":"6744e40795192d0012ba24c6","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Frost Giant Strength Bonus","cp":"6744e40795192d0012ba24c6","ay":"Strength","cl":"Minimum","vl":{"fa":23}}]}},{"nm":"Belt of Hill Giant Strength","blueprint":{"nm":"Belt of Hill Giant Strength","item":{"tp":"Item","cp":"6744e31695192d0012b9e9b6","dn":"While wearing this belt, your Strength changes to 21. The item has no effect on you if your Strength without the belt is equal to or greater than the belt's score.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Hill Giant Strength Attunement","cp":"6744e31695192d0012b9e9b6","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Hill Giant Strength Bonus","cp":"6744e31695192d0012b9e9b6","ay":"Strength","cl":"Minimum","vl":{"fa":21}}]}},{"nm":"Belt of Stone Giant Strength","blueprint":{"nm":"Belt of Stone Giant Strength","item":{"tp":"Item","cp":"6744e40795192d0012ba24e1","dn":"While wearing this belt, your Strength changes to 23. The item has no effect on you if your Strength without the belt is equal to or greater than the belt's score.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Stone Giant Strength Attunement","cp":"6744e40795192d0012ba24e1","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Stone Giant Strength Bonus","cp":"6744e40795192d0012ba24e1","ay":"Strength","cl":"Minimum","vl":{"fa":23}}]}},{"nm":"Belt of Storm Giant Strength","blueprint":{"nm":"Belt of Storm Giant Strength","item":{"tp":"Item","cp":"6744e40695192d0012ba2490","dn":"While wearing this belt, your Strength changes to 29. The item has no effect on you if your Strength without the belt is equal to or greater than the belt's score.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Belt of Storm Giant Strength Attunement","cp":"6744e40695192d0012ba2490","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Belt of Storm Giant Strength Bonus","cp":"6744e40695192d0012ba2490","ay":"Strength","cl":"Minimum","vl":{"fa":29}}]}},{"nm":"Blue Sapphire Elemental Gem","blueprint":{"nm":"Blue Sapphire Elemental Gem","item":{"tp":"Item","cp":"6813f93af9542900125ca561","dn":"This gem contains a mote of elemental energy. When you take a Utilize action to break the gem, an Air Elemental is summoned (see the Monster Manual for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},"cS":{"Action":2},"ch":[{"id":"c1","tp":"Action","nm":"Break Blue Sapphire Elemental Gem","rd":"Break Blue Sapphire Elemental Gem Action","cp":"6813f93af9542900125ca561","dn":"When you take a Utilize action to break the gem, an Air Elemental is summoned (see the Monster Manual for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},{"id":"c2","tp":"Action","nm":"Dismiss Air Elemental","rd":"Blue Sapphire Elemental Gem Dismiss Air Elemental Action","cp":"6813f93af9542900125ca561","dn":"As a Bonus Action, you can dismiss the elemental."}]}},{"nm":"Bolt of Aberration Slaying","blueprint":{"nm":"Bolt of Aberration Slaying","item":{"tp":"Item","cp":"6815297ca193700012c11d88","dn":"This magic ammunition is meant to slay Aberrations. If an Aberration takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Aberration Slaying","rd":"Bolt of Aberration Slaying Attack","cp":"6815297ca193700012c11d88","aT":"Action","dn":"This magic ammunition is meant to slay Aberrations. If an Aberration takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Aberrations. If an Aberration takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Aberration Slaying Force Damage","cp":"6815297ca193700012c11d88","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Beast Slaying","blueprint":{"nm":"Bolt of Beast Slaying","item":{"tp":"Item","cp":"6815291fa193700012c10ab6","dn":"This magic ammunition is meant to slay Beasts. If a Beast takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Beast Slaying","rd":"Bolt of Beast Slaying Attack","cp":"6815291fa193700012c10ab6","aT":"Action","dn":"This magic ammunition is meant to slay Beasts. If a Beast takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Beasts. If a Beast takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Beast Slaying Force Damage","cp":"6815291fa193700012c10ab6","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Celestial Slaying","blueprint":{"nm":"Bolt of Celestial Slaying","item":{"tp":"Item","cp":"68152991a193700012c1216f","dn":"This magic ammunition is meant to slay Celestials. If a Celestial takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Celestial Slaying","rd":"Bolt of Celestial Slaying Attack","cp":"68152991a193700012c1216f","aT":"Action","dn":"This magic ammunition is meant to slay Celestials. If a Celestial takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Celestials. If a Celestial takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Celestial Slaying Force Damage","cp":"68152991a193700012c1216f","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Construct Slaying","blueprint":{"nm":"Bolt of Construct Slaying","item":{"tp":"Item","cp":"68152a0aa193700012c1397c","dn":"This magic ammunition is meant to slay Constructs. If a Construct takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Construct Slaying","rd":"Bolt of Construct Slaying Attack","cp":"68152a0aa193700012c1397c","aT":"Action","dn":"This magic ammunition is meant to slay Constructs. If a Construct takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Constructs. If a Construct takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Construct Slaying Force Damage","cp":"68152a0aa193700012c1397c","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Dragon Slaying","blueprint":{"nm":"Bolt of Dragon Slaying","item":{"tp":"Item","cp":"681529daa193700012c13025","dn":"This magic ammunition is meant to slay Dragons. If a Dragon takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Dragon Slaying","rd":"Bolt of Dragon Slaying Attack","cp":"681529daa193700012c13025","aT":"Action","dn":"This magic ammunition is meant to slay Dragons. If a Dragon takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Dragons. If a Dragon takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Dragon Slaying Force Damage","cp":"681529daa193700012c13025","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Elemental Slaying","blueprint":{"nm":"Bolt of Elemental Slaying","item":{"tp":"Item","cp":"68152a0ba193700012c139a5","dn":"This magic ammunition is meant to slay Elementals. If an Elemental takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Elemental Slaying","rd":"Bolt of Elemental Slaying Attack","cp":"68152a0ba193700012c139a5","aT":"Action","dn":"This magic ammunition is meant to slay Elementals. If an Elemental takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Elementals. If an Elemental takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Elemental Slaying Force Damage","cp":"68152a0ba193700012c139a5","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Fey Slaying","blueprint":{"nm":"Bolt of Fey Slaying","item":{"tp":"Item","cp":"68152920a193700012c10ae7","dn":"This magic ammunition is meant to slay Fey creatures. If a Fey creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Fey Slaying","rd":"Bolt of Fey Slaying Attack","cp":"68152920a193700012c10ae7","aT":"Action","dn":"This magic ammunition is meant to slay Fey creatures. If a Fey creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Fey creatures. If a Fey creature takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Fey Slaying Force Damage","cp":"68152920a193700012c10ae7","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Fiend Slaying","blueprint":{"nm":"Bolt of Fiend Slaying","item":{"tp":"Item","cp":"6815291fa193700012c10ac6","dn":"This magic ammunition is meant to slay Fiends. If a Fiend takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Fiend Slaying","rd":"Bolt of Fiend Slaying Attack","cp":"6815291fa193700012c10ac6","aT":"Action","dn":"This magic ammunition is meant to slay Fiends. If a Fiend takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Fiends. If a Fiend takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Fiend Slaying Force Damage","cp":"6815291fa193700012c10ac6","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Giant Slaying","blueprint":{"nm":"Bolt of Giant Slaying","item":{"tp":"Item","cp":"681529e1a193700012c13134","dn":"This magic ammunition is meant to slay Giants. If a Giant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Giant Slaying","rd":"Bolt of Giant Slaying Attack","cp":"681529e1a193700012c13134","aT":"Action","dn":"This magic ammunition is meant to slay Giants. If a Giant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Giants. If a Giant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Giant Slaying Force Damage","cp":"681529e1a193700012c13134","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Humanoid Slaying","blueprint":{"nm":"Bolt of Humanoid Slaying","item":{"tp":"Item","cp":"681529b7a193700012c12931","dn":"This magic ammunition is meant to slay Humanoids. If a Humanoid takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Humanoid Slaying","rd":"Bolt of Humanoid Slaying Attack","cp":"681529b7a193700012c12931","aT":"Action","dn":"This magic ammunition is meant to slay Humanoids. If a Humanoid takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Humanoids. If a Humanoid takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Humanoid Slaying Force Damage","cp":"681529b7a193700012c12931","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Monstrosity Slaying","blueprint":{"nm":"Bolt of Monstrosity Slaying","item":{"tp":"Item","cp":"68152a0da193700012c139f5","dn":"This magic ammunition is meant to slay Monstrosities. If a Monstrosity takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Monstrosity Slaying","rd":"Bolt of Monstrosity Slaying Attack","cp":"68152a0da193700012c139f5","aT":"Action","dn":"This magic ammunition is meant to slay Monstrosities. If a Monstrosity takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Monstrosities. If a Monstrosity takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Monstrosity Slaying Force Damage","cp":"68152a0da193700012c139f5","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Ooze Slaying","blueprint":{"nm":"Bolt of Ooze Slaying","item":{"tp":"Item","cp":"68152a0ea193700012c13a28","dn":"This magic ammunition is meant to slay Oozes. If an Ooze takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Ooze Slaying","rd":"Bolt of Ooze Slaying Attack","cp":"68152a0ea193700012c13a28","aT":"Action","dn":"This magic ammunition is meant to slay Oozes. If an Ooze takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Oozes. If an Ooze takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Ooze Slaying Force Damage","cp":"68152a0ea193700012c13a28","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Plant Slaying","blueprint":{"nm":"Bolt of Plant Slaying","item":{"tp":"Item","cp":"681529b8a193700012c12973","dn":"This magic ammunition is meant to slay Plants. If a Plant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Plant Slaying","rd":"Bolt of Plant Slaying Attack","cp":"681529b8a193700012c12973","aT":"Action","dn":"This magic ammunition is meant to slay Plants. If a Plant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Plants. If a Plant takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Plant Slaying Force Damage","cp":"681529b8a193700012c12973","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Bolt of Undead Slaying","blueprint":{"nm":"Bolt of Undead Slaying","item":{"tp":"Item","cp":"681529e7a193700012c13208","dn":"This magic ammunition is meant to slay Undead. If an Undead takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","wt":0.075,"ps":["Ammunition"]},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Bolt of Undead Slaying","rd":"Bolt of Undead Slaying Attack","cp":"681529e7a193700012c13208","aT":"Action","dn":"This magic ammunition is meant to slay Undead. If an Undead takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17},"onHit":"This magic ammunition is meant to slay Undead. If an Undead takes damage from the ammunition, it makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Bolt of Undead Slaying Force Damage","cp":"681529e7a193700012c13208","ay":"none","dT":"Force","die":"d10","ct":6,"oC":false}]}},{"nm":"Boots of Elvenkind","blueprint":{"nm":"Boots of Elvenkind","item":{"tp":"Item","cp":"6744e40895192d0012ba251c","dn":"While you wear these boots, your steps make no sound, regardless of the surface you are moving across. You also have Advantage on Dexterity (Stealth) checks.","eD":{"ee":true}},"cS":{"RB":1},"ch":[{"id":"c1","tp":"RB","nm":"Boots of Elvenkind Stealth Advantage","cp":"6744e40895192d0012ba251c","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Stealth\"]","bV":1,"dC":2,"tR":false}]}},{"nm":"Boots of Levitation","blueprint":{"nm":"Boots of Levitation","item":{"tp":"Item","cp":"6744e4a695192d0012ba4ecd","dn":"While you wear these boots, you can cast Levitate on yourself.","eD":{"ee":true}},"cS":{"Am":1,"Spell":1,"Condition":1,"Ak":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Boots of Levitation Attunement","cp":"6744e4a695192d0012ba4ecd","an":true,"rE":true},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Levitate","cp":"66e08fcfdc69af0030fa5d06","dn":"One creature or loose object of your choice that you can see within range rises vertically up to 20 feet and remains suspended there for the duration. The spell can levitate an object that weighs up to 500 pounds. An unwilling creature that succeeds on a Constitution saving throw is unaffected.\nThe target can move only by pushing or pulling against a fixed object or surface within reach (such as a wall or a ceiling), which allows it to move as if it were climbing. You can change the target's altitude by up to 20 feet in either direction on your turn. If you are the target, you can move up or down as part of your move. Otherwise, you can take a Magic action to move the target, which must remain within the spell's range.\nWhen the spell ends, the target floats gently to the ground if it is still aloft."},{"id":"c1-c1-c1","tp":"Condition","pt":"c1-c1","nm":"Levitate","rd":"Levitate Condition","cp":"66e08fcfdc69af0030fa5d06","dn":"One creature or loose object of your choice that you can see within range rises vertically up to 20 feet and remains suspended there for the duration. The spell can levitate an object that weighs up to 500 pounds."},{"id":"c1-c1-c2","tp":"Ak","pt":"c1-c1","nm":"Levitate - Unwilling Target","rd":"Levitate Attack","cp":"66e08fcfdc69af0030fa5d06","aT":"Action","rg":"60 ft","dn":"An unwilling creature that succeeds on a Constitution saving throw is unaffected.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target is levitated.","onSucceed":"No effect.","saveAbility":"Constitution"}},{"id":"c1-c1-c1-c1","tp":"Action","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]}],"nm":"Levitate - Move Target","rd":"Levitate Action","cp":"66e08fcfdc69af0030fa5d06","dn":"You can take a Magic action to move the target, which must remain within the spell's range."}]}},{"nm":"Boots of Speed","blueprint":{"nm":"Boots of Speed","item":{"tp":"Item","cp":"6744e42095192d0012ba2bb3","dn":"While you wear these boots, you can take a Bonus Action to click the boots' heels together. If you do, the boots double your Speed, and any creature that makes an Opportunity Attack against you has Disadvantage on the attack roll. If you click your heels together again, you end the effect. \n\nWhen you've used the boots' property for a total of 10 minutes, the magic ceases to function for you until you finish a Long Rest.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Boots of Speed Attunement","cp":"6744e42095192d0012ba2bb3","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Boots of Speed (Minutes)","rd":"Boots of Speed Click Heels Minutes","cp":"6744e42095192d0012ba2bb3","vl":10},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Click Heels","rd":"Boots of Speed Click Heels Bonus Action","cp":"6744e42095192d0012ba2bb3","dn":"While you wear these boots, you can take a Bonus Action to click the boots' heels together. If you do, the boots double your Speed, and any creature that makes an Opportunity Attack against you has Disadvantage on the attack roll. If you click your heels together again, you end the effect. "}]}},{"nm":"Boots of Striding and Springing","blueprint":{"nm":"Boots of Striding and Springing","item":{"tp":"Item","cp":"6813f41ca193700012be2b51","dn":"While you wear these boots, your Speed becomes 30 feet unless your Speed is higher, and your Speed isn't reduced by you carrying weight in excess of your carrying capacity or wearing Heavy Armor.\n\nOnce on each of your turns, you can jump up to 30 feet by spending only 10 feet of movement.","eD":{"ee":true}},"cS":{"Am":1,"sp":1},"ch":[{"id":"c1","tp":"Am","nm":"Boots of Striding and Springing Attunement","cp":"6813f41ca193700012be2b51","an":false,"rE":true},{"id":"c1-c1","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Boots of Striding and Springing Speed","cp":"6813f41ca193700012be2b51","cl":"Set Base","se":"All","vl":{"fa":30}}]}},{"nm":"Boots of the Winterlands","blueprint":{"nm":"Boots of the Winterlands","item":{"tp":"Item","cp":"6744e3ee95192d0012ba1e03","dn":"These furred boots are snug and feel warm. While wearing them, you gain the following benefits.\n\nCold Resistance. You have Resistance to Cold damage and can tolerate temperatures of 0 degrees Fahrenheit or lower without any additional protection.\n\nWinter Strider. You ignore Difficult Terrain created by ice or snow.","eD":{"ee":true}},"cS":{"Am":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Boots of the Winterlands Attunement","cp":"6744e3ee95192d0012ba1e03","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Boots of the Winterlands Cold Resistance","cp":"6744e3ee95192d0012ba1e03","damage":"Cold","defense":"Resistance"}]}},{"nm":"Bowl of Commanding Water Elementals","blueprint":{"nm":"Bowl of Commanding Water Elementals","item":{"tp":"Item","cp":"6813f40ef9542900125c93b0","dn":"While this bowl is filled with water and you are within 5 feet of it, you can take a Magic action to summon a Water Elemental. The elemental appears in an unoccupied space as close to the bowl as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The bowl can't be used this way again until the next dawn.\nThe bowl is about 1 foot in diameter and half as deep. It holds about 3 gallons."},"cS":{"Resource":1,"Action":2},"ch":[{"id":"c1","tp":"Resource","nm":"Summon Water Elemental","rd":"Bowl of Commanding Water Elementals Resource","cp":"6813f40ef9542900125c93b0","vl":1},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Summon Water Elemental","rd":"Bowl of Commanding Water Elementals Action","cp":"6813f40ef9542900125c93b0","dn":"While this bowl is filled with water and you are within 5 feet of it, you can take a Magic action to summon a Water Elemental."},{"id":"c1-c2","tp":"Action","pt":"c1","nm":"Dismiss Water Elemental","rd":"Bowl of Commanding Water Elementals Bonus Action","cp":"6813f40ef9542900125c93b0","dn":"The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."}]}},{"nm":"Bracers of Archery","blueprint":{"nm":"Bracers of Archery","item":{"tp":"Item","cp":"6744e3ee95192d0012ba1e1e","dn":"While wearing these bracers, you have proficiency with the Longbow and Shortbow, and you gain a +2 bonus to damage rolls made with such weapons.","eD":{"ee":true}},"cS":{"Am":1,"Proficiency":2,"Effect":1},"ch":[{"id":"c1","tp":"Am","nm":"Bracers of Archery Attunement","cp":"6744e3ee95192d0012ba1e1e","an":false,"rE":true},{"id":"c1-c1","tp":"Proficiency","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Bracers of Archery Longbow Proficiency","cp":"6744e3ee95192d0012ba1e1e","cy":"Weapon"},{"id":"c1-c2","tp":"Proficiency","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Bracers of Archery Shortbow Proficiency","cp":"6744e3ee95192d0012ba1e1e","cy":"Weapon"},{"id":"c1-c3","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Bracers of Archery Bonus","rd":"Bracers of Archery Damage Effect","cp":"6744e3ee95192d0012ba1e1e","cy":"[\"Damage\"]","dn":"While wearing these bracers, you have proficiency with the Longbow and Shortbow, and you gain a +2 bonus to damage rolls made with such weapons.","active":false}]}},{"nm":"Bracers of Defense","blueprint":{"nm":"Bracers of Defense","item":{"tp":"Item","cp":"6744e40295192d0012ba23a7","dn":"While wearing these bracers, you gain a +2 bonus to Armor Class if you are wearing no armor and using no Shield.","eD":{"ee":true}},"cS":{"Am":1,"AC":1},"ch":[{"id":"c1","tp":"Am","nm":"Bracers of Defense Attunement","cp":"6744e40295192d0012ba23a7","an":false,"rE":true},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Bracers of Defense AC","cp":"6744e40295192d0012ba23a7","cl":"Modify","dA":false,"vl":{"fa":2}}]}},{"nm":"Brass Horn of Valhalla","blueprint":{"nm":"Brass Horn of Valhalla","item":{"tp":"Item","cp":"68152997a193700012c1229f","dn":"You can take a Magic action to blow this horn. In response, warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points. The spirits look like living, breathing warriors, and they have Immunity to the Charmed and Frightened conditions. Once you use the horn, it can't be used again until 7 days have passed.\nThis horn summons 3 Spirits and you must have Proficiency with all Simple weapons to control them. If you blow the horn without meeting its requirement, the summoned spirits attack you. If you meet the requirement, they are Friendly to you and your allies and follow your commands."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Blow Brass Horn of Valhalla","rd":"Brass Horn of Valhalla Action","cp":"68152997a193700012c1229f","dn":"You can take a Magic action to blow this horn. In response, three (3) warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points."}]}},{"nm":"Brazier of Commanding Fire Elementals","blueprint":{"nm":"Brazier of Commanding Fire Elementals","item":{"tp":"Item","cp":"6813f3cd350b5e00122c89f3","dn":"While you are within 5 feet of this brazier, you can take a Magic action to summon a Fire Elemental. The elemental appears in an unoccupied space as close to the brazier as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The brazier can't be used this way again until the next dawn."},"cS":{"Resource":1,"Action":2},"ch":[{"id":"c1","tp":"Resource","nm":"Summon Fire Elemental","rd":"Brazier of Commanding Fire Elementals Resource","cp":"6813f3cd350b5e00122c89f3","vl":1},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Summon Fire Elemental","rd":"Brazier of Commanding Fire Elementals Action","cp":"6813f3cd350b5e00122c89f3","dn":"While you are within 5 feet of this brazier, you can take a Magic action to summon a Fire Elemental."},{"id":"c1-c2","tp":"Action","pt":"c1","nm":"Dismiss Fire Elemental","rd":"Brazier of Commanding Fire Elementals Bonus Action","cp":"6813f3cd350b5e00122c89f3","dn":"The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."}]}},{"nm":"Bronze Griffon","blueprint":{"nm":"Bronze Griffon","item":{"tp":"Item","cp":"681529bba193700012c12a00","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine's description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn't enough space for the creature, the figurine doesn't become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can't be used again until a certain amount of time has passed, as specified in the figurine's description.\n\nBronze Griffon (Rare). This bronze statuette is of a griffon rampant. It can become a Griffon for up to 6 hours. Once it has been used, it can't be used again until 5 days have passed."},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Bronze Griffon Charges","rd":"Bronze Griffon Figurine of Wondrous Power Charges","cp":"681529bba193700012c12a00","vl":1},{"id":"c2","tp":"Action","nm":"Transform Bronze Griffon","rd":"Bronze Griffon Figurine of Wondrous Power Transform Magic Action","cp":"681529bba193700012c12a00","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Griffon for up to 6 hours. Once it has been used, it can't be used again until 5 days have passed."}]}},{"nm":"Broom of Flying","blueprint":{"nm":"Broom of Flying","item":{"tp":"Item","cp":"6744e42595192d0012ba2d05","dn":"This wooden broom functions like a mundane broom until you stand astride it and take a Magic action to make it hover beneath you, at which time it can be ridden in the air. It has a Fly Speed of 50 feet. It can carry up to 400 pounds, but its Fly Speed becomes 30 feet while carrying over 200 pounds. The broom stops hovering when you land or when you're no longer riding it. \nAs a Magic action, you can send the broom to travel alone to a destination within 1 mile of you if you name the location and are familiar with it. The broom comes back to you when you take a Magic action and use a command word if the broom is still within 1 mile of you."},"cS":{"Am":1,"Action":2,"Effect":1,"sp":1},"ch":[{"id":"c1","tp":"Am","nm":"Broom of Flying Attunement","cp":"6744e42595192d0012ba2d05","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Make Broom Hover","rd":"Broom of Flying Hover Action","cp":"6744e42595192d0012ba2d05","dn":"Take a Magic action to make it hover beneath you, at which time it can be ridden in the air."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Riding Broom of Flying","rd":"Broom of Flying Riding Effect","cp":"6744e42595192d0012ba2d05","cy":"[]","dn":"It has a Fly Speed of 50 feet. It can carry up to 400 pounds, but its Fly Speed becomes 30 feet while carrying over 200 pounds.","active":false},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Send or Recall Broom","rd":"Broom of Flying Travel To From Action","cp":"6744e42595192d0012ba2d05","dn":"As a Magic action, you can send the broom to travel alone to a destination within 1 mile of you if you name the location and are familiar with it. The broom comes back to you when you take a Magic action and use a command word if the broom is still within 1 mile of you."},{"id":"c1-c2-c1","tp":"sp","pt":"c1-c2","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune"]}],"nm":"Broom of Flying Fly Speed","cp":"6744e42595192d0012ba2d05","cl":"Set Base","se":"Fly","vl":{"fa":50}}]}},{"nm":"Burnt Other Fumes","blueprint":{"nm":"Burnt Other Fumes","item":{"tp":"Item","cp":"68152920a193700012c10ad7","dn":"A creature subjected to Burnt Othur Fumes must succeed on a DC 13 Constitution saving throw or take 10 (3d6) Poison damage, and it must repeat the save at the start of each of its turns. On each successive failed save, the creature takes 3 (1d6) Poison damage. After three successful saves, the poison ends."},"cS":{"Ak":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Burnt Othur Fumes","rd":"Burnt Othur Fumes Attack","cp":"68152920a193700012c10ad7","aT":"Action","dn":"A creature subjected to Burnt Othur Fumes must succeed on a DC 13 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature takes 10 (3d6) Poison damage, and it must repeat the save at the start of each of its turns. On each successive failed save, the creature takes 3 (1d6) Poison damage. After three successful saves, the poison ends.","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":13}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Burnt Othur Fumes Damage","cp":"68152920a193700012c10ad7","ay":"none","dT":"Poison","die":"d6","ct":3,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Burnt Othur Fumes Ongoing Damage","cp":"68152920a193700012c10ad7","ay":"none","dT":"Poison","die":"d6","ct":1,"oC":false}]}},{"nm":"Caltrops","blueprint":{"nm":"Caltrops","item":{"tp":"Item","cp":"6815293fa193700012c110fe","dn":"As a Utilize action, you can spread Caltrops from their bag to cover a 5-foot-square area within 5 feet of yourself. A creature that enters this area for the first time on a turn must succeed on a DC 15 Dexterity saving throw or take 1 Piercing damage and have its Speed reduced to 0 until the start of its next turn. It takes 10 minutes to recover the Caltrops.","wt":2},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Utilize Caltrops","rd":"Caltrops Attack","cp":"6815293fa193700012c110fe","aT":"Action","rg":"5 ft","dn":"As a Utilize action, you can spread Caltrops from their bag to cover a 5-foot-square area within 5 feet of yourself. A creature that enters this area for the first time on a turn must succeed on a DC 15 Dexterity saving throw or take 1 Piercing damage and have its Speed reduced to 0 until the start of its next turn. It takes 10 minutes to recover the Caltrops.","ak":{"tp":"Attack Save"},"save":{"onFail":"1 piercing damage & speed reduced to 0","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Caltrops Damage","cp":"6815293fa193700012c110fe","ay":"none","dT":"Piercing","bo":1,"oC":false}]}},{"nm":"Candle of Invocation","blueprint":{"nm":"Candle of Invocation","item":{"tp":"Item","cp":"6813f493d8a77f0013b5d736","dn":"This candle's magic is activated when the candle is lit, which requires a Magic action. After burning for 4 hours, the candle is destroyed. You can snuff it out early for use at a later time. Deduct the time it burned in increments of 1 minute from its total burn time.\nWhile lit, the candle sheds Dim Light in a 30-foot radius. While you are within that light, you have Advantage on D20 Tests. In addition, a Cleric or Druid in the light can cast level 1 spells they have prepared without expending spell slots.\nAlternatively, when you light the candle for the first time, you can cast Gate with it. Doing so destroys the candle. The portal created by the spell links to a particular Outer Plane chosen by the DM or determined by rolling on the following table.\n01-05 - Abyss\n06-10 - Acheron\n11-17 - Arborea\n18-25 - Arcadia\n26-33 - Beastlands\n34-41 - Bytopia\n42-46 - Carceri\n47-54 - Elysium\n55-59 - Gehenna\n60-64 - Hades\n65-69 - Limbo\n70-77 - Mechanus\n78-85 - Mount Celestia\n86-90 - Nine Hells\n91-95 - Pandemonium\n96-00 - Ysgard"},"cS":{"Am":1,"Action":1,"RB":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Candle of Invocation Attunement","cp":"6813f493d8a77f0013b5d736","an":false,"rE":false},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Light Candle of Invocation","rd":"Candle of Invocation Action","cp":"6813f493d8a77f0013b5d736","dn":"This candle's magic is activated when the candle is lit, which requires a Magic action. After burning for 4 hours, the candle is destroyed. You can snuff it out early for use at a later time. Deduct the time it burned in increments of 1 minute from its total burn time.\nWhile lit, the candle sheds Dim Light in a 30-foot radius. While you are within that light, you have Advantage on D20 Tests. In addition, a Cleric or Druid in the light can cast level 1 spells they have prepared without expending spell slots.\nAlternatively, when you light the candle for the first time, you can cast Gate with it. Doing so destroys the candle. The portal created by the spell links to a particular Outer Plane chosen by the DM or determined by rolling on the following table.\n\n01-05 - Abyss\n\n06-10 - Acheron\n\n11-17 - Arborea\n\n18-25 - Arcadia\n\n26-33 - Beastlands\n\n34-41 - Bytopia\n\n42-46 - Carceri\n\n47-54 - Elysium\n\n55-59 - Gehenna\n\n60-64 - Hades\n\n65-69 - Limbo\n\n70-77 - Mechanus\n\n78-85 - Mount Celestia\n\n86-90 - Nine Hells\n\n91-95 - Pandemonium\n\n96-00 - Ysgard"},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Candle of Invocation Roll Bonus","cp":"6813f493d8a77f0013b5d736","bC":"[\"Skills\",\"Ability Checks\",\"Initiative\",\"Saving Throws\",\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Gate","cp":"66e09014dc69af0030fa6d5d","dn":"You conjure a portal linking an unoccupied space you can see within range to a precise location on a different plane of existence. The portal is a circular opening, which you can make 5 to 20 feet in diameter. You can orient the portal in any direction you choose. The portal lasts for the duration, and the portal's destination is visible through it.\nThe portal has a front and a back on each plane where it appears. Travel through the portal is possible only by moving through its front. Anything that does so is instantly transported to the other plane, appearing in the unoccupied space nearest to the portal.\nDeities and other planar rulers can prevent portals created by this spell from opening in their presence or anywhere within their domains.\nWhen you cast this spell, you can speak the name of a specific creature (a pseudonym, title, or nickname doesn't work). If that creature is on a plane other than the one you are on, the portal opens next to the named creature and transports it to the nearest unoccupied space on your side of the portal. You gain no special power over the creature, and it is free to act as the DM deems appropriate. It might leave, attack you, or help you."}]}},{"nm":"Cape of the Mountebank","blueprint":{"nm":"Cape of the Mountebank","item":{"tp":"Item","cp":"6813f498a193700012be2d0c","dn":"This cape smells faintly of brimstone. While wearing it, you can use it to cast Dimension Door as a Magic action. This property can't be used again until the next dawn.\nWhen you teleport with that spell, you leave behind a cloud of smoke. The space you left is Lightly Obscured by that smoke until the end of your next turn.","eD":{"ee":true}},"cS":{"Resource":1,"Spell":1},"ch":[{"id":"c1","tp":"Resource","nm":"Cape of the Mountebank","rd":"Cape of the Mountebank Resource","cp":"6813f498a193700012be2d0c","vl":1},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Dimension Door","cp":"66e08fc9dc69af0030fa5b8e","dn":"You teleport to a location within range. You arrive at exactly the spot desired. It can be a place you can see, one you can visualize, or one you can describe by stating distance and direction, such as '200 feet straight downward' or '300 feet upward to the northwest at a 45-degree angle.'\nYou can also teleport one willing creature. The creature must be within 5 feet of you when you teleport, and it teleports to a space within 5 feet of your destination space.\nIf you, the other creature, or both would arrive in a space occupied by a creature or completely filled by one or more objects, you and any creature traveling with you each take 4d6 Force damage, and the teleportation fails."}]}},{"nm":"Carpet of Flying","blueprint":{"nm":"Carpet of Flying","item":{"tp":"Item","cp":"6813f4a1769a630012650cf4","dn":"You can make this carpet hover and fly by taking a Magic action and using the carpet's command word. It moves according to your directions if you are within 30 feet of it.\n\nFour sizes of Carpet of Flying exist. The DM chooses the size of a given carpet or determines it randomly by rolling on the following table. A carpet can carry up to twice the weight shown on the table, but its Fly Speed is halved if it carries more than its normal capacity.\n\n1d100 - Size - Capacity - Fly Speed\n\n01-20 - 3 ft. × 5 ft. - 200 lb. - 80 feet\n\n21-55 - 4 ft. × 6 ft. - 400 lb. - 60 feet\n\n56-80 - 5 ft. × 7 ft. - 600 lb. - 40 feet\n\n81-00 - 6 ft. × 9 ft. - 800 lb. - 30 feet"},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Command Word (Carpet of Flying)","rd":"Carpet of Flying Action","cp":"6813f4a1769a630012650cf4","dn":"You can make the Carpet of Flying hover and fly by taking a Magic action and using the carpet's command word. It moves according to your directions if you are within 30 feet of it."}]}},{"nm":"Carrion Crawler Mucus","blueprint":{"nm":"Carrion Crawler Mucus","item":{"tp":"Item","cp":"6813f1ae350b5e00122c827f","dn":"A creature subjected to Carrion Crawler Mucus must succeed on a DC 13 Constitution saving throw or have the Poisoned condition for 1 minute. The creature also has the Paralyzed condition while Poisoned in this way. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success."},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Carrion Crawler Mucus","rd":"Carrion Crawler Mucus Attack","cp":"6813f1ae350b5e00122c827f","aT":"Action","dn":"A creature subjected to Carrion Crawler Mucus must succeed on a DC 13 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Poisoned condition for 1 minute. The creature also has the Paralyzed condition while Poisoned in this way. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success.","saveAbility":"Constitution","saveFlat":13}}]}},{"nm":"Censer of Controlling Air Elementals","blueprint":{"nm":"Censer of Controlling Air Elementals","item":{"tp":"Item","cp":"6813f4eba193700012be2e1e","dn":"While gently swinging this censer, you can take a Magic action to summon an Air Elemental. The elemental appears in an unoccupied space as close to the censer as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The censer can't be used this way again until the next dawn."},"cS":{"Resource":1,"Action":2},"ch":[{"id":"c1","tp":"Resource","nm":"Censer of Controlling Air Elementals","rd":"Censer of Controlling Air Elementals Resource","cp":"6813f4eba193700012be2e1e","vl":1},{"id":"c2","tp":"Action","nm":"Dismiss Air Elemental","rd":"Censer of Controlling Air Elementals Bonus Action","cp":"6813f4eba193700012be2e1e","dn":"The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Summon Air Elemental","rd":"Censer of Controlling Air Elementals Action","cp":"6813f4eba193700012be2e1e","dn":"While gently swinging this censer, you can take a Magic action to summon an Air Elemental."}]}},{"nm":"Chime of Opening","blueprint":{"nm":"Chime of Opening","item":{"tp":"Item","cp":"6813f4f7769a630012650e46","dn":"This hollow metal tube measures about 1 foot long and weighs 1 pound. As a Magic action, you can strike the chime to cast Knock. The spell's customary knocking sound is replaced by the clear, ringing tone of the chime, which is audible out to 300 feet.\nThe chime can be used 10 times. After the tenth time, it cracks and becomes useless."},"cS":{"Resource":1,"Action":1,"Spell":1},"ch":[{"id":"c1","tp":"Resource","nm":"Chime of Opening Charges","cp":"6813f4f7769a630012650e46","vl":10},{"id":"c2","tp":"Action","nm":"Strike Chime","rd":"Chime of Opening Action","cp":"6813f4f7769a630012650e46","dn":"As a Magic action, you can strike the chime to cast Knock. The spell's customary knocking sound is replaced by the clear, ringing tone of the chime, which is audible out to 300 feet."},{"id":"c3","tp":"Spell","nm":"Knock","cp":"66e07b4928743a0012c86313","dn":"Choose an object that you can see within range. The object can be a door, a box, a chest, a set of manacles, a padlock, or another object that contains a mundane or magical means that prevents access.\nA target that is held shut by a mundane lock or that is stuck or barred becomes unlocked, unstuck, or unbarred. If the object has multiple locks, only one of them is unlocked.\nIf the target is held shut by Arcane Lock, that spell is suppressed for 10 minutes, during which time the target can be opened and closed.\nWhen you cast the spell, a loud knock, audible up to 300 feet away, emanates from the target."}]}},{"nm":"Circlet of Blasting","blueprint":{"nm":"Circlet of Blasting","item":{"tp":"Item","cp":"6744e3f795192d0012ba2092","dn":"While wearing this circlet, you can cast Scorching Ray with it (+5 to hit). The circlet can't cast this spell again until the next dawn.","eD":{"ee":true}},"cS":{"Resource":1,"Spell":1,"Ak":1,"dm":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Resource","nm":"Circlet of Blasting","rd":"Circlet of Blasting Resource","cp":"6744e3f795192d0012ba2092","vl":1},{"id":"c2","tp":"Spell","nm":"Scorching Ray","cp":"66e08fdcdc69af0030fa6013","dn":"You hurl three fiery rays. You can hurl them at one target within range or at several. Make a ranged spell attack for each ray. On a hit, the target takes 2d6 Fire damage."},{"id":"c2-c1","tp":"Ak","pt":"c2","nm":"Scorching Ray","rd":"Scorching Ray Attack","cp":"66e08fdcdc69af0030fa6013","aT":"Action","rg":"120 feet","dn":"You hurl three fiery rays. You can hurl them at one target within range or at several. Make a ranged spell attack for each ray.","ak":{"tp":"Spell Attack"}},{"id":"c2-c1-c1","tp":"dm","pt":"c2-c1","nm":"Scorching Ray Damage","cp":"66e08fdcdc69af0030fa6013","ay":"none","dT":"Fire","die":"d6","ct":2,"oC":false},{"id":"c2-c1-c2","tp":"Upcasting","pt":"c2-c1","nm":"Scorching Ray Upcast","cp":"66e08fdcdc69af0030fa6013","vl":1}]}},{"nm":"Cloak of Arachnida","blueprint":{"nm":"Cloak of Arachnida","item":{"tp":"Item","cp":"6744e4a695192d0012ba4ee8","dn":"This fine garment is made of black silk interwoven with faint, silvery threads. While wearing it, you gain the following benefits.\nPoison Resistance. You have Resistance to Poison damage.\nSpider Climb. You have a Climb Speed equal to your Speed and can move up, down, and across vertical surfaces and along ceilings, while leaving your hands free.\nSpider Walk. You can't be caught in webs of any sort and can move through webs as if they were Difficult Terrain.\nWeb. You can cast Web (save DC 13). The web created by the spell fills twice its normal area. Once used, this property can't be used again until the next dawn.","eD":{"ee":true}},"cS":{"Am":1,"Defense":1,"sp":2,"Spell":1,"Resource":1,"Ak":2,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of Arachnida Attunement","cp":"6744e4a695192d0012ba4ee8","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Arachnida Poison Resistance","cp":"6744e4a695192d0012ba4ee8","damage":"Poison","defense":"Resistance"},{"id":"c1-c2","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Arachnida Climb Speed 30","cp":"6744e4a695192d0012ba4ee8","cl":"Set Value","se":"Climb","vl":{"fa":30}},{"id":"c1-c3","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Arachnida Climb Speed","cp":"6744e4a695192d0012ba4ee8","cl":"Set Base","se":"Climb"},{"id":"c1-c4","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web","cp":"66e08f54dc69af0030fa3820","dn":"You conjure a mass of sticky webbing at a point within range. The webs fill a 20-foot Cube there for the duration. The webs are Difficult Terrain, and the area within them is Lightly Obscured.\nIf the webs aren't anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet.\nThe first time a creature enters the webs on a turn or starts its turn there, it must succeed on a Dexterity saving throw or have the Restrained condition while in the webs or until it breaks free.\nA creature Restrained by the webs can take an action to make a Strength (Athletics) check against your spell save DC. If it succeeds, it is no longer Restrained.\nThe webs are flammable. Any 5-foot Cube of webs exposed to fire burns away in 1 round, dealing 2d4 Fire damage to any creature that starts its turn in the fire."},{"id":"c1-c5","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web (Cloak of Arachnida)","rd":"Cloak of Arachnida Web Resource","cp":"6744e4a695192d0012ba4ee8","vl":1},{"id":"c1-c4-c1","tp":"Ak","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web","rd":"Web Attack","cp":"66e08f54dc69af0030fa3820","aT":"Action","dn":"The first time a creature enters the webs on a turn or starts its turn there, it must succeed on a Dexterity saving throw or have the Restrained condition while in the webs or until it breaks free.","ak":{"tp":"Spell Save"},"save":{"onFail":"Has the Restrained condition while in the webs or until it breaks free.","saveAbility":"Dexterity"}},{"id":"c1-c4-c2","tp":"Ak","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web - On Fire","rd":"Web Fire Attack","cp":"66e08f54dc69af0030fa3820","aT":"Free Action","dn":"The webs are flammable. Any 5-foot Cube of webs exposed to fire burns away in 1 round, dealing 2d4 Fire damage to any creature that starts its turn in the fire."},{"id":"c1-c4-c2-c1","tp":"dm","pt":"c1-c4-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web Fire Damage","cp":"66e08f54dc69af0030fa3820","ay":"none","dT":"Fire","die":"d4","ct":2,"oC":false}]}},{"nm":"Cloak of Displacement","blueprint":{"nm":"Cloak of Displacement","item":{"tp":"Item","cp":"6813f4fdc19cbf0012ac1325","dn":"While you wear this cloak, it magically projects an illusion that makes you appear to be standing in a place near your actual location, causing any creature to have Disadvantage on attack rolls against you. If you take damage, the property ceases to function until the start of your next turn. This property is suppressed while your Speed is 0.","eD":{"ee":true}},"cS":{"Am":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of Displacement Attunement","cp":"6813f4fdc19cbf0012ac1325","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Displacement Disadvantage","cp":"6813f4fdc19cbf0012ac1325","defense":"Resistance","details":"Cloak of Displacement - Attacks against you are at disadvantage. If you take damage, the property ceases to function until the start of your next turn. This property is suppressed while your Speed is 0."}]}},{"nm":"Cloak of Elvenkind","blueprint":{"nm":"Cloak of Elvenkind","item":{"tp":"Item","cp":"6813f504a009ba0012a33b07","dn":"While you wear this cloak, Wisdom (Perception) checks made to perceive you have Disadvantage, and you have Advantage on Dexterity (Stealth) checks.","eD":{"ee":true}},"cS":{"Am":1,"RB":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of Elvenkind Attunement","cp":"6813f504a009ba0012a33b07","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Elvenkind Stealth Advantage","cp":"6813f504a009ba0012a33b07","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Stealth\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Elvenkind Disadvantage","cp":"6813f504a009ba0012a33b07","defense":"Resistance","details":"While you wear the Cloak of Elvenkind, Wisdom (Perception) checks made to perceive you have Disadvantage."}]}},{"nm":"Cloak of Invisibility","blueprint":{"nm":"Cloak of Invisibility","item":{"tp":"Item","cp":"6744e4e795192d0012ba5cfe","dn":"This cloak has 3 charges and regains 1d3 expended charges daily at dawn. While wearing the cloak, you can take a Magic action to pull its hood over your head and expend 1 charge to give yourself the Invisible condition for 1 hour. The effect ends early if you pull the hood down (no action required) or cease wearing the cloak.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of Invisibility Attunement","cp":"6744e4e795192d0012ba5cfe","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Invisibility Charges","rd":"Cloak of Invisibility Resource","cp":"6744e4e795192d0012ba5cfe","vl":3},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Invisibility","rd":"Cloak of Invisibility Action","cp":"6744e4e795192d0012ba5cfe","dn":"While wearing the Cloak of Invisibility, you can take a Magic action to pull its hood over your head and expend 1 charge to give yourself the Invisible condition for 1 hour. The effect ends early if you pull the hood down (no action required) or cease wearing the cloak."}]}},{"nm":"Cloak of Protection","blueprint":{"nm":"Cloak of Protection","item":{"tp":"Item","cp":"6744e42795192d0012ba2d5b","dn":"You gain a +1 bonus to Armor Class and saving throws while you wear this cloak.","eD":{"ee":true}},"cS":{"Am":1,"AC":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of Protection Attunement","cp":"6744e42795192d0012ba2d5b","an":false,"rE":true},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Protection AC Bonus","cp":"6744e42795192d0012ba2d5b","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of Protection Save Bonus","cp":"6744e42795192d0012ba2d5b","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false}]}},{"nm":"Cloak of the Bat","blueprint":{"nm":"Cloak of the Bat","item":{"tp":"Item","cp":"6744e2d795192d0012b9db91","dn":"While wearing this cloak, you have Advantage on Dexterity (Stealth) checks. In an area of Dim Light or Darkness, you can grip the edges of the cloak and use it to gain a Fly Speed of 40 feet. If you ever fail to grip the cloak's edges while flying in this way, or if you are no longer in Dim Light or Darkness, you lose this Fly Speed.\nWhile wearing the cloak in an area of Dim Light or Darkness, you can cast Polymorph on yourself, shape-shifting into a Bat. While in that form, you retain your Intelligence, Wisdom, and Charisma scores. The cloak can't be used this way again until the next dawn.","eD":{"ee":true}},"cS":{"Am":1,"RB":1,"Effect":1,"sp":1,"Resource":1,"Spell":1,"Condition":1,"Ak":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of the Bat Attunement","cp":"6744e2d795192d0012b9db91","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of the Bat Advantage","cp":"6744e2d795192d0012b9db91","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Stealth\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of the Bat in Dim Light","rd":"Cloak of the Bat Dim Light Effect","cp":"6744e2d795192d0012b9db91","cy":"[]","dn":"In an area of Dim Light or Darkness, you can grip the edges of the cloak and use it to gain a Fly Speed of 40 feet. If you ever fail to grip the cloak's edges while flying in this way, or if you are no longer in Dim Light or Darkness, you lose this Fly Speed.\nWhile wearing the cloak in an area of Dim Light or Darkness, you can cast Polymorph on yourself, shape-shifting into a Bat. While in that form, you retain your Intelligence, Wisdom, and Charisma scores. The cloak can't be used this way again until the next dawn.","active":false},{"id":"c1-c2-c1","tp":"sp","pt":"c1-c2","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of the Bat Fly Speed","cp":"6744e2d795192d0012b9db91","cl":"Set Base","se":"Fly","vl":{"fa":40}},{"id":"c1-c2-c2","tp":"Resource","pt":"c1-c2","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of the Bat Self-Polymorph","rd":"Cloak of the Bat Polymorph Resource","cp":"6744e2d795192d0012b9db91","vl":1},{"id":"c1-c2-c2-c1","tp":"Spell","pt":"c1-c2-c2","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Polymorph","cp":"66e0901edc69af0030fa6fca","dn":"You attempt to transform a creature that you can see within range into a Beast. The target must succeed on a Wisdom saving throw or shape-shift into a Beast form for the duration. That form can be any Beast you choose that has a Challenge Rating equal to or less than the target's (or the target's level if it doesn't have a Challenge Rating). The target's game statistics are replaced by the stat block of the chosen Beast, but the target retains its alignment, personality, creature type, Hit Points, and Hit Point Dice. See appendix B for a sample of Beast stat blocks.\nThe target gains a number of Temporary Hit Points equal to the Hit Points of the Beast form. These Temporary Hit Points vanish if any remain when the spell ends. The spell ends early on the target if it has no Temporary Hit Points left.\nThe target is limited in the actions it can perform by the anatomy of its new form, and it can't speak or cast spells.\nThe target's gear melds into the new form. The creature can't use or otherwise benefit from any of that equipment."},{"id":"c1-c2-c2-c1-c1","tp":"Condition","pt":"c1-c2-c2-c1","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Polymorph","rd":"Polymorph Condition","cp":"66e0901edc69af0030fa6fca","dn":"The target's game statistics are replaced by the stat block of the chosen Beast, but the target retains its alignment, personality, creature type, Hit Points, and Hit Point Dice. See appendix B for a sample of Beast stat blocks. The target gains a number of Temporary Hit Points equal to the Hit Points of the Beast form. These Temporary Hit Points vanish if any remain when the spell ends. The spell ends early on the target if it has no Temporary Hit Points left. The target is limited in the actions it can perform by the anatomy of its new form, and it can't speak or cast spells. The target's gear melds into the new form. The creature can't use or otherwise benefit from any of that equipment."},{"id":"c1-c2-c2-c1-c2","tp":"Ak","pt":"c1-c2-c2-c1","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Polymorph","rd":"Polymorph Attack","cp":"66e0901edc69af0030fa6fca","aT":"Action","dn":"The target must succeed on a Wisdom saving throw or shape-shift into a Beast form for the duration.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target shape-shifts into a Beast form for the duration.","onSucceed":"No effect.","saveAbility":"Wisdom"}}]}},{"nm":"Cloak of the Manta Ray","blueprint":{"nm":"Cloak of the Manta Ray","item":{"tp":"Item","cp":"6813f50aaa185e00125459c0","dn":"While wearing this cloak, you can breathe underwater, and you have a Swim Speed of 60 feet.","eD":{"ee":true}},"cS":{"Am":1,"sp":1},"ch":[{"id":"c1","tp":"Am","nm":"Cloak of the Manta Ray Attunement","cp":"6813f50aaa185e00125459c0","an":false,"rE":true},{"id":"c1-c1","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cloak of the Manta Ray Swim Speed","cp":"6813f50aaa185e00125459c0","cl":"Set Base","se":"Swim","vl":{"fa":60}}]}},{"nm":"Crystal Ball","blueprint":{"nm":"Crystal Ball","item":{"tp":"Item","cp":"6744e3d995192d0012ba1888","dn":"While touching this crystal orb, you can cast Scrying (save DC 17) with it."},"cS":{"Am":1,"Spell":1,"Ak":1},"ch":[{"id":"c1","tp":"Am","nm":"Crystal Ball Attunement","cp":"6744e3d995192d0012ba1888","an":false,"rE":false},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","cp":"66e08f9fdc69af0030fa51a4","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it. The target doesn't know what it is making the save against, only that it feels uneasy.\nYour Knowledge of the Target Is... - Save Modifier\nSecondhand (heard of the target) - 5\nFirsthand (met the target) - 0\nExtensive (know the target well) - -5\nYou Have the Target's... - Save Modifier\nPicture or other likeness - -2\nGarment or other possession - -4\nBody part, lock of hair, or bit of nail - -10\nOn a successful save, the target isn't affected, and you can't use this spell on it again for 24 hours.\nOn a failed save, the spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration. If something can see the sensor, it appears as a luminous orb about the size of your fist.\nInstead of targeting a creature, you can target a location you have seen. When you do so, the sensor appears at that location and doesn't move."},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","rd":"Scrying Attack","cp":"66e08f9fdc69af0030fa51a4","aT":"Action","rg":"120 feet","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it.","ak":{"tp":"Spell Save"},"save":{"onFail":"The spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration.","onSucceed":"Target isn't affected, and you can't use this spell on it again for 24 hours.","saveAbility":"Wisdom"}}]}},{"nm":"Crystal Ball of Mind Reading","blueprint":{"nm":"Crystal Ball of Mind Reading","item":{"tp":"Item","cp":"6744e2d995192d0012b9dbff","dn":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you can cast Detect Thoughts (save DC 17) targeting creatures you can see within 30 feet of the spell's sensor. You don't need to concentrate on this Detect Thoughts spell to maintain it during its duration, but it ends if the Scrying spell ends."},"cS":{"Am":1,"Spell":2,"Ak":2,"Condition":1,"Action":3},"ch":[{"id":"c1","tp":"Am","nm":"Crystal Ball of Mind Reading Attunement","cp":"6744e2d995192d0012b9dbff","an":false,"rE":false},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","cp":"66e08f9fdc69af0030fa51a4","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it. The target doesn't know what it is making the save against, only that it feels uneasy.\nYour Knowledge of the Target Is... - Save Modifier\nSecondhand (heard of the target) - 5\nFirsthand (met the target) - 0\nExtensive (know the target well) - -5\nYou Have the Target's... - Save Modifier\nPicture or other likeness - -2\nGarment or other possession - -4\nBody part, lock of hair, or bit of nail - -10\nOn a successful save, the target isn't affected, and you can't use this spell on it again for 24 hours.\nOn a failed save, the spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration. If something can see the sensor, it appears as a luminous orb about the size of your fist.\nInstead of targeting a creature, you can target a location you have seen. When you do so, the sensor appears at that location and doesn't move."},{"id":"c1-c2","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Detect Thoughts","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects below. Until the spell ends, you can activate either effect as a Magic action on your later turns.\nSense Thoughts. You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\nRead Thoughts. Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing.\nAs a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","rd":"Scrying Attack","cp":"66e08f9fdc69af0030fa51a4","aT":"Action","rg":"120 feet","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it.","ak":{"tp":"Spell Save"},"save":{"onFail":"The spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration.","onSucceed":"Target isn't affected, and you can't use this spell on it again for 24 hours.","saveAbility":"Wisdom"}},{"id":"c1-c2-c1","tp":"Condition","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Detect Thoughts Spell","rd":"Detect Thoughts Condition","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects: Sense Thoughts, Read Thoughts. Until the spell ends, you can activate either effect as a Magic action on your later turns."},{"id":"c1-c2-c2","tp":"Ak","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Attack","cp":"66e08f9ddc69af0030fa5138","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"You discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate).","onSucceed":"Spell ends.","saveAbility":"Wisdom"}},{"id":"c1-c2-c1-c1","tp":"Action","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune"]},{"ref":"c1-c2-c1","actions":["Activate"]}],"nm":"Sense Thoughts","rd":"Sense Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\n\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\n"},{"id":"c1-c2-c1-c2","tp":"Action","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune"]},{"ref":"c1-c2-c1","actions":["Activate"]}],"nm":"Read Thoughts","rd":"Read Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing."},{"id":"c1-c2-c1-c3","tp":"Action","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune"]},{"ref":"c1-c2-c1","actions":["Activate"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Action","cp":"66e08f9ddc69af0030fa5138","dn":"As a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."}]}},{"nm":"Crystal Ball of Telepathy","blueprint":{"nm":"Crystal Ball of Telepathy","item":{"tp":"Item","cp":"6744e3dc95192d0012ba1928","dn":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you can communicate telepathically with creatures you can see within 30 feet of the spell's sensor. You can also cast Suggestion (save DC 17) through the sensor on one of those creatures. You don't need to concentrate on this Suggestion to maintain it during its duration, but it ends if Scrying ends. You can't cast Suggestion in this way again until the next dawn."},"cS":{"Am":1,"Resource":1,"Spell":2,"Ak":2},"ch":[{"id":"c1","tp":"Am","nm":"Crystal Ball of Telepathy Attunement","cp":"6744e3dc95192d0012ba1928","an":false,"rE":false},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Crystal Ball of Telepathy Suggestion","rd":"Crystal Ball of Telepathy Suggestion Resource","cp":"6744e3dc95192d0012ba1928","vl":1},{"id":"c1-c2","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","cp":"66e08f9fdc69af0030fa51a4","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it. The target doesn't know what it is making the save against, only that it feels uneasy.\nYour Knowledge of the Target Is... - Save Modifier\nSecondhand (heard of the target) - 5\nFirsthand (met the target) - 0\nExtensive (know the target well) - -5\nYou Have the Target's... - Save Modifier\nPicture or other likeness - -2\nGarment or other possession - -4\nBody part, lock of hair, or bit of nail - -10\nOn a successful save, the target isn't affected, and you can't use this spell on it again for 24 hours.\nOn a failed save, the spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration. If something can see the sensor, it appears as a luminous orb about the size of your fist.\nInstead of targeting a creature, you can target a location you have seen. When you do so, the sensor appears at that location and doesn't move."},{"id":"c1-c3","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Suggestion","cp":"66db362de8846e0012e41786","dn":"You suggest a course of activity - described in no more than 25 words - to one creature you can see within range that can hear and understand you. The suggestion must sound achievable and not involve anything that would obviously deal damage to the target or its allies. For example, you could say, 'Fetch the key to the cult's treasure vault, and give the key to me.' Or you could say, 'Stop fighting, leave this library peacefully, and don't return.'\nThe target must succeed on a Wisdom saving throw or have the Charmed condition for the duration or until you or your allies deal damage to the target. The Charmed target pursues the suggestion to the best of its ability. The suggested activity can continue for the entire duration, but if the suggested activity can be completed in a shorter time, the spell ends for the target upon completing it."},{"id":"c1-c2-c1","tp":"Ak","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","rd":"Scrying Attack","cp":"66e08f9fdc69af0030fa51a4","aT":"Action","rg":"120 feet","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it.","ak":{"tp":"Spell Save"},"save":{"onFail":"The spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration.","onSucceed":"Target isn't affected, and you can't use this spell on it again for 24 hours.","saveAbility":"Wisdom"}},{"id":"c1-c3-c1","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Suggestion","rd":"Suggestion Attack","cp":"66db362de8846e0012e41786","aT":"Action","dn":"You suggest a course of activity - described in no more than 25 words - to one creature you can see within range that can hear and understand you. The suggestion must sound achievable and not involve anything that would obviously deal damage to the target or its allies. For example, you could say, 'Fetch the key to the cult's treasure vault, and give the key to me.' Or you could say, 'Stop fighting, leave this library peacefully, and don't return.'\nThe target must succeed on a Wisdom saving throw or have the Charmed condition for the duration or until you or your allies deal damage to the target.","ak":{"tp":"Spell Save"},"save":{"onFail":"Have the Charmed condition for the duration or until you or your allies deal damage to the target.","saveAbility":"Wisdom"}}]}},{"nm":"Crystal Ball of True Seeing","blueprint":{"nm":"Crystal Ball of True Seeing","item":{"tp":"Item","cp":"6744e42995192d0012ba2dd8","dn":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you have Truesight with a range of 120 feet centered on the spell's sensor."},"cS":{"Am":1,"Spell":1,"Effect":1,"Ak":1,"Sense":1},"ch":[{"id":"c1","tp":"Am","nm":"Crystal Ball of True Seeing Attunement","cp":"6744e42995192d0012ba2dd8","an":false,"rE":true},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","cp":"66e08f9fdc69af0030fa51a4","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it. The target doesn't know what it is making the save against, only that it feels uneasy.\nYour Knowledge of the Target Is... - Save Modifier\nSecondhand (heard of the target) - 5\nFirsthand (met the target) - 0\nExtensive (know the target well) - -5\nYou Have the Target's... - Save Modifier\nPicture or other likeness - -2\nGarment or other possession - -4\nBody part, lock of hair, or bit of nail - -10\nOn a successful save, the target isn't affected, and you can't use this spell on it again for 24 hours.\nOn a failed save, the spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration. If something can see the sensor, it appears as a luminous orb about the size of your fist.\nInstead of targeting a creature, you can target a location you have seen. When you do so, the sensor appears at that location and doesn't move."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Crystal Ball of True Seeing","rd":"Crystal Ball of True Seeing Effect","cp":"6744e42995192d0012ba2dd8","cy":"[]","dn":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you have Truesight with a range of 120 feet centered on the spell's sensor.","active":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Scrying","rd":"Scrying Attack","cp":"66e08f9fdc69af0030fa51a4","aT":"Action","rg":"120 feet","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it.","ak":{"tp":"Spell Save"},"save":{"onFail":"The spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration.","onSucceed":"Target isn't affected, and you can't use this spell on it again for 24 hours.","saveAbility":"Wisdom"}},{"id":"c1-c2-c1","tp":"Sense","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune"]},{"ref":"c1-c2","actions":["Activate"]}],"nm":"Truesight","rd":"Crystal Ball of True Seeing Truesight","cp":"6744e42995192d0012ba2dd8","cl":"Set Base","vl":{"fa":120}}]}},{"nm":"Cube of Force","blueprint":{"nm":"Cube of Force","item":{"tp":"Item","cp":"6813f55a350b5e00122c8f77","dn":"This cube is about an inch across. Each face has a distinct marking on it. You can press one of those faces, expend the number of charges required for it, and thereby cast the spell associated with it (save DC 17), as shown in the Cube of Force Faces table.\nThe cube starts with 10 charges, and it regains 1d6 expended charges daily at dawn.\nCube of Force Faces\nSpell | Charge Cost\nMage Armor | 1\nShield | 1\nLeomund's Tiny Hut | 3\nMordenkainen's Private Sanctum | 4\nOtiluke's Resilient Sphere | 4\nWall of Force | 5"},"cS":{"Am":1,"Resource":1,"Spell":3,"Condition":1,"Effect":1,"AC":2},"ch":[{"id":"c1","tp":"Am","nm":"Cube of Force Attunement","cp":"6813f55a350b5e00122c8f77","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Cube of Force Charges","cp":"6813f55a350b5e00122c8f77","vl":10},{"id":"c1-c2","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Mage Armor","cp":"66e08fc9dc69af0030fa5b73","dn":"You touch a willing creature who isn't wearing armor. Until the spell ends, the target's base AC becomes 13 plus its Dexterity modifier. The spell ends early if the target dons armor."},{"id":"c1-c3","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Shield","cp":"66e08fa0dc69af0030fa51f5","dn":"Reaction, which you take when you are hit by an attack roll or targeted by the Magic Missile spell. An imperceptible barrier of magical force protects you. Until the start of your next turn, you have a +5 bonus to AC, including against the triggering attack, and you take no damage from Magic Missile."},{"id":"c1-c4","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Wall of Force","cp":"66e08fc3dc69af0030fa5a14","dn":"An Invisible wall of force springs into existence at a point you choose within range. The wall appears in any orientation you choose, as a horizontal or vertical barrier or at an angle. It can be free floating or resting on a solid surface. You can form it into a hemispherical dome or a globe with a radius of up to 10 feet, or you can shape a flat surface made up of ten 10-foot-by-10-foot panels. Each panel must be contiguous with another panel. In any form, the wall is 1/4 inch thick and lasts for the duration. If the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side).\nNothing can physically pass through the wall. It is immune to all damage and can't be dispelled by Dispel Magic. A Disintegrate spell destroys the wall instantly, however. The wall also extends into the Ethereal Plane and blocks ethereal travel through the wall."},{"id":"c1-c2-c1","tp":"Condition","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Mage Armor","rd":"Mage Armor Condition","cp":"66e08fc9dc69af0030fa5b73","dn":""},{"id":"c1-c3-c1","tp":"Effect","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Shield","rd":"Shield Effect","cp":"66e08fa0dc69af0030fa51f5","cy":"[]","dn":"Until the start of your next turn, you have a +5 bonus to AC, including against the triggering attack, and you take no damage from Magic Missile.","active":false},{"id":"c1-c2-c1-c1","tp":"AC","pt":"c1-c2-c1","cascades":[{"ref":"c1-c2-c1","actions":["Activate"]},{"ref":"i","actions":["Attune"]}],"nm":"Mage Armor AC Bonus","cp":"66e08fc9dc69af0030fa5b73","cl":"Set Base","dA":false,"vl":{"fa":13}},{"id":"c1-c3-c1-c1","tp":"AC","pt":"c1-c3-c1","cascades":[{"ref":"c1-c3-c1","actions":["Activate"]},{"ref":"i","actions":["Attune"]}],"nm":"Shield AC Bonus","cp":"66e08fa0dc69af0030fa51f5","cl":"Modify","dA":false,"vl":{"fa":5}}]}},{"nm":"Cubic Gate","blueprint":{"nm":"Cubic Gate","item":{"tp":"Item","cp":"6813f579614c8000122cffc3","dn":"This cube is 3 inches across and radiates palpable magical energy. The six sides of the cube are each keyed to a different plane of existence, one of which is the Material Plane. The other sides are linked to planes determined by the DM.\nThe cube has 3 charges and regains 1d3 expended charges daily at dawn. As a Magic action, you can expend 1 of the cube's charges to cast one of the following spells using the cube.\nGate. Pressing one side of the cube, you cast Gate, opening a portal to the plane of existence keyed to that side.\nPlane Shift. Pressing one side of the cube twice, you cast Plane Shift, transporting the targets to the plane of existence keyed to that side."},"cS":{"Resource":1,"Action":1,"Spell":2},"ch":[{"id":"c1","tp":"Resource","nm":"Cubic Gate Charges","cp":"6813f579614c8000122cffc3","vl":3},{"id":"c2","tp":"Action","nm":"Expend Cubic Gate Charge","rd":"Cubic Gate Action","cp":"6813f579614c8000122cffc3","dn":"As a Magic action, you can expend 1 of the cube's charges to cast one of the following spells using the cube: Mage Armor (1 charge), Shield (1 charge), Leomund's Tiny Hut (3 charges), Mordenkainen's Private Sanctum (4 charges), Otiluke's Resilient Sphere (4 charges), or Wall of Force (5 charges)"},{"id":"c3","tp":"Spell","nm":"Gate","cp":"66e09014dc69af0030fa6d5d","dn":"You conjure a portal linking an unoccupied space you can see within range to a precise location on a different plane of existence. The portal is a circular opening, which you can make 5 to 20 feet in diameter. You can orient the portal in any direction you choose. The portal lasts for the duration, and the portal's destination is visible through it.\nThe portal has a front and a back on each plane where it appears. Travel through the portal is possible only by moving through its front. Anything that does so is instantly transported to the other plane, appearing in the unoccupied space nearest to the portal.\nDeities and other planar rulers can prevent portals created by this spell from opening in their presence or anywhere within their domains.\nWhen you cast this spell, you can speak the name of a specific creature (a pseudonym, title, or nickname doesn't work). If that creature is on a plane other than the one you are on, the portal opens next to the named creature and transports it to the nearest unoccupied space on your side of the portal. You gain no special power over the creature, and it is free to act as the DM deems appropriate. It might leave, attack you, or help you."},{"id":"c4","tp":"Spell","nm":"Plane Shift","cp":"66e0901bdc69af0030fa6f0d","dn":"You and up to eight willing creatures who link hands in a circle are transported to a different plane of existence. You can specify a target destination in general terms, such as the City of Brass on the Elemental Plane of Fire or the palace of Dispater on the second level of the Nine Hells, and you appear in or near that destination, as determined by the DM.\nAlternatively, if you know the sigil sequence of a teleportation circle on another plane of existence, this spell can take you to that circle. If the teleportation circle is too small to hold all the creatures you transported, they appear in the closest unoccupied spaces next to the circle."}]}},{"nm":"Decanter of Endless Water","blueprint":{"nm":"Decanter of Endless Water","item":{"tp":"Item","cp":"6813f5c1a009ba0012a33e5a","dn":"This stoppered flask sloshes when shaken, as if it contains water. The decanter weighs 2 pounds.\nYou can take a Magic action to remove the stopper and issue one of three command words, whereupon an amount of fresh water or salt water (your choice) pours out of the flask. The water stops pouring out at the start of your next turn. Choose from the following command words:\nSplash. The decanter produces 1 gallon of water.\nFountain. The decanter produces 5 gallons of water.\nGeyser. The decanter produces 30 gallons of water that gushes forth in a Line 30 feet long and 1 foot wide. If you're holding the decanter, you can aim the geyser in one direction (no action required). One creature of your choice in the Line must succeed on a DC 13 Strength saving throw or take 1d4 Bludgeoning damage and have the Prone condition. Instead of a creature, you can target one object in the Line that isn't being worn or carried and that weighs no more than 200 pounds. The object is knocked over by the geyser.","wt":2},"cS":{"Action":1,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Action","nm":"Utilize Decanter of Endless Water","rd":"Decanter of Endless Water Action","cp":"6813f5c1a009ba0012a33e5a","dn":"You can take a Magic action to remove the stopper and issue one of three command words, whereupon an amount of fresh water or salt water (your choice) pours out of the flask. The water stops pouring out at the start of your next turn. Choose from the following command words:\nSplash. The decanter produces 1 gallon of water.\nFountain. The decanter produces 5 gallons of water.\nGeyser. The decanter produces 30 gallons of water that gushes forth in a Line 30 feet long and 1 foot wide. If you're holding the decanter, you can aim the geyser in one direction (no action required). One creature of your choice in the Line must succeed on a DC 13 Strength saving throw or take 1d4 Bludgeoning damage and have the Prone condition. Instead of a creature, you can target one object in the Line that isn't being worn or carried and that weighs no more than 200 pounds. The object is knocked over by the geyser."},{"id":"c2","tp":"Ak","nm":"Geyser (Decanter of Endless Water)","rd":"Decanter of Endless Water Geyser","cp":"6813f5c1a009ba0012a33e5a","aT":"Action","dn":"The decanter produces 30 gallons of water that gushes forth in a Line 30 feet long and 1 foot wide. If you're holding the decanter, you can aim the geyser in one direction (no action required). One creature of your choice in the Line must succeed on a DC 13 Strength saving throw or take 1d4 Bludgeoning damage and have the Prone condition. Instead of a creature, you can target one object in the Line that isn't being worn or carried and that weighs no more than 200 pounds. The object is knocked over by the geyser.","ak":{"tp":"Attack Save"},"save":{"onFail":"Target takes 1d4 Bludgeoning damage and has the Prone condition","saveAbility":"Strength","saveFlat":13}},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Decanter of Endless Water Geyser Damage","cp":"6813f5c1a009ba0012a33e5a","ay":"none","dT":"Bludgeoning","die":"d4","ct":1,"oC":false}]}},{"nm":"Deck of Illusions","blueprint":{"nm":"Deck of Illusions","item":{"tp":"Item","cp":"6744e32a95192d0012b9ee8d","dn":"This box contains a set of cards. A full deck has 34 cards: 32 depicting specific creatures and two with a mirrored surface. A deck found as treasure is usually missing 1d20 − 1 cards.\nThe magic of the deck functions only if its cards are drawn at random. You can take a Magic action to draw a card at random from the deck and throw it to the ground at a point within 30 feet of yourself. An illusion of a creature, determined by rolling on the Deck of Illusions table, forms over the thrown card and remains until dispelled. The illusory creature created by the card looks and behaves like a real creature of its kind, except that it can do no harm. While you are within 120 feet of the illusory creature and can see it, you can take a Magic action to move it anywhere within 30 feet of its card.\nAny physical interaction with the illusory creature reveals it to be false, because objects pass through it. A creature that takes a Study action to visually inspect the illusory creature identifies it as an illusion with a successful DC 15 Intelligence (Investigation) check. The illusion lasts until its card is moved or the illusion is dispelled (using a Dispel Magic spell or a similar effect). When the illusion ends, the image on its card disappears, and that card can't be used again.\n01-03 - Adult Red Dragon\n04-06 - Archmage\n07-09 - Assassin\n10-12 - Bandit Captain\n13-15 - Beholder\n16-18 - Berserker\n19-21 - Bugbear Warrior\n22-24 - Cloud Giant\n25-27 - Druid\n28-30 - Erinyes\n31-33 - Ettin\n34-36 - Fire Giant\n37-39 - Frost Giant\n40-42 - Gnoll Warrior\n43-45 - Goblin Warrior\n46-48 - Guardian Naga\n49-51 - Hill Giant\n52-54 - Hobgoblin Warrior\n55-57 - Incubus\n58-60 - Iron Golem\n61-63 - Knight\n64-66 - Kobold Warrior\n67-69 - Lich\n70-72 - Medusa\n73-75 - Night Hag\n76-78 - Ogre\n79-81 - Oni\n82-84 - Priest\n85-87 - Succubus\n88-90 - Troll\n91-93 - Veteran Warrior\n94-96 - Wyvern\n97-00 - The card drawer\n*Stat blocks for these creatures (except the card drawer) appear in the Monster Manual."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Draw Card (Deck of Illusions)","rd":"Deck of Illusions Action","cp":"6744e32a95192d0012b9ee8d","dn":"You can take a Magic action to draw a card at random from the deck and throw it to the ground at a point within 30 feet of yourself. An illusion of a creature, determined by rolling on the Deck of Illusions table, forms over the thrown card and remains until dispelled. The illusory creature created by the card looks and behaves like a real creature of its kind, except that it can do no harm. While you are within 120 feet of the illusory creature and can see it, you can take a Magic action to move it anywhere within 30 feet of its card.\nAny physical interaction with the illusory creature reveals it to be false, because objects pass through it. A creature that takes a Study action to visually inspect the illusory creature identifies it as an illusion with a successful DC 15 Intelligence (Investigation) check. The illusion lasts until its card is moved or the illusion is dispelled (using a Dispel Magic spell or a similar effect)."}]}},{"nm":"Dimensional Shackles","blueprint":{"nm":"Dimensional Shackles","item":{"tp":"Item","cp":"6813f725aa185e00125460cd","dn":"You can take a Utilize action to place these shackles on a creature that has the Incapacitated condition. The shackles adjust to fit a creature of Small to Large size. The shackles prevent a creature bound by them from using any method of extradimensional movement, including teleportation or travel to a different plane of existence. They don't prevent the creature from passing through an interdimensional portal.\nYou and any creature you designate when you use the shackles can take a Utilize action to remove them. Once every 30 days, the bound creature can make a DC 30 Strength (Athletics) check. On a successful check, the creature breaks free and destroys the shackles."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Apply or Remove Dimensional Shackles","rd":"Dimensional Shackles Action","cp":"6813f725aa185e00125460cd","dn":"You can take a Utilize action to place these shackles on a creature that has the Incapacitated condition. You and any creature you designate when you use the shackles can take a Utilize action to remove them. "}]}},{"nm":"Dragon Orb","blueprint":{"nm":"Dragon Orb","item":{"tp":"Item","cp":"68152341c19cbf0012aed1b1","dn":"Long ago, in the Dragonlance setting, elves and humans waged a terrible war against chromatic dragons. When the world seemed doomed, the wizards of the Towers of High Sorcery came together and forged five Orbs of Dragonkind to help defeat the dragons. One orb was taken to each of the five towers, and there they were used to speed the war toward a victorious end. The wizards used the orbs to lure dragons to them, then destroyed the dragons with powerful magic.\nAs the Towers of High Sorcery fell in later ages, the orbs were destroyed or faded into legend, and only three are thought to survive. Their magic has been warped over the centuries. Their primary purpose of calling dragons still functions, but they also allow some measure of control over dragons.\nEach orb contains the essence of an evil dragon, a presence that resents any attempt to coax magic from it. Those who try to wield an orb's magic but lack sufficient force of personality might find themselves under the orb's control.\nAn orb is an etched crystal globe about 10 inches in diameter. When used, it grows to about 20 inches in diameter, and mist swirls inside it.\nWhile attuned to an orb, you can take a Magic action to peer into the orb's depths. You must then make a DC 15 Charisma saving throw. On a successful save, you control the orb for as long as you remain attuned to it. On a failed save, the orb imposes the Charmed condition on you for as long as you remain attuned to it.\nWhile you are Charmed by the orb, you can't voluntarily end your Attunement to it, and the orb casts Suggestion on you at will (save DC 18), urging you to work toward the evil ends it desires. The dragon essence within the orb might want many things: the annihilation of a particular society or organization, freedom from the orb, to spread suffering in the world, to advance the worship of Tiamat, or something else the DM decides.\nRandom Properties. An Dragon Orb has the following random properties (see 'Artifacts' in Chapter 7 of the Dungeon Master's Guide):\n• 2 minor beneficial properties\n• 1 minor detrimental property\n• 1 major detrimental property\nSpells. The orb has 7 charges and regains 1d4 + 3 expended charges daily at dawn. If you control the orb, you can cast one of the following spells from it: Cure Wounds (level 9 version, 4 Charges), Daylight (1 Charge), Death Ward (2 Charges), Detect Magic (0 Charges), Scrying (save DC 18, 3 Charges).\nCall Dragons. While you control the orb, you can take a Magic action to cause the orb to issue a telepathic call that extends in all directions for 40 miles. Chromatic dragons in range feel compelled to come to the orb as soon as possible by the most direct route. Dragon deities such as Tiamat are unaffected by this call. Chromatic dragons drawn to the orb might be Hostile toward you for compelling them against their will. Once you have used this property, it can't be used again for 1 hour.\nDestroying an Orb. An Dragon Orb has AC 20 and is destroyed if it takes damage from a +3 Weapon or a Disintegrate spell. Nothing else can harm it.","wt":3,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":2,"Spell":5,"Healing":1,"Condition":2,"Ak":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Am","nm":"Dragon Orb Attunement","cp":"68152341c19cbf0012aed1b1","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dragon Orb Charges","cp":"68152341c19cbf0012aed1b1","vl":7},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Call Dragons (Dragon Orb)","rd":"Dragon Orb Call Dragons Action","cp":"68152341c19cbf0012aed1b1","dn":"While you control the orb, you can take a Magic action to cause the orb to issue a telepathic call that extends in all directions for 40 miles. Chromatic dragons in range feel compelled to come to the orb as soon as possible by the most direct route."},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cure Wounds","cp":"66e08f5cdc69af0030fa3a06","dn":"A creature you touch regains a number of Hit Points equal to 2d8 plus your spellcasting ability modifier."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Daylight","cp":"66e0900bdc69af0030fa6b41","dn":"For the duration, sunlight spreads from a point within range and fills a 60-foot-radius Sphere. The sunlight's area is Bright Light and sheds Dim Light for an additional 60 feet.\nAlternatively, you cast the spell on an object that isn't being worn or carried, causing the sunlight to fill a 60-foot Emanation originating from that object. Covering that object with something opaque, such as a bowl or helm, blocks the sunlight.\nIf any of this spell's area overlaps with an area of Darkness created by a spell of level 3 or lower, that other spell is dispelled."},{"id":"c1-c1-c3","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Death Ward","cp":"66e09005dc69af0030fa69fd","dn":"You touch a creature and grant it a measure of protection from death. The first time the target would drop to 0 Hit Points before the spell ends, the target instead drops to 1 Hit Point, and the spell ends.\nIf the spell is still in effect when the target is subjected to an effect that would kill it instantly without dealing damage, that effect is negated against the target, and the spell ends."},{"id":"c1-c1-c4","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Magic","cp":"66e07b5028743a0012c8649b","dn":"For the duration, you sense the presence of magical effects within 30 feet of yourself. If you sense such effects, you can take the Magic action to see a faint aura around any visible creature or object in the area that bears the magic, and if an effect was created by a spell, you learn the spell's school of magic.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead."},{"id":"c1-c1-c5","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scrying","cp":"66e08f9fdc69af0030fa51a4","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it. The target doesn't know what it is making the save against, only that it feels uneasy.\nYour Knowledge of the Target Is... - Save Modifier\nSecondhand (heard of the target) - 5\nFirsthand (met the target) - 0\nExtensive (know the target well) - -5\nYou Have the Target's... - Save Modifier\nPicture or other likeness - -2\nGarment or other possession - -4\nBody part, lock of hair, or bit of nail - -10\nOn a successful save, the target isn't affected, and you can't use this spell on it again for 24 hours.\nOn a failed save, the spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration. If something can see the sensor, it appears as a luminous orb about the size of your fist.\nInstead of targeting a creature, you can target a location you have seen. When you do so, the sensor appears at that location and doesn't move."},{"id":"c1-c1-c1-c1","tp":"Healing","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cure Wounds Healing","cp":"66e08f5cdc69af0030fa3a06"},{"id":"c1-c1-c3-c1","tp":"Condition","pt":"c1-c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Death Ward Spell","rd":"Death Ward Condition","cp":"66e09005dc69af0030fa69fd","dn":"You touch a creature and grant it a measure of protection from death. The first time the target would drop to 0 Hit Points before the spell ends, the target instead drops to 1 Hit Point, and the spell ends.\n\nIf the spell is still in effect when the target is subjected to an effect that would kill it instantly without dealing damage, that effect is negated against the target, and the spell ends."},{"id":"c1-c1-c4-c1","tp":"Condition","pt":"c1-c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Magic Spell","rd":"Detect Magic Condition","cp":"66e07b5028743a0012c8649b","dn":"For the duration, you sense the presence of magical effects within 30 feet of yourself."},{"id":"c1-c1-c5-c1","tp":"Ak","pt":"c1-c1-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scrying","rd":"Scrying Attack","cp":"66e08f9fdc69af0030fa51a4","aT":"Action","rg":"120 feet","dn":"You can see and hear a creature you choose that is on the same plane of existence as you. The target makes a Wisdom saving throw, which is modified (see the tables below) by how well you know the target and the sort of physical connection you have to it.","ak":{"tp":"Spell Save"},"save":{"onFail":"The spell creates an Invisible, intangible sensor within 10 feet of the target. You can see and hear through the sensor as if you were there. The sensor moves with the target, remaining within 10 feet of it for the duration.","onSucceed":"Target isn't affected, and you can't use this spell on it again for 24 hours.","saveAbility":"Wisdom"}},{"id":"c1-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cure Wounds Healing Upcast","cp":"66e08f5cdc69af0030fa3a06","vl":2},{"id":"c1-c1-c4-c1-c1","tp":"Action","pt":"c1-c1-c4-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c4-c1","actions":["Activate"]}],"nm":"Detect Magic Show Aura","rd":"Detect Magic Action","cp":"66e07b5028743a0012c8649b","dn":"You can take the Magic action to see a faint aura around any visible creature or object in the area that bears the magic, and if an effect was created by a spell, you learn the spell's school of magic."}]}},{"nm":"Dust of Disappearance","blueprint":{"nm":"Dust of Disappearance","item":{"tp":"Item","cp":"6813f830f9542900125ca1e8","dn":"This powder resembles fine sand. There is enough of it for one use. When you take a Utilize action to throw the dust into the air, you and each creature and object within a 10-foot Emanation originating from you have the Invisible condition for 2d4 minutes. The duration is the same for all subjects, and the dust is consumed when its magic takes effect. Immediately after an affected creature makes an attack roll, deals damage, or casts a spell, the Invisible condition ends for that creature."},"cS":{"Action":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Action","nm":"Utilize Dust of Disappearance","rd":"Dust of Disappearance Action","cp":"6813f830f9542900125ca1e8","dn":"When you take a Utilize action to throw the dust into the air, you and each creature and object within a 10-foot Emanation originating from you have the Invisible condition for 2d4 minutes."},{"id":"c1-c1","tp":"Generic Roll","pt":"c1","nm":"Dust of Disappearance Action Generic Roll","cp":"6813f830f9542900125ca1e8"}]}},{"nm":"Dust of Dryness","blueprint":{"nm":"Dust of Dryness","item":{"tp":"Item","cp":"6813f847d8a77f0013b5e405","dn":"This small packet contains 1d6 + 4 pinches of dust. As a Utilize action, you can sprinkle a pinch of the dust over water, turning up to a 15-foot Cube of water into one marble-sized pellet, which floats or rests near where the dust was sprinkled. The pellet's weight is negligible. A creature can take a Utilize action to smash the pellet against a hard surface, causing the pellet to shatter and release the water the dust absorbed. Doing so destroys the pellet and ends its magic.\nAs a Utilize action, you can sprinkle a pinch of the dust on an Elemental within 5 feet of yourself that is composed mostly of water (such as a Water Elemental or a Water Weird). Such a creature exposed to a pinch of the dust makes a DC 13 Constitution saving throw, taking 10d6 Necrotic damage on a failed save or half as much damage on a successful one."},"cS":{"Resource":1,"Action":2,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Resource","nm":"Dust of Dryness","rd":"Dust of Dryness Resource","cp":"6813f847d8a77f0013b5e405","vl":10},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Sprinkle Dust of Dryness on Water","rd":"Dust of Dryness Sprinkle Dust Action","cp":"6813f847d8a77f0013b5e405","dn":"As a Utilize action, you can sprinkle a pinch of the dust over water, turning up to a 15-foot Cube of water into one marble-sized pellet, which floats or rests near where the dust was sprinkled. The pellet's weight is negligible."},{"id":"c1-c2","tp":"Ak","pt":"c1","nm":"Sprinkle Dust of Dryness on Elemental","rd":"Dust of Dryness Sprinkle on Elemental Attack","cp":"6813f847d8a77f0013b5e405","aT":"Action","dn":"As a Utilize action, you can sprinkle a pinch of the dust on an Elemental within 5 feet of yourself that is composed mostly of water (such as a Water Elemental or a Water Weird). Such a creature exposed to a pinch of the dust makes a DC 13 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The target takes 10d6 Necrotic damage.","onSucceed":"The target takes half damage.","saveAbility":"Constitution","saveFlat":13}},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","nm":"Release Water from Dust of Dryness","rd":"Dust of Dryness Smash Pellet Action","cp":"6813f847d8a77f0013b5e405","dn":"A creature can take a Utilize action to smash the pellet against a hard surface, causing the pellet to shatter and release the water the dust absorbed. Doing so destroys the pellet and ends its magic."},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","nm":"Dust of Dryness Sprinkle on Elemental Damage","cp":"6813f847d8a77f0013b5e405","ay":"none","dT":"Necrotic","die":"d6","ct":10,"oC":false}]}},{"nm":"Ebony Fly","blueprint":{"nm":"Ebony Fly","item":{"tp":"Item","cp":"6813f891d8a77f0013b5e4f4","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine's description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn't enough space for the creature, the figurine doesn't become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can't be used again until a certain amount of time has passed, as specified in the figurine's description.\n\nEbony Fly (Rare). This ebony statuette, carved in the likeness of a horsefly, can become a Giant Fly (see the accompanying stat block) for up to 12 hours and can be ridden as a mount. Once it has been used, it can't be used again until 2 days have passed."},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Ebony Fly Charges","rd":"Ebony Fly Figurine of Wondrous Power Charges","cp":"6813f891d8a77f0013b5e4f4","vl":1},{"id":"c2","tp":"Action","nm":"Transform Ebony Fly","rd":"Ebony Fly Figurine of Wondrous Power Transform Magic Action","cp":"6813f891d8a77f0013b5e4f4","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Giant Fly (see the accompanying stat block) for up to 12 hours and can be ridden as a mount. Once it has been used, it can't be used again until 2 days have passed."}]}},{"nm":"Efficient Quiver","blueprint":{"nm":"Efficient Quiver","item":{"tp":"Item","cp":"681523e1a009ba0012a6a1eb","dn":"Each of the quiver's three compartments connects to an extradimensional space that allows the quiver to hold numerous items while never weighing more than 2 pounds. The shortest compartment can hold up to 60 Arrows, Bolts, or similar objects. The midsize compartment holds up to 18 Javelins or similar objects. The longest compartment holds up to 6 long objects, such as bows, Quarterstaffs, or Spears.\n\nYou can draw any item the quiver contains as if doing so from a regular quiver or scabbard.","wt":2},"cS":{"Resource":3},"ch":[{"id":"c1","tp":"Resource","nm":"Efficient Quiver's Smallest Compartment","rd":"Efficient Quiver Shortest Compartment Resource","cp":"681523e1a009ba0012a6a1eb","vl":60},{"id":"c2","tp":"Resource","nm":"Efficient Quiver's Mid-Size Compartment","rd":"Efficient Quiver Mid-Size Compartment Resource","cp":"681523e1a009ba0012a6a1eb","vl":18},{"id":"c3","tp":"Resource","nm":"Efficient Quiver's Longest Compartment","rd":"Efficient Quiver Longest Compartment Resource","cp":"681523e1a009ba0012a6a1eb","vl":6}]}},{"nm":"Efreeti Bottle","blueprint":{"nm":"Efreeti Bottle","item":{"tp":"Item","cp":"6813f8bfd8a77f0013b5e5ad","dn":"When you take a Magic action to remove the stopper of this painted brass bottle, a cloud of thick smoke flows out of it. At the end of your turn, the smoke disappears with a flash of harmless fire, and an Efreeti appears in an unoccupied space within 30 feet of you.\n\n\nThe first time the bottle is opened, the DM rolls on the following table to determine what happens.\n\n\n1d10 Effect\n\n1 The efreeti attacks you. After fighting for 5 rounds, the efreeti disappears, and the bottle loses its magic.\n\n2-9 The efreeti understands your languages and obeys your commands for 1 hour, after which it returns to the bottle, and a new stopper contains it. The stopper can't be removed for 24 hours. The next two times the bottle is opened, the same effect occurs. If the bottle is opened a fourth time, the efreeti escapes and disappears, and the bottle loses its magic.\n\n10 The efreeti understands your languages and can cast Wish once for you. It disappears when it grants the wish or after 1 hour, and the bottle loses its magic.","eD":{"ee":true}},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Open Efreeti Bottle","rd":"Remove Efreeti Bottle Stopper Action","cp":"6813f8bfd8a77f0013b5e5ad","dn":"When you take a Magic action to remove the stopper of this painted brass bottle, a cloud of thick smoke flows out of it. At the end of your turn, the smoke disappears with a flash of harmless fire, and an Efreeti appears in an unoccupied space within 30 feet of you."}]}},{"nm":"Elixir of Health","blueprint":{"nm":"Elixir of Health","item":{"tp":"Item","cp":"6744e2d695192d0012b9db3c","dn":"When you drink this potion, you are cured of all magical contagions. In addition, the following conditions end on you: Blinded, Deafened, Paralyzed, and Poisoned.\nThe clear, red liquid has tiny bubbles of light in it."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Elixir of Health","cp":"6744e2d695192d0012b9db3c","dn":"When you drink this potion, you are cured of all magical contagions. In addition, the following conditions end on you: Blinded, Deafened, Paralyzed, and Poisoned."}]}},{"nm":"Emerald Elemental Gem","blueprint":{"nm":"Emerald Elemental Gem","item":{"tp":"Item","cp":"6813f932a193700012be3c41","dn":"This gem contains a mote of elemental energy. When you take a Utilize action to break the gem, a Water Elemental is summoned (see the Monster Manual for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},"cS":{"Action":2},"ch":[{"id":"c1","tp":"Action","nm":"Break Emerald Elemental Gem","rd":"Break Emerald Elemental Gem Action","cp":"6813f932a193700012be3c41","dn":"When you take a Utilize action to break the gem, a Water Elemental is summoned (see the Monster Manual for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},{"id":"c2","tp":"Action","nm":"Dismiss Water Elemental","rd":"Emerald Elemental Gem Dismiss Water Elemental Bonus Action","cp":"6813f932a193700012be3c41","dn":"As a Bonus Action, you can dismiss the elemental."}]}},{"nm":"Essence of Ether","blueprint":{"nm":"Essence of Ether","item":{"tp":"Item","cp":"68152944a193700012c111f4","dn":"A creature subjected to Essence of Ether must succeed on a DC 15 Constitution saving throw or have the Poisoned condition for 8 hours. The creature also has the Unconscious condition while Poisoned in this way. The creature wakes up if it takes damage or if another creature takes an action to shake it awake."},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Essence of Ether","rd":"Essence of Ether Attack","cp":"68152944a193700012c111f4","aT":"Action","dn":"A creature subjected to Essence of Ether must succeed on a DC 15 Constitution saving throw. The creature wakes up if it takes damage or if another creature takes an action to shake it awake.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Poisoned condition for 8 hours. The creature also has the Unconscious condition while Poisoned in this way","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Eversmoking Bottle","blueprint":{"nm":"Eversmoking Bottle","item":{"tp":"Item","cp":"6813fa45a009ba0012a3511a","dn":"As a Magic action, you can open or close this bottle.\n\nOpening the bottle causes thick smoke to billow out, forming a cloud that fills a 60-foot Emanation originating from the bottle. The area within the smoke is Heavily Obscured.\n\nEach minute the bottle remains open, the size of the Emanation increases by 10 feet until it reaches its maximum size of 120 feet.\n\nClosing the bottle causes the cloud to become fixed in place until it disperses after 10 minutes. A strong wind (such as that created by the Gust of Wind spell) disperses the cloud after 1 minute."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Open or Close Eversmoking Bottle","rd":"Eversmoking Bottle Open or Close Bottle Action","cp":"6813fa45a009ba0012a3511a","dn":"As a Magic action, you can open or close this bottle. \n\nOpening the bottle causes thick smoke to billow out, forming a cloud that fills a 60-foot Emanation originating from the bottle. The area within the smoke is Heavily Obscured.\n\nEach minute the bottle remains open, the size of the Emanation increases by 10 feet until it reaches its maximum size of 120 feet.\n\nClosing the bottle causes the cloud to become fixed in place until it disperses after 10 minutes. A strong wind (such as that created by the Gust of Wind spell) disperses the cloud after 1 minute."}]}},{"nm":"Eyes of Charming","blueprint":{"nm":"Eyes of Charming","item":{"tp":"Item","cp":"6813fa53aa185e0012546bc7","dn":"These crystal lenses fit over the eyes. They have 3 charges. While wearing them, you can expend 1 or more charges to cast Charm Person (save DC 13). For 1 charge, you cast the level 1 version of the spell. You increase the spell's level by one for each additional charge you expend. The lenses regain all expended charges daily at dawn.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Ak":1},"ch":[{"id":"c1","tp":"Am","nm":"Eyes of Charming Attunement","cp":"6813fa53aa185e0012546bc7","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Eyes of Charming Charges","cp":"6813fa53aa185e0012546bc7","vl":3},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Charm Person","cp":"66e07b4b28743a0012c8637e","dn":"One Humanoid you can see within range makes a Wisdom saving throw. It does so with Advantage if you or your allies are fighting it. On a failed save, the target has the Charmed condition until the spell ends or until you or your allies damage it. The Charmed creature is Friendly to you. When the spell ends, the target knows it was Charmed by you."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Charm Person","rd":"Charm Person Attack","cp":"66e07b4b28743a0012c8637e","aT":"Action","rg":"30 feet","dn":"One creature you can see within range makes a Wisdom saving throw. It does so with Advantage if you or your allies are fighting it.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target has the Charmed condition until the spell ends or until you or your allies damage it.","saveAbility":"Wisdom"}}]}},{"nm":"Eyes of Minute Seeing","blueprint":{"nm":"Eyes of Minute Seeing","item":{"tp":"Item","cp":"6815292ba193700012c10d09","dn":"These crystal lenses fit over the eyes. While wearing them, your vision improves significantly out to a range of 1 foot, granting you Darkvision within that range and Advantage on Intelligence (Investigation) checks made to examine something within that range.","eD":{"ee":true}},"cS":{"Sense":1,"RB":1},"ch":[{"id":"c1","tp":"Sense","nm":"Darkvision","rd":"Eyes of Minute Seeing Darkvision","cp":"6815292ba193700012c10d09","cl":"Set Base","vl":{"fa":1}},{"id":"c2","tp":"RB","nm":"Eyes of Minute Seeing Investigation Advantage","cp":"6815292ba193700012c10d09","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Investigation\"]","bV":1,"dC":2,"tR":false}]}},{"nm":"Feather Token (Anchor)","blueprint":{"nm":"Feather Token (Anchor)","item":{"tp":"Item","cp":"6815236aaa185e0012571aa1","dn":"You can take a Magic action to touch the token to a boat or ship. For the next 24 hours, the vessel can't be moved by any means. Touching the token to the vessel again ends the effect. When the effect ends, the token disappears."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Activate Feather Token (Anchor)","rd":"Activate Feather Token (Anchor) Action","cp":"6815236aaa185e0012571aa1","dn":"You can take a Magic action to touch the token to a boat or ship. For the next 24 hours, the vessel can't be moved by any means."}]}},{"nm":"Feather Token (Bird)","blueprint":{"nm":"Feather Token (Bird)","item":{"tp":"Item","cp":"68152378aa185e0012571aef","dn":"You can take a Magic action to toss the token 5 feet into the air. The token disappears and an enormous, multicolored bird takes its place. The bird has the statistics of a Roc, but it can't attack. It obeys your simple commands and can carry up to 500 pounds while flying at its maximum speed (16 miles per hour for a maximum of 144 miles per day, with a 1-hour rest for every 3 hours of flying) or 1,000 pounds at half that speed. The bird disappears after flying its maximum distance for a day or if it drops to 0 Hit Points. You can dismiss the bird as a Magic action."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Activate Feather Token (Bird)","rd":"Activate Feather Token (Bird) Action","cp":"68152378aa185e0012571aef","dn":"You can take a Magic action to toss the token 5 feet into the air. The token disappears and an enormous, multicolored bird takes its place."}]}},{"nm":"Feather Token (Fan)","blueprint":{"nm":"Feather Token (Fan)","item":{"tp":"Item","cp":"68152385aa185e0012571b50","dn":"If you are on a boat or ship, you can take a Magic action to toss the token up to 10 feet in the air. The token disappears, and a giant flapping fan takes its place. The fan floats and creates a strong wind. This wind can fill the sails of one ship, increasing its speed by 5 miles per hour for 8 hours. You can dismiss the fan as a Magic action."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Activate/Deactivate Feather Token (Fan)","rd":"Activate Feather Token (Fan) Action","cp":"68152385aa185e0012571b50","dn":"If you are on a boat or ship, you can take a Magic action to toss the token up to 10 feet in the air. The token disappears, and a giant flapping fan takes its place. You can dismiss the fan as a Magic action."}]}},{"nm":"Feather Token (Swan Boat)","blueprint":{"nm":"Feather Token (Swan Boat)","item":{"tp":"Item","cp":"68152396a009ba0012a6a084","dn":"You can take a Magic action to touch the token to a body of water at least 60 feet in diameter. The token disappears, and a 50-foot-long, 20-foot-wide boat shaped like a swan takes its place. The boat is self-propelled and moves across water at a speed of 6 miles per hour. You can take a Magic action while on the boat to command it to move or to turn up to 90 degrees. The boat remains for 24 hours and then disappears. You can dismiss the boat as a Magic action."},"cS":{"Action":2},"ch":[{"id":"c1","tp":"Action","nm":"Activate/Deactivate Feather Token (Swan Boat)","rd":"Activate Feather Token (Swan Boat) Action","cp":"68152396a009ba0012a6a084","dn":"You can take a Magic action to touch the token to a body of water at least 60 feet in diameter. The token disappears, and a 50-foot-long, 20-foot-wide boat shaped like a swan takes its place. You can dismiss the boat as a Magic action."},{"id":"c2","tp":"Action","nm":"Command Feather Token (Swan Boat)","rd":"Command Swan Boat Action","cp":"68152396a009ba0012a6a084","dn":"You can take a Magic action while on the boat to command it to move or to turn up to 90 degrees."}]}},{"nm":"Feather Token (Tree)","blueprint":{"nm":"Feather Token (Tree)","item":{"tp":"Item","cp":"681523a2350b5e00122f547b","dn":"You must be outdoors to use this token. You can take a Magic action to touch it to an unoccupied space on the ground. The token disappears, and in its place a nonmagical oak tree springs into existence. The tree is 60 feet tall and has a 5-foot-diameter trunk, and its branches at the top spread out in a 20-foot radius."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Command Feather Token (Tree)","rd":"Activate Feather Token (Tree) Action","cp":"681523a2350b5e00122f547b","dn":"You must be outdoors to use this token. You can take a Magic action to touch it to an unoccupied space on the ground. The token disappears, and in its place a nonmagical oak tree springs into existence."}]}},{"nm":"Feather Token (Whip)","blueprint":{"nm":"Feather Token (Whip)","item":{"tp":"Item","cp":"681523cc614c8000122fc5ac","dn":"You can take a Magic action to throw the token to a point within 10 feet of yourself. The token disappears, and a floating whip takes its place. You can then take a Bonus Action to make a melee spell attack against a creature within 10 feet of the whip, with an attack bonus of +9. On a hit, the target takes 1d6 + 5 Force damage. As a Bonus Action, you can direct the whip to fly up to 20 feet and repeat the attack against a creature within 10 feet of the whip. The whip disappears after 1 hour, when you take a Magic action to dismiss it, or when you die or have the Incapacitated condition."},"cS":{"Action":2,"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Action","nm":"Activate/Deactivate Feather Token (Whip)","rd":"Activate Feather Token (Whip) Action","cp":"681523cc614c8000122fc5ac","dn":"You can take a Magic action to throw the token to a point within 10 feet of yourself. The token disappears, and a floating whip takes its place. The whip disappears when you take a Magic action to dismiss it."},{"id":"c2","tp":"Action","nm":"Feather Token Direct Whip","rd":"Feather Token (Whip) Direct Whip Bonus Action","cp":"681523cc614c8000122fc5ac","dn":"As a Bonus Action, you can direct the whip to fly up to 20 feet and repeat the attack against a creature within 10 feet of the whip."},{"id":"c3","tp":"Ak","nm":"Feather Token (Whip)","rd":"Feather Token (Whip) Attack","cp":"681523cc614c8000122fc5ac","aT":"Bonus Action","dn":"You can take a Bonus Action to make a melee spell attack against a creature within 10 feet of the whip, with an attack bonus of +9.","ak":{"bonusFlat":9,"tp":"Spell Attack"},"onHit":"On a hit, the target takes 1d6 + 5 Force damage."},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Feather Token (Whip) Damage","cp":"681523cc614c8000122fc5ac","ay":"none","dT":"Force","die":"d6","bo":5,"ct":1,"oC":false}]}},{"nm":"Folding Boat","blueprint":{"nm":"Folding Boat","item":{"tp":"Item","cp":"6813fb3501f94d0012a614ee","dn":"This object appears as a wooden box that measures 12 inches long, 6 inches wide, and 6 inches deep. It weighs 4 pounds and floats. It can be opened to store items inside. This item also has three command words, each requiring a Magic action to use:\nFirst Command Word. The box unfolds into a Rowboat.\nSecond Command Word. The box unfolds into a Keelboat.\nThird Command Word. The Folding Boat folds back into a box if no creatures are aboard. Any objects in the vessel that can't fit inside the box remain outside the box as it folds. Any objects in the vessel that can fit inside the box do so.\nWhen the box becomes a vessel, its weight becomes that of a normal vessel its size, and anything that was stored in the box remains in the boat.\nStatistics for the Rowboat and Keelboat appear in the Player's Handbook. If either vessel is reduced to 0 Hit Points, the Folding Boat is destroyed.","wt":4},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Command Word (Folding Boat)","rd":"Folding Boat Action","cp":"6813fb3501f94d0012a614ee","dn":"Folding Boat has three command words:\nFirst Command Word. The box unfolds into a Rowboat.\nSecond Command Word. The box unfolds into a Keelboat.\nThird Command Word. The Folding Boat folds back into a box if no creatures are aboard. Any objects in the vessel that can't fit inside the box remain outside the box as it folds. Any objects in the vessel that can fit inside the box do so.\nWhen the box becomes a vessel, its weight becomes that of a normal vessel its size, and anything that was stored in the box remains in the boat."}]}},{"nm":"Gauntlets of Ogre Power","blueprint":{"nm":"Gauntlets of Ogre Power","item":{"tp":"Item","cp":"6744e2dd95192d0012b9dd43","dn":"Your Strength is 19 while you wear these gauntlets. They have no effect on you if your Strength is 19 or higher without them.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Gauntlets of Ogre Power Attunement","cp":"6744e2dd95192d0012b9dd43","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gauntlets of Ogre Power Strength Minimum","cp":"6744e2dd95192d0012b9dd43","ay":"Strength","cl":"Minimum","vl":{"fa":19}}]}},{"nm":"Gem of Brightness","blueprint":{"nm":"Gem of Brightness","item":{"tp":"Item","cp":"6813fb50c19cbf0012ac2974","dn":"This prism has 50 charges. While you are holding it, you can take a Magic action and use one of three command words to cause one of the following effects:\nFirst Command Word. The gem sheds Bright Light in a 30-foot radius and Dim Light for an additional 30 feet. This effect doesn't expend a charge. It lasts until you take a Bonus Action to repeat the command word or until you use another function of the gem.\nSecond Command Word. You expend 1 charge and cause the gem to fire a brilliant beam of light at one creature you can see within 60 feet of yourself. The creature must succeed on a DC 15 Constitution saving throw or have the Blinded condition for 1 minute. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success.\nThird Command Word. You expend 5 charges and cause the gem to flare with intense light in a 30-foot Cone. Each creature in the Cone makes a saving throw as if struck by the beam created with the second command word.\nWhen all of the gem's charges are expended, the gem becomes a nonmagical jewel worth 50 GP.","eD":{"ee":true}},"cS":{"Action":1,"Resource":1,"Ak":2},"ch":[{"id":"c1","tp":"Action","nm":"First Command Word (Gem of Brightness)","rd":"Gem of Brightness Action","cp":"6813fb50c19cbf0012ac2974","dn":"The gem sheds Bright Light in a 30-foot radius and Dim Light for an additional 30 feet. This effect doesn't expend a charge. It lasts until you take a Bonus Action to repeat the command word or until you use another function of the gem."},{"id":"c2","tp":"Resource","nm":"Charges (Gem of Brightness)","rd":"Gem of Brightness Charges","cp":"6813fb50c19cbf0012ac2974","vl":50},{"id":"c2-c1","tp":"Ak","pt":"c2","nm":"Second Command Word (Gem of Brightness)","rd":"Gem of Brightness Second Word Attack","cp":"6813fb50c19cbf0012ac2974","aT":"Action","rg":"60 feet","dn":"You expend 1 charge and cause the gem to fire a brilliant beam of light at one creature you can see within 60 feet of yourself. The creature must succeed on a DC 15 Constitution saving throw or have the Blinded condition for 1 minute. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success.","ak":{"tp":"Attack Save"},"save":{"onFail":"Target has the Blinded condition for 1 minute. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success.","saveAbility":"Constitution","saveFlat":15}},{"id":"c2-c2","tp":"Ak","pt":"c2","nm":"Third Command Word (Gem of Brightness)","rd":"Gem of Brightness Third Word Attack","cp":"6813fb50c19cbf0012ac2974","aT":"Action","dn":"You expend 5 charges and cause the gem to flare with intense light in a 30-foot Cone. Each creature in the Cone makes a saving throw as if struck by the beam created with the second command word.","ak":{"tp":"Attack Save"},"save":{"onFail":"Target has the Blinded condition for 1 minute. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Gem of Seeing","blueprint":{"nm":"Gem of Seeing","item":{"tp":"Item","cp":"6813fb0a614c8000122d12ab","dn":"This gem has 3 charges. As a Magic action, you can expend 1 charge. For the next 10 minutes, you have Truesight out to 120 feet when you peer through the gem.\nThe gem regains 1d3 expended charges daily at dawn.","eD":{"ee":true}},"cS":{"Am":1,"Effect":1,"Resource":1,"Action":1,"Sense":1},"ch":[{"id":"c1","tp":"Am","nm":"Gem of Seeing Attunement","cp":"6813fb0a614c8000122d12ab","an":false,"rE":true},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gem of Seeing","rd":"Gem of Seeing Effect","cp":"6813fb0a614c8000122d12ab","cy":"[]","dn":"You have truesight out to 120 feet when you peer through the gem.","active":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gem of Seeing Charges","cp":"6813fb0a614c8000122d12ab","vl":3},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate Gem of Seeing","rd":"Gem of Seeing Action","cp":"6813fb0a614c8000122d12ab","dn":"As a Magic action, you can expend 1 charge. For the next 10 minutes, you have Truesight out to 120 feet when you peer through the gem."},{"id":"c1-c1-c1","tp":"Sense","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Truesight","rd":"Gem of Seeing Sense","cp":"6813fb0a614c8000122d12ab","cl":"Set Base","vl":{"fa":120}}]}},{"nm":"Gloves of Missile Snaring","blueprint":{"nm":"Gloves of Missile Snaring","item":{"tp":"Item","cp":"6813fbd6f9542900125cae9f","dn":"If you're hit by an attack roll made with a Ranged or Thrown weapon while wearing these gloves, you can take a Reaction to reduce the damage by 1d10 plus your Dexterity modifier if you have a free hand. If you reduce the damage to 0, you can catch the ammunition or weapon if it is small enough for you to hold in that hand.","eD":{"ee":true}},"cS":{"Am":1,"Action":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Am","nm":"Gloves of Missile Snaring Attunement","cp":"6813fbd6f9542900125cae9f","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Missile Snaring","rd":"Gloves of Missile Snaring Reaction","cp":"6813fbd6f9542900125cae9f","dn":"If you're hit by an attack roll made with a Ranged or Thrown weapon while wearing these gloves, you can take a Reaction to reduce the damage by 1d10 plus your Dexterity modifier if you have a free hand. If you reduce the damage to 0, you can catch the ammunition or weapon if it is small enough for you to hold in that hand."},{"id":"c1-c1-c1","tp":"Generic Roll","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Missile Snaring Reaction Generic Roll","cp":"6813fbd6f9542900125cae9f"}]}},{"nm":"Gloves of Swimming and Climbing","blueprint":{"nm":"Gloves of Swimming and Climbing","item":{"tp":"Item","cp":"6744e41695192d0012ba28eb","dn":"While wearing these gloves, you have a Climb Speed and a Swim Speed equal to your Speed, and you gain a +5 bonus to Strength (Athletics) checks made to climb or swim.","eD":{"ee":true}},"cS":{"Am":1,"sp":4,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Gloves of Swimming and Climbing Attunement","cp":"6744e41695192d0012ba28eb","an":false,"rE":true},{"id":"c1-c1","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Swimming and Climbing Climb Speed 30","cp":"6744e41695192d0012ba28eb","cl":"Set Value","se":"Climb","vl":{"fa":30}},{"id":"c1-c2","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Swimming and Climbing Climb Speed","cp":"6744e41695192d0012ba28eb","cl":"Set Base","se":"Climb"},{"id":"c1-c3","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Swimming and Climbing Swim Speed 30","cp":"6744e41695192d0012ba28eb","cl":"Set Value","se":"Swim","vl":{"fa":30}},{"id":"c1-c4","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Swimming and Climbing Swim Speed","cp":"6744e41695192d0012ba28eb","cl":"Set Base","se":"Swim"},{"id":"c1-c5","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gloves of Swimming and Climbing Bonus","cp":"6744e41695192d0012ba28eb","bC":"[\"Skills\"]","bD":"Modifier","bN":"[\"Athletics\"]","bV":5,"dC":1,"tR":false}]}},{"nm":"Gloves of Thievery","blueprint":{"nm":"Gloves of Thievery","item":{"tp":"Item","cp":"6744e41095192d0012ba2742","dn":"These gloves are imperceptible while worn. While wearing them, you gain a +5 bonus to Dexterity (Sleight of Hand) checks.","eD":{"ee":true}},"cS":{"RB":1},"ch":[{"id":"c1","tp":"RB","nm":"Gloves of Thievery Bonus","cp":"6744e41095192d0012ba2742","bC":"[\"Skills\"]","bD":"Modifier","bN":"[\"Sleight of Hand\"]","bV":5,"dC":1,"tR":false}]}},{"nm":"Goggles of Night","blueprint":{"nm":"Goggles of Night","item":{"tp":"Item","cp":"6744e41095192d0012ba275d","dn":"While wearing these dark lenses, you have Darkvision out to 60 feet. If you already have Darkvision, wearing the goggles increases its range by 60 feet.","eD":{"ee":true}},"cS":{"Sense":1},"ch":[{"id":"c1","tp":"Sense","nm":"Darkvision","rd":"Goggles of Night Darkvision","cp":"6744e41095192d0012ba275d","cl":"Modify","vl":{"fa":60}}]}},{"nm":"Golden Lions","blueprint":{"nm":"Golden Lions","item":{"tp":"Item","cp":"6813fbcc614c8000122d1535","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine's description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn't enough space for the creature, the figurine doesn't become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can't be used again until a certain amount of time has passed, as specified in the figurine's description.\n\nGolden Lions (Rare). These gold statuettes of lions are always created in pairs. You can use one figurine or both simultaneously. Each can become a Lion for up to 1 hour. Once a lion has been used, it can't be used again until 7 days have passed."},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Golden Lions Charges","rd":"Golden Lions Figurine of Wondrous Power Charges","cp":"6813fbcc614c8000122d1535","vl":2},{"id":"c2","tp":"Action","nm":"Transform Golden Lion","rd":"Golden Lions Figurine of Wondrous Power Transform Magic Action","cp":"6813fbcc614c8000122d1535","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Lion. These gold statuettes of lions are always created in pairs. You can use one figurine or both simultaneously. Each can become a Lion for up to 1 hour. Once a lion has been used, it can't be used again until 7 days have passed."}]}},{"nm":"Gray Bag of Tricks","blueprint":{"nm":"Gray Bag of Tricks","item":{"tp":"Item","cp":"6813fc69a193700012be4710","dn":"This bag made from gray cloth appears empty. Reaching inside the bag, however, reveals the presence of a small, fuzzy object.\nYou can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a creature you determine by rolling on the table that corresponds to the bag's color. See the Monster Manual for the creature's stat block. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\nThe creature is Friendly to you and your allies, and it acts immediately after you on your Initiative count. You can take a Bonus Action to command how the creature moves and what action it takes on its next turn, such as attacking an enemy. In the absence of such orders, the creature acts in a fashion appropriate to its nature.\nOnce three fuzzy objects have been pulled from the bag, the bag can't be used again until the next dawn.\n1 - Weasel\n2 - Giant Rat\n3 - Badger\n4 - Boar\n5 - Panther\n6 - Giant Badger\n7 - Dire Wolf\n8 - Giant Elk"},"cS":{"Resource":1,"Action":2},"ch":[{"id":"c1","tp":"Resource","nm":"Bag of Tricks Pulls","rd":"Gray Bag of Tricks Resource","cp":"6813fc69a193700012be4710","vl":3},{"id":"c2","tp":"Action","nm":"Bag of Tricks Command","rd":"Gray Bag of Tricks Bonus Action","cp":"6813fc69a193700012be4710","dn":"You can take a Bonus Action to command how the creature from your Bag of Tricks moves and what action it takes on its next turn, such as attacking an enemy."},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Bag of Tricks Pull","rd":"Gray Bag of Tricks Action","cp":"6813fc69a193700012be4710","dn":"You can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a Friendly random creature. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\n1 Weasel\n2 Giant Rat\n3 Badger\n4 Boar\n5 Panther\n6 Giant Badger\n7 Dire Wolf\n8 Giant Elk"}]}},{"nm":"Handy Haversack","blueprint":{"nm":"Handy Haversack","item":{"tp":"Item","cp":"681521d4614c8000122fbe44","dn":"This backpack has a central pouch and two side pouches, each of which is an extradimensional space. Each side pouch can hold up to 200 pounds of material, not exceeding a volume of 25 cubic feet. The central pouch can hold up to 500 pounds of material, not exceeding a volume of 64 cubic feet. The haversack always weighs 5 pounds, regardless of its contents.\nRetrieving an item from the haversack requires a Utilize action or a Bonus Action (your choice). When you reach into the haversack for a specific item, the item is always magically on top.\nIf any of its pouches is overloaded, pierced, or torn, the haversack ruptures and is destroyed. If the haversack is destroyed, its contents are lost forever, although an Artifact always turns up again somewhere. If the haversack is turned inside out, its contents spill forth unharmed, and the haversack must be put right before it can be used again.\nEach pouch of the haversack holds enough air for 10 minutes of breathing, divided by the number of breathing creatures inside.\nPlacing the haversack inside an extradimensional space created by a Bag of Holding, Portable Hole, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within 10 feet of the gate and not behind Total Cover is sucked through it and deposited in a random location on the Astral Plane. The gate then closes. The gate is one-way only and can't be reopened.","wt":5,"eD":{"ee":true}},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Retrieve an Item","rd":"Handy Haversack Action","cp":"681521d4614c8000122fbe44","dn":"Retrieving an item from Handy Haversack requires a Utilize action or a Bonus Action (your choice). When you reach into the haversack for a specific item, the item is always magically on top."}]}},{"nm":"Hat of Disguise","blueprint":{"nm":"Hat of Disguise","item":{"tp":"Item","cp":"6744e2de95192d0012b9dd5e","dn":"While wearing this hat, you can cast the Disguise\nSelf spell. The spell ends if the hat is removed.","eD":{"ee":true}},"cS":{"Am":1,"Spell":1,"Condition":1},"ch":[{"id":"c1","tp":"Am","nm":"Hat of Disguise Attunement","cp":"6744e2de95192d0012b9dd5e","an":false,"rE":true},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Disguise Self","cp":"66e0900cdc69af0030fa6b77","dn":"You make yourself-including your clothing, armor, weapons, and other belongings on your person-look different until the spell ends. You can seem 1 foot shorter or taller and can appear heavier or lighter. You must adopt a form that has the same basic arrangement of limbs as you have. Otherwise, the extent of the illusion is up to you.\nThe changes wrought by this spell fail to hold up to physical inspection. For example, if you use this spell to add a hat to your outfit, objects pass through the hat, and anyone who touches it would feel nothing.\nTo discern that you are disguised, a creature must take the Study action to inspect your appearance and succeed on an Intelligence (Investigation) check against your spell save DC."},{"id":"c1-c1-c1","tp":"Condition","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Disguise Self Spell","rd":"Disguise Self Condition","cp":"66e0900cdc69af0030fa6b77","dn":"You make yourself-including your clothing, armor, weapons, and other belongings on your person-look different until the spell ends. You can seem 1 foot shorter or taller and can appear heavier or lighter. You must adopt a form that has the same basic arrangement of limbs as you have. Otherwise, the extent of the illusion is up to you.\nThe changes wrought by this spell fail to hold up to physical inspection. For example, if you use this spell to add a hat to your outfit, objects pass through the hat, and anyone who touches it would feel nothing.\nTo discern that you are disguised, a creature must take the Study action to inspect your appearance and succeed on an Intelligence (Investigation) check against your spell save DC."}]}},{"nm":"Hat of Many Spells","blueprint":{"nm":"Hat of Many Spells","item":{"tp":"Item","cp":"6744e2c795192d0012b9d72b","dn":"Requires Attunement by a Wizard\nThis pointed hat has the following properties.\nSpellcasting Focus. While holding the hat, you can use it as a Spellcasting Focus for your Wizard spells. Any spell you cast using the hat gains a special Somatic component: you must reach into the hat and 'pull' the spell out of it.\nUnknown Spell. While holding the hat, you can try to cast a level 1+ spell you don't know. The spell must be on the Wizard spell list, it must be of a level you can cast, and it can't have Material components costing more than 1,000 GP. Once you decide on the spell, you must expend a spell slot of the spell's level. Then, to determine whether you cast the spell, make an Intelligence (Arcana) check (DC 10 plus the spell's level). On a successful check, you cast the spell using its normal casting time, and you can't use this property again until you finish a Short or Long Rest. On a failed check, you fail to cast the spell and a random effect occurs instead, determined by rolling on the following table. Any spell you cast from the hat uses your spell save DC and spell attack bonus.\n1d100 Effect\n01-50 You cast a random spell determined by rolling 1d10: on a 1, Enlarge/Reduce (enlarge effect); on a 2, Enlarge/Reduce (reduce effect); on a 3, Faerie Fire; on a 4, Fireball; on a 5, Gust of Wind; on a 6, Invisibility (cast on yourself); on a 7, Lightning Bolt; on an 8, Phantasmal Force; on a 9, Polymorph; on a 10, Stinking Cloud.\n51-55 You have the Stunned condition until the end of your next turn, believing something awesome just happened.\n56-60 A harmless swarm of butterflies fills a 10- foot Cube within 30 feet of yourself. The swarm disperses after 1 minute.\n61-65 You pull a nonmagical object out of the hat. Roll 1d4 to determine the object: on a 1, a vial of Acid; on a 2, a flask of Alchemist's Fire; on a 3, a Crowbar; on a 4, a lit Torch.\n66-70 You suffer a bout of 'magic sickness' and have the Poisoned condition for 1 hour.\n71-75 You have the Petrified condition until the end of your next turn.\n76-80 You pull a nonmagical object out of the hat. Roll 1d4 to determine the object: on a 1, a Dagger; on a 2, a Rope with a Grappling Hook tied to one end; on a 3, a bag of Caltrops; on a 4, a gem worth 50 GP.\n81-85 A creature appears in an unoccupied space as close to you as possible. The creature isn't under your control and acts as it normally would, and it disappears after 1 hour or when it drops to 0 Hit Points. Roll 1d4 to determine the creature: on a 1, a Camel; on a 2, a Constrictor Snake; on a 3, an Elephant; on a 4, a Mule.\n86-90 A Hostile Swarm of Bats flies out of the hat, occupies your space, and attacks you.\n91-95 A vertical, 10-foot-diameter, two-way portal to another plane of existence opens in an unoccupied space within 30 feet of you and remains open until the end of your next turn. The DM determines where it leads.\n96-00 You pull a magic item out of the hat. Roll 1d6 to determine the item's rarity: on a 1-3, Common; on a 4-5, Uncommon; on a 6, Rare. The DM chooses the item, which disappears after 1 hour if it's not consumed or destroyed before then.","eD":{"ee":true}},"cS":{"Am":1},"ch":[{"id":"c1","tp":"Am","nm":"Hat of Many Spells Attunement","cp":"6744e2c795192d0012b9d72b","an":false,"rE":true}]}},{"nm":"Headband of Intellect","blueprint":{"nm":"Headband of Intellect","item":{"tp":"Item","cp":"6744e44f95192d0012ba37bb","dn":"Your Intelligence is 19 while you wear this headband. It has no effect on you if your Intelligence is 19 or higher without it.","eD":{"ee":true}},"cS":{"Am":1,"AS":1},"ch":[{"id":"c1","tp":"Am","nm":"Headband of Intellect Attunement","cp":"6744e44f95192d0012ba37bb","an":false,"rE":true},{"id":"c1-c1","tp":"AS","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Headband of Intellect Intelligence","cp":"6744e44f95192d0012ba37bb","ay":"Intelligence","cl":"Minimum","vl":{"fa":19}}]}},{"nm":"Helm of Brilliance","blueprint":{"nm":"Helm of Brilliance","item":{"tp":"Item","cp":"6813ff0c769a630012653493","dn":"This helm is set with 1d10 diamonds, 2d10 rubies, 3d10 fire opals, and 4d10 opals. Any gem pried from the helm crumbles to dust. When all the gems are removed or destroyed, the helm loses its magic.\nYou gain the following benefits while wearing the helm.\nDiamond Light. As long as it has at least one diamond, the helm emits a 30-foot Emanation. When at least one Undead is within that area, the Emanation is filled with Dim Light. Any Undead that starts its turn in that area takes 1d6 Radiant damage.\nFire Opal Flames. As long as the helm has at least one fire opal, you can take a Magic action to cause one weapon you are holding to burst into flames. The flames emit Bright Light in a 10-foot radius and Dim Light for an additional 10 feet. The flames are harmless to you and the weapon. When you hit with an attack using the blazing weapon, the target takes an extra 1d6 Fire damage. The flames last until you take a Bonus Action to extinguish them or until you drop or stow the weapon.\nRuby Resistance. As long as the helm has at least one ruby, you have Resistance to Fire damage.\nSpells. You can cast one of the following spells (save DC 18), using one of the helm's gems of the specified type as a component: Daylight (opal), Fireball (fire opal), Prismatic Spray (diamond), or Wall of Fire (ruby). The gem is destroyed when the spell is cast and disappears from the helm.\nTaking Fire Damage. Roll 1d20 if you are wearing the helm and take Fire damage as a result of failing a saving throw against a spell. On a roll of 1, the helm emits beams of light from its remaining gems and is then destroyed. Each creature within a 60-foot Emanation originating from you must succeed on a DC 17 Dexterity saving throw or be struck by a beam, taking Radiant damage equal to the number of gems in the helm.","eD":{"ee":true}},"cS":{"Am":1,"Resource":4,"Ak":13,"Spell":4,"Defense":1,"Action":2,"dm":8,"Generic Roll":1,"Effect":1,"Condition":1,"Upcasting":2},"ch":[{"id":"c1","tp":"Am","nm":"Helm of Brilliance Attunement","cp":"6813ff0c769a630012653493","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Brilliance Diamonds","rd":"Helm of Brilliance Diamonds Resource","cp":"6813ff0c769a630012653493","vl":10},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Brilliance Rubies","rd":"Helm of Brilliance Rubies Resource","cp":"6813ff0c769a630012653493","vl":20},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Brilliance Fire Opals","rd":"Helm of Brilliance Fire Opals Resource","cp":"6813ff0c769a630012653493","vl":30},{"id":"c1-c4","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Brilliance Opals","rd":"Helm of Brilliance Opals Resource","cp":"6813ff0c769a630012653493","vl":40},{"id":"c1-c5","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Taking Fire Damage","rd":"Helm of Brilliance Fire Damage Save","cp":"6813ff0c769a630012653493","aT":"Action","dn":"Roll 1d20 if you are wearing the helm and take Fire damage as a result of failing a saving throw against a spell. On a roll of 1, the helm emits beams of light from its remaining gems and is then destroyed. Each creature within a 60-foot Emanation originating from you must succeed on a DC 17 Dexterity saving throw or be struck by a beam, taking Radiant damage equal to the number of gems in the helm.","ak":{"tp":"Attack Save"},"save":{"onFail":"Take Radiant damage equal to the number of gems in the helm.","saveAbility":"Dexterity","saveFlat":17}},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Diamond Light","rd":"Helm of Brilliance Diamond Light Attack","cp":"6813ff0c769a630012653493","aT":"Action","dn":"As long as it has at least one diamond, the Helm of Brilliance emits a 30-foot Emanation. When at least one Undead is within that area, the Emanation is filled with Dim Light. Any Undead that starts its turn in that area takes 1d6 Radiant damage."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray","cp":"66e08fdddc69af0030fa6049","dn":"Eight rays of light flash from you in a 60-foot Cone. Each creature in the Cone makes a Dexterity saving throw. For each target, roll 1d8 to determine which color ray affects it, consulting the Prismatic Rays table.\nPrismatic Rays\n1d8 - Ray\n1 - Red. Failed Save: 12d6 Fire damage. Successful Save: Half as much damage.\n2 - Orange. Failed Save: 12d6 Acid damage. Successful Save: Half as much damage.\n3 - Yellow. Failed Save: 12d6 Lightning damage. Successful Save: Half as much damage.\n4 - Green. Failed Save: 12d6 Poison damage. Successful Save: Half as much damage.\n5 - Blue. Failed Save: 12d6 Cold damage. Successful Save: Half as much damage.\n6 - Indigo. Failed Save: The target has the Restrained condition and makes a Constitution saving throw at the end of each of its turns. If it successfully saves three times, the condition ends. If it fails three times, it has the Petrified condition until it is freed by an effect like the Greater Restoration spell. The successes and failures needn't be consecutive; keep track of both until the target collects three of a kind.\n7 - Violet. Failed Save: The target has the Blinded condition and makes a Wisdom saving throw at the start of your next turn. On a successful save, the condition ends. On a failed save, the condition ends, and the creature teleports to another plane of existence (DM's choice).\n8 - Special. The target is struck by two rays. Roll twice, rerolling any 8."},{"id":"c1-c2-c1","tp":"Defense","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Brilliance Ruby Resistance","cp":"6813ff0c769a630012653493","damage":"Fire","defense":"Resistance","details":"As long as the Helm of Brilliance has at least one ruby, you have Resistance to Fire damage."},{"id":"c1-c2-c2","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","cp":"66e0902cdc69af0030fa730d","dn":"You create a wall of fire on a solid surface within range. You can make the wall up to 60 feet long, 20 feet high, and 1 foot thick, or a ringed wall up to 20 feet in diameter, 20 feet high, and 1 foot thick. The wall is opaque and lasts for the duration.\nWhen the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there. The other side of the wall deals no damage."},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burst Weapon Into Flames","rd":"Helm of Brilliance Fire Opal Flames Action","cp":"6813ff0c769a630012653493","dn":"As long as the Helm of Brilliance has at least one fire opan, you can take a Magic action to cause one weapon you are holding to burst into flames."},{"id":"c1-c3-c2","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c4-c1","tp":"Spell","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Daylight","cp":"66e0900bdc69af0030fa6b41","dn":"For the duration, sunlight spreads from a point within range and fills a 60-foot-radius Sphere. The sunlight's area is Bright Light and sheds Dim Light for an additional 60 feet.\nAlternatively, you cast the spell on an object that isn't being worn or carried, causing the sunlight to fill a 60-foot Emanation originating from that object. Covering that object with something opaque, such as a bowl or helm, blocks the sunlight.\nIf any of this spell's area overlaps with an area of Darkness created by a spell of level 3 or lower, that other spell is dispelled."},{"id":"c1-c1-c1-c1","tp":"dm","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Brilliance Diamond Light Damage","cp":"6813ff0c769a630012653493","ay":"none","dT":"Radiant","die":"d6","ct":1,"oC":false},{"id":"c1-c1-c2-c1","tp":"Generic Roll","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Spray Effect","rd":"Prismatic Spray Generic Roll","cp":"66e08fdddc69af0030fa6049"},{"id":"c1-c1-c2-c2","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Red","rd":"Prismatic Spray Red Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 12d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c3","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Orange","rd":"Prismatic Spray Orange Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 12d6 Acid damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c4","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Yellow","rd":"Prismatic Spray Yellow Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 12d6 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c5","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Green","rd":"Prismatic Spray Green Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 12d6 Poison damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c6","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Blue","rd":"Prismatic Spray Blue Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 12d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c7","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Indigo","rd":"Prismatic Spray Indigo Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"The target has the Restrained condition and makes a Constitution saving throw at the end of each of its turns. If it successfully saves three times, the condition ends. If it fails three times, it has the Petrified condition until it is freed by an effect like the Greater Restoration spell. The successes and failures needn't be consecutive; keep track of both until the target collects three of a kind.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c8","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Violet","rd":"Prismatic Spray Violet Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Each creature in the Cone makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"The target has the Blinded condition and makes a Wisdom saving throw at the start of your next turn. On a successful save, the condition ends. On a failed save, the condition ends, and the creature teleports to another plane of existence (DM's choice).","saveAbility":"Dexterity"}},{"id":"c1-c2-c2-c1","tp":"Ak","pt":"c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","rd":"Wall of Fire Attack","cp":"66e0902cdc69af0030fa730d","aT":"Action","dn":"When the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d8 Fire damage.","onSucceed":"Half damage.","saveAbility":"Dexterity"}},{"id":"c1-c3-c1-c1","tp":"Effect","pt":"c1-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fire Opal Flames","rd":"Helm of Brilliance Fire Opal Flames Effect","cp":"6813ff0c769a630012653493","cy":"[\"Damage\"]","dn":"When you hit with an attack using the blazing weapon, the target takes an extra 1d6 Fire damage.","diceValue":"1d6","active":false},{"id":"c1-c3-c2-c1","tp":"Ak","pt":"c1-c3-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c2-c2-c1","tp":"dm","pt":"c1-c1-c2-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray Red Damage","cp":"66e08fdddc69af0030fa6049","ay":"none","dT":"Fire","die":"d6","ct":12,"oC":false},{"id":"c1-c1-c2-c3-c1","tp":"dm","pt":"c1-c1-c2-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray Orange Damage","cp":"66e08fdddc69af0030fa6049","ay":"none","dT":"Acid","die":"d6","ct":12,"oC":false},{"id":"c1-c1-c2-c4-c1","tp":"dm","pt":"c1-c1-c2-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray Yellow Damage","cp":"66e08fdddc69af0030fa6049","ay":"none","dT":"Lightning","die":"d6","ct":12,"oC":false},{"id":"c1-c1-c2-c5-c1","tp":"dm","pt":"c1-c1-c2-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray Green Damage","cp":"66e08fdddc69af0030fa6049","ay":"none","dT":"Poison","die":"d6","ct":12,"oC":false},{"id":"c1-c1-c2-c6-c1","tp":"dm","pt":"c1-c1-c2-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray Blue Damage","cp":"66e08fdddc69af0030fa6049","ay":"none","dT":"Cold","die":"d6","ct":12,"oC":false},{"id":"c1-c1-c2-c7-c1","tp":"Condition","pt":"c1-c1-c2-c7","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray Indigo Restrained","rd":"Prismatic Spray Indigo Condition","cp":"66e08fdddc69af0030fa6049","dn":"The target makes a Constitution saving throw at the end of each of its turns. If it successfully saves three times, the condition ends. If it fails three times, it has the Petrified condition until it is freed by an effect like the Greater Restoration spell. The successes and failures needn't be consecutive; keep track of both until the target collects three of a kind."},{"id":"c1-c1-c2-c7-c2","tp":"Ak","pt":"c1-c1-c2-c7","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Indigo Restrained","rd":"Prismatic Spray Indigo Restrained Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"Makes a Constitution saving throw at the end of each of its turns.","ak":{"tp":"Spell Save"},"save":{"onFail":"If it fails three times, it has the Petrified condition until it is freed by an effect like the Greater Restoration spell.","onSucceed":"If it successfully saves three times, the condition ends.","saveAbility":"Constitution"}},{"id":"c1-c1-c2-c8-c1","tp":"Ak","pt":"c1-c1-c2-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prismatic Spray - Violet Blinded","rd":"Prismatic Spray Violet Blinded Attack","cp":"66e08fdddc69af0030fa6049","aT":"Free Action","dn":"The target has the Blinded condition and makes a Wisdom saving throw at the start of your next turn.","ak":{"tp":"Spell Save"},"save":{"onFail":"Blinded condition ends, and the creature teleports to another plane of existence (DM's choice).","onSucceed":"Blinded condition ends.","saveAbility":"Wisdom"}},{"id":"c1-c2-c2-c1-c1","tp":"dm","pt":"c1-c2-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Damage","cp":"66e0902cdc69af0030fa730d","ay":"none","dT":"Fire","die":"d8","ct":5,"oC":false},{"id":"c1-c3-c1-c1-c1","tp":"Action","pt":"c1-c3-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c3-c1-c1","actions":["Activate"]}],"nm":"Extinguish Flames From Weapon","rd":"Helm of Brilliance Fire Opal Flames Bonus Action","cp":"6813ff0c769a630012653493","dn":"The flames last until you take a Bonus Action to extinguish them or until you drop or stow the weapon."},{"id":"c1-c3-c2-c1-c1","tp":"dm","pt":"c1-c3-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c2-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c2-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Initial Damage Upcast","cp":"66e0902cdc69af0030fa730d","vl":1},{"id":"c1-c3-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c3-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1}]}},{"nm":"Helm of Comprehending Languages","blueprint":{"nm":"Helm of Comprehending Languages","item":{"tp":"Item","cp":"6744e4a195192d0012ba4d7e","dn":"While wearing this helm, you can cast Comprehend Languages from it.","eD":{"ee":true}},"cS":{"Spell":1},"ch":[{"id":"c1","tp":"Spell","nm":"Comprehend Languages","cp":"66e08fbedc69af0030fa58eb","dn":"For the duration, you understand the literal meaning of any language that you hear or see signed. You also understand any written language that you see, but you must be touching the surface on which the words are written. It takes about 1 minute to read one page of text. This spell doesn't decode symbols or secret messages."}]}},{"nm":"Helm of Telepathy","blueprint":{"nm":"Helm of Telepathy","item":{"tp":"Item","cp":"6813feff769a630012653463","dn":"While wearing this helm, you have telepathy with a range of 30 feet, and you can cast Detect Thoughts or Suggestion (save DC 13) from the helm. Once either spell is cast from the helm, that spell can't be cast from it again until the next dawn.","eD":{"ee":true}},"cS":{"Am":1,"Resource":2,"Spell":2,"Condition":1,"Ak":2,"Action":3},"ch":[{"id":"c1","tp":"Am","nm":"Helm of Telepathy Attunement","cp":"6813feff769a630012653463","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Thoughts","rd":"Helm of Telepathy Detect Thoughts Resource","cp":"6813feff769a630012653463","vl":1},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Suggestion","rd":"Helm of Telepathy Suggestion Resource","cp":"6813feff769a630012653463","vl":1},{"id":"c1-c3","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Thoughts","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects below. Until the spell ends, you can activate either effect as a Magic action on your later turns.\nSense Thoughts. You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\nRead Thoughts. Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing.\nAs a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."},{"id":"c1-c4","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Suggestion","cp":"66db362de8846e0012e41786","dn":"You suggest a course of activity - described in no more than 25 words - to one creature you can see within range that can hear and understand you. The suggestion must sound achievable and not involve anything that would obviously deal damage to the target or its allies. For example, you could say, 'Fetch the key to the cult's treasure vault, and give the key to me.' Or you could say, 'Stop fighting, leave this library peacefully, and don't return.'\nThe target must succeed on a Wisdom saving throw or have the Charmed condition for the duration or until you or your allies deal damage to the target. The Charmed target pursues the suggestion to the best of its ability. The suggested activity can continue for the entire duration, but if the suggested activity can be completed in a shorter time, the spell ends for the target upon completing it."},{"id":"c1-c3-c1","tp":"Condition","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Thoughts Spell","rd":"Detect Thoughts Condition","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects: Sense Thoughts, Read Thoughts. Until the spell ends, you can activate either effect as a Magic action on your later turns."},{"id":"c1-c3-c2","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Attack","cp":"66e08f9ddc69af0030fa5138","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"You discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate).","onSucceed":"Spell ends.","saveAbility":"Wisdom"}},{"id":"c1-c4-c1","tp":"Ak","pt":"c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Suggestion","rd":"Suggestion Attack","cp":"66db362de8846e0012e41786","aT":"Action","dn":"You suggest a course of activity - described in no more than 25 words - to one creature you can see within range that can hear and understand you. The suggestion must sound achievable and not involve anything that would obviously deal damage to the target or its allies. For example, you could say, 'Fetch the key to the cult's treasure vault, and give the key to me.' Or you could say, 'Stop fighting, leave this library peacefully, and don't return.'\nThe target must succeed on a Wisdom saving throw or have the Charmed condition for the duration or until you or your allies deal damage to the target.","ak":{"tp":"Spell Save"},"save":{"onFail":"Have the Charmed condition for the duration or until you or your allies deal damage to the target.","saveAbility":"Wisdom"}},{"id":"c1-c3-c1-c1","tp":"Action","pt":"c1-c3-c1","cascades":[{"ref":"c1-c3-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sense Thoughts","rd":"Sense Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\n\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\n"},{"id":"c1-c3-c1-c2","tp":"Action","pt":"c1-c3-c1","cascades":[{"ref":"c1-c3-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Read Thoughts","rd":"Read Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing."},{"id":"c1-c3-c1-c3","tp":"Action","pt":"c1-c3-c1","cascades":[{"ref":"c1-c3-c1","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Action","cp":"66e08f9ddc69af0030fa5138","dn":"As a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."}]}},{"nm":"Helm of Teleportation","blueprint":{"nm":"Helm of Teleportation","item":{"tp":"Item","cp":"6744e45195192d0012ba382d","dn":"This helm has 3 charges. While wearing it, you can expend 1 charge to cast Teleport from it. The helm regains 1d3 expended charges daily at dawn.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Helm of Teleportation Attunement","cp":"6744e45195192d0012ba382d","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Helm of Teleportation Charges","rd":"Helm of Teleportation Resource","cp":"6744e45195192d0012ba382d","vl":3},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Teleport","cp":"66e07b4128743a0012c8611f","dn":"This spell instantly transports you and up to eight willing creatures that you can see within range, or a single object that you can see within range, to a destination you select. If you target an object, it must be Large or smaller, and it can't be held or carried by an unwilling creature.\nThe destination you choose must be known to you, and it must be on the same plane of existence as you. Your familiarity with the destination determines whether you arrive there successfully. The DM rolls 1d100 and consults the Teleportation Outcome table and the explanations after it.\nTeleportation Outcome\nFamiliarity | Mishap | Similar Area | Off Target | On Target\nPermanent circle | - | - | - | 01-00\nLinked object | - | - | - | 01-00\nVery familiar | 01-05 | 06-13 | 14-24 | 25-00\nSeen casually | 01-33 | 34-43 | 44-53 | 54-00\nViewed once or described | 01-43 | 44-53 | 54-73 | 74-00\nFalse destination | 01-50 | 51-00 | - | -\nFamiliarity. Here are the meanings of the terms in the table's Familiarity column:\n'Permanent circle' means a permanent teleportation circle whose sigil sequence you know.\n'Linked object' means you possess an object taken from the desired destination within the last six months, such as a book from a wizard's library.\n'Very familiar' is a place you have visited often, a place you have carefully studied, or a place you can see when you cast the spell.\n'Seen casually' is a place you have seen more than once but with which you aren't very familiar.\n'Viewed once or described' is a place you have seen once, possibly using magic, or a place you know through someone else's description, perhaps from a map.\n'False destination' is a place that doesn't exist. Perhaps you tried to scry an enemy's sanctum but instead viewed an illusion, or you are attempting to teleport to a location that no longer exists.\nMishap. The spell's unpredictable magic results in a difficult journey. Each teleporting creature (or the target object) takes 3d10 Force damage, and the DM rerolls on the table to see where you wind up (multiple mishaps can occur, dealing damage each time).\nSimilar Area. You and your group (or the target object) appear in a different area that's visually or thematically similar to the target area. You appear in the closest similar place. If you are heading for your home laboratory, for example, you might appear in another person's laboratory in the same city.\nOff Target. You and your group (or the target object) appear 2d12 miles away from the destination in a random direction. Roll 1d8 for the direction: 1, east; 2, southeast; 3, south; 4, southwest; 5, west; 6, northwest; 7, north; or 8, northeast.\nOn Target. You and your group (or the target object) appear where you intended."}]}},{"nm":"Horn of Blasting","blueprint":{"nm":"Horn of Blasting","item":{"tp":"Item","cp":"68140152614c8000122d2d2c","dn":"You can take a Magic action to blow the horn, which emits a thunderous blast in a 30-foot Cone that is audible out to 600 feet. Each creature in the Cone makes a DC 15 Constitution saving throw. On a failed save, a creature takes 5d8 Thunder damage and has the Deafened condition for 1 minute. On a successful save, a creature takes half as much damage only. Glass or crystal objects in the Cone that aren't being worn or carried take 10d8 Thunder damage.\nEach use of the horn's magic has a 20 percent chance of causing the horn to explode. The explosion deals 10d6 Force damage to the user and destroys the horn.","eD":{"ee":true}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Horn of Blasting","rd":"Horn of Blasting Attack","cp":"68140152614c8000122d2d2c","aT":"Action","dn":"You can take a Magic action to blow the horn, which emits a thunderous blast in a 30-foot Cone that is audible out to 600 feet. Glass or crystal objects in the Cone that aren't being worn or carried take 10d8 Thunder damage. Each creature in the Cone makes a DC 15 Constitution saving throw. Each use of the horn's magic has a 20 percent chance of causing the horn to explode. The explosion deals 10d6 Force damage to the user and destroys the horn.","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature takes 5d8 Thunder damage and has the Deafened condition for 1 minute","onSucceed":"A creature takes half as much damage only.","saveAbility":"Constitution","saveFlat":15}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Horn of Blasting Damage","cp":"68140152614c8000122d2d2c","ay":"none","dT":"Thunder","die":"d8","ct":5,"oC":false}]}},{"nm":"Hunting Trap","blueprint":{"nm":"Hunting Trap","item":{"tp":"Item","cp":"6815296ba193700012c11a05","dn":"As a Utilize action, you can set a Hunting Trap, which is a sawtooth steel ring that snaps shut when a creature steps on a pressure plate in the center. The trap is affixed by a heavy chain to an immobile object, such as a tree or a spike driven into the ground. A creature that steps on the plate must succeed on a DC 13 Dexterity saving throw or take 1d4 Piercing damage and have its Speed reduced to 0 until the start of its next turn. Thereafter, until the creature breaks free of the trap, its movement is limited by the length of the chain (typically 3 feet). A creature can use its action to make a DC 13 Strength (Athletics) check, freeing itself or another creature within its reach on a success. Each failed check deals 1 Piercing damage to the trapped creature.","wt":25},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Hunting Trap","rd":"Hunting Trap Attack","cp":"6815296ba193700012c11a05","aT":"Action","dn":"As a Utilize action, you can set a Hunting Trap, which is a sawtooth steel ring that snaps shut when a creature steps on a pressure plate in the center. The trap is affixed by a heavy chain to an immobile object, such as a tree or a spike driven into the ground. A creature that steps on the plate must succeed on a DC 13 Dexterity saving throw or take 1d4 Piercing damage and have its Speed reduced to 0 until the start of its next turn. Thereafter, until the creature breaks free of the trap, its movement is limited by the length of the chain (typically 3 feet). A creature can use its action to make a DC 13 Strength (Athletics) check, freeing itself or another creature within its reach on a success. Each failed check deals 1 Piercing damage to the trapped creature.","ak":{"tp":"Attack Save"},"save":{"onFail":"1d4 piercing & speed limited","saveAbility":"Dexterity","saveFlat":13}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Hunting Trap Damage","cp":"6815296ba193700012c11a05","ay":"auto","dT":"Piercing","die":"d4","ct":1,"oC":false}]}},{"nm":"Immovable Rod","blueprint":{"nm":"Immovable Rod","item":{"tp":"Item","cp":"68140147614c8000122d2cc4","dn":"This iron rod has a button on one end. You can take a Utilize action to press the button, which causes the rod to become magically fixed in place. Until you or another creature takes a Utilize action to push the button again, the rod doesn't move, even if it defies gravity. The rod can hold up to 8,000 pounds of weight. More weight causes the rod to deactivate and fall. A creature can take a Utilize action to make a DC 30 Strength (Athletics) check, moving the fixed rod up to 10 feet on a successful check.","wt":2,"eD":{"ee":true}},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Utilize Immovable Rod","rd":"Utilize Immovable Rod Action","cp":"68140147614c8000122d2cc4","dn":"You can take a Utilize action to press the button, which causes the rod to become magically fixed in place. Until you or another creature takes a Utilize action to push the button again, the rod doesn't move, even if it defies gravity. The rod can hold up to 8,000 pounds of weight. More weight causes the rod to deactivate and fall. A creature can take a Utilize action to make a DC 30 Strength (Athletics) check, moving the fixed rod up to 10 feet on a successful check."}]}},{"nm":"Instant Fortress","blueprint":{"nm":"Instant Fortress","item":{"tp":"Item","cp":"68151f69350b5e00122f44ee","dn":"As a Magic action, you can place this 1-inch adamantine statuette on the ground and, using a command word, cause it to grow rapidly into a square adamantine tower. Repeating the command word causes the tower to revert to statuette form, which works only if the tower is empty. Each creature in the area where the tower appears is pushed to an unoccupied space outside but next to the tower. Objects in the area that aren't being worn or carried are also pushed clear of the tower.\nThe tower is 20 feet on a side and 30 feet high, with arrow slits on all sides and a battlement atop it. Its interior is divided into two floors, with a ladder, staircase, or ramp (your choice) connecting them. This ladder, staircase, or ramp ends at a trapdoor leading to the roof. When created, the tower has a single door at ground level on the side facing you. The door opens only at your command, which you can issue as a Bonus Action. It is immune to the Knock spell and similar magic.\nMagic prevents the tower from being tipped over. The roof, the door, and the walls each have AC 20; HP 100; Immunity to Bludgeoning, Piercing, and Slashing damage except that which is dealt by siege equipment; and Resistance to all other damage. Shrinking the tower back down to statuette form doesn't repair damage to the tower. Only a Wish spell can repair the tower (this use of the spell counts as replicating a spell of level 8 or lower). Each casting of Wish causes the tower to regain all its Hit Points."},"cS":{"Am":1,"Action":2},"ch":[{"id":"c1","tp":"Am","nm":"Instant Fortress Attunement","cp":"68151f69350b5e00122f44ee","an":false,"rE":false},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Utilize Instant Fortress","rd":"Instant Fortress Action","cp":"68151f69350b5e00122f44ee","dn":"As a Magic action, you can place this 1-inch adamantine statuette on the ground and, using a command word, cause it to grow rapidly into a square adamantine tower. Repeating the command word causes the tower to revert to statuette form, which works only if the tower is empty. Each creature in the area where the tower appears is pushed to an unoccupied space outside but next to the tower. Objects in the area that aren't being worn or carried are also pushed clear of the tower."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Open Instant Fortress","rd":"Instant Fortress Bonus Action","cp":"68151f69350b5e00122f44ee","dn":"The door opens only at your command, which you can issue as a Bonus Action."}]}},{"nm":"Iron Bands","blueprint":{"nm":"Iron Bands","item":{"tp":"Item","cp":"6815222cd8a77f0013b8947e","dn":"This rusty iron sphere measures 3 inches in diameter and weighs 1 pound. You can take a Magic action to throw the sphere at a Huge or smaller creature you can see within 60 feet of yourself. As the sphere moves through the air, it opens into a tangle of metal bands.\n\nMake a ranged attack roll with an attack bonus equal to your Dexterity modifier plus your Proficiency Bonus. On a hit, the target has the Restrained condition until you take a Bonus Action to issue a command that releases it. Doing so or missing with the attack causes the bands to contract and become a sphere once more.\n\nA creature that can touch the bands, including the one Restrained, can take an action to make a DC 20 Strength (Athletics) check to break the iron bands. On a successful check, the item is destroyed, and the Restrained creature is freed. On a failed check, any further attempts made by that creature automatically fail until 24 hours have elapsed.\n\nOnce the bands are used, they can't be used again until the next dawn.","eD":{"ee":true}},"cS":{"Resource":1,"Action":1,"Ak":1},"ch":[{"id":"c1","tp":"Resource","nm":"Iron Bands","rd":"Iron Bands Resource","cp":"6815222cd8a77f0013b8947e","vl":1},{"id":"c2","tp":"Action","nm":"Release Iron Bands","rd":"Iron Bands Bonus Action","cp":"6815222cd8a77f0013b8947e","dn":"On a hit, the target has the Restrained condition until you take a Bonus Action to issue a command that releases it. Doing so causes the bands to contract and become a sphere once more."},{"id":"c1-c1","tp":"Ak","pt":"c1","nm":"Throw Iron Bands","rd":"Iron Bands Attack","cp":"6815222cd8a77f0013b8947e","aT":"Action","rg":"60 ft.","dn":"You can take a Magic action to throw the sphere at a Huge or smaller creature you can see within 60 feet of yourself. As the sphere moves through the air, it opens into a tangle of metal bands. Make a ranged attack roll with an attack bonus equal to your Dexterity modifier plus your Proficiency Bonus.","ak":{"aB":"Dexterity","proficiencyLevel":"Proficient","tp":"Ranged"},"onHit":"On a hit, the target has the Restrained condition until you take a Bonus Action to issue a command that releases it."}]}},{"nm":"Iron Flask","blueprint":{"nm":"Iron Flask","item":{"tp":"Item","cp":"681403eca193700012be6797","dn":"While holding this brass-stoppered iron flask, you can take a Magic action to target a creature that you can see within 60 feet of yourself. If the flask is empty and the target is native to a plane of existence other than the one you're on, the target must succeed on a DC 17 Wisdom saving throw or be trapped in the flask. If the target has been trapped by the flask before, it has Advantage on the save. Once trapped, a creature remains in the flask until released. The flask can hold only one creature at a time. A creature trapped in the flask doesn't age and doesn't need to breathe, eat, or drink.\nYou can take a Magic action to remove the flask's stopper and release the creature in the flask. The creature then obeys your commands for 1 hour, understanding those commands even if it doesn't know the language in which the commands are given. If you issue no commands or give the creature a command that is likely to result in its death or imprisonment, it defends itself but otherwise takes no actions. At the end of the duration, the creature acts in accordance with its normal disposition and alignment.\nAn Identify spell reveals if the flask contains a creature, but the only way to determine the type of creature is to open the flask. A newly discovered Iron Flask might already contain a creature chosen by the DM or determined randomly by rolling on the following table (see the Monster Manual for the creature's stat block).\n01-50 - No creature\n51 - Arcanaloth\n52-54 - Bone Devil\n55-56 - Cambion\n57-58 - Dao\n59 - Deva\n60-61 - Djinni\n62-63 - Efreeti\n64-65 - Erinyes\n66-67 - Fomorian\n68 - Githyanki Knight\n69 - Githzerai Zerth\n70-71 - Glabrezu\n72-74 - Hezrou\n75 - Incubus\n76-77 - Invisible Stalker\n78-79 - Marid\n80 - Marilith\n81-82 - Mezzoloth\n83-84 - Nalfeshnee\n85-86 - Night Hag\n87-88 - Nycaloth\n89 - Planetar\n90-91 - Red Slaad\n92-93 - Salamander\n94 - Solar\n95 - Succubus\n96 - Ultroloth\n97-99 - Vrock\n00 - Xorn","eD":{"ee":true}},"cS":{"Action":1,"Ak":1},"ch":[{"id":"c1","tp":"Action","nm":"Open Iron Flask","rd":"Iron Flask Action","cp":"681403eca193700012be6797","dn":"You can take a Magic action to remove the flask's stopper and release the creature in the flask. The creature then obeys your commands for 1 hour, understanding those commands even if it doesn't know the language in which the commands are given. If you issue no commands or give the creature a command that is likely to result in its death or imprisonment, it defends itself but otherwise takes no actions. At the end of the duration, the creature acts in accordance with its normal disposition and alignment."},{"id":"c2","tp":"Ak","nm":"Trap (Iron Flask)","rd":"Iron Flask Attack","cp":"681403eca193700012be6797","aT":"Action","dn":"While holding this brass-stoppered iron flask, you can take a Magic action to target a creature that you can see within 60 feet of yourself. If the flask is empty and the target is native to a plane of existence other than the one you're on, the target must succeed on a DC 17 Wisdom saving throw. If the target has been trapped by the flask before, it has Advantage on the save.","ak":{"tp":"Attack Save"},"save":{"onFail":"Target is trapped in the Iron Flask.","saveAbility":"Wisdom","saveFlat":17}}]}},{"nm":"Iron Horn of Valhalla","blueprint":{"nm":"Iron Horn of Valhalla","item":{"tp":"Item","cp":"68152989a193700012c11fbb","dn":"You can take a Magic action to blow this horn. In response, warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points. The spirits look like living, breathing warriors, and they have Immunity to the Charmed and Frightened conditions. Once you use the horn, it can't be used again until 7 days have passed.\nThis horn summons 5 Spirits and you must have Proficiency with all Martial weapons to control them. If you blow the horn without meeting its requirement, the summoned spirits attack you. If you meet the requirement, they are Friendly to you and your allies and follow your commands."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Blow Iron Horn of Valhalla","rd":"Iron Horn of Valhalla Action","cp":"68152989a193700012c11fbb","dn":"You can take a Magic action to blow this horn. In response, five (5) warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points."}]}},{"nm":"Ivory Goats","blueprint":{"nm":"Ivory Goats","item":{"tp":"Item","cp":"681402ecd8a77f0013b60d5e","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine's description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn't enough space for the creature, the figurine doesn't become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can't be used again until a certain amount of time has passed, as specified in the figurine's description.\n\nIvory Goats (Rare). These ivory statuettes of goats are always created in sets of three. Each goat looks unique and functions differently from the others. Their properties are as follows:\n\nGoat of Terror. This figurine can become a Giant Goat for up to 3 hours. The goat can't attack, but you can (harmlessly) remove its horns and use them as weapons. One horn becomes a +1 Lance, and the other becomes a +2 Longsword. Removing a horn requires a Magic action, and the weapons disappear and the horns return when the goat reverts to figurine form. While you ride the goat, any Hostile creature that starts its turn within a 30-foot Emanation originating from the goat must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute, until you are no longer riding the goat, or until the goat reverts to figurine form. The Frightened creature repeats the save at the end of each of its turns, ending the effect on itself on a success. Once it succeeds on the save, a creature is immune to this effect for the next 24 hours. Once the figurine has been used, it can't be used again until 15 days have passed.\n\nGoat of Traveling. This figurine can become a Large goat with the same statistics as a Riding Horse. It has 24 charges, and each hour or portion thereof it spends in goat form costs 1 charge. While it has charges, you can use it as often as you wish. When it runs out of charges, it reverts to a figurine and can't be used again until 7 days have passed, when it regains all expended charges.\n\nGoat of Travail. This figurine can become a Giant Goat for up to 3 hours. Once it has been used, it can't be used again until 30 days have passed."},"cS":{"Resource":3,"Action":4,"Effect":3,"Ak":4,"dm":3},"ch":[{"id":"c1","tp":"Resource","nm":"Goat of Terror Charges","cp":"681402ecd8a77f0013b60d5e","vl":1},{"id":"c2","tp":"Resource","nm":"Goat of Traveling Charges","cp":"681402ecd8a77f0013b60d5e","vl":24},{"id":"c3","tp":"Resource","nm":"Goat of Travail Charges","cp":"681402ecd8a77f0013b60d5e","vl":1},{"id":"c4","tp":"Action","nm":"Transform Goat of Terror","rd":"Transform Goat of Terror Magic Action","cp":"681402ecd8a77f0013b60d5e","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Goat of Terror. This figurine can become a Giant Goat for up to 3 hours. The goat can't attack, but you can (harmlessly) remove its horns and use them as weapons. One horn becomes a +1 Lance, and the other becomes a +2 Longsword. Removing a horn requires a Magic action, and the weapons disappear and the horns return when the goat reverts to figurine form. While you ride the goat, any Hostile creature that starts its turn within a 30-foot Emanation originating from the goat must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute, until you are no longer riding the goat, or until the goat reverts to figurine form. The Frightened creature repeats the save at the end of each of its turns, ending the effect on itself on a success. Once it succeeds on the save, a creature is immune to this effect for the next 24 hours. Once the figurine has been used, it can't be used again until 15 days have passed."},{"id":"c5","tp":"Action","nm":"Transform Goat of Traveling","rd":"Transform Goat of Traveling Magic Action","cp":"681402ecd8a77f0013b60d5e","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Goat of Traveling. This figurine can become a Large goat with the same statistics as a Riding Horse. It has 24 charges, and each hour or portion thereof it spends in goat form costs 1 charge. While it has charges, you can use it as often as you wish. When it runs out of charges, it reverts to a figurine and can't be used again until 7 days have passed, when it regains all expended charges."},{"id":"c6","tp":"Action","nm":"Transform Goat of Travail","rd":"Transform Goat of Travail Magic Action","cp":"681402ecd8a77f0013b60d5e","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Goat of Travail. This figurine can become a Giant Goat for up to 3 hours. Once it has been used, it can't be used again until 30 days have passed."},{"id":"c1-c1","tp":"Effect","pt":"c1","nm":"Goat of Terror Active","rd":"Goat of Terror Active Effect","cp":"681402ecd8a77f0013b60d5e","cy":"[]","dn":"The creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nGoat of Terror. This figurine can become a Giant Goat for up to 3 hours. The goat can't attack, but you can (harmlessly) remove its horns and use them as weapons. One horn becomes a +1 Lance, and the other becomes a +2 Longsword. Removing a horn requires a Magic action, and the weapons disappear and the horns return when the goat reverts to figurine form. While you ride the goat, any Hostile creature that starts its turn within a 30-foot Emanation originating from the goat must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute, until you are no longer riding the goat, or until the goat reverts to figurine form. The Frightened creature repeats the save at the end of each of its turns, ending the effect on itself on a success. Once it succeeds on the save, a creature is immune to this effect for the next 24 hours. Once the figurine has been used, it can't be used again until 15 days have passed.","active":false},{"id":"c2-c1","tp":"Effect","pt":"c2","nm":"Goat of Traveling Active","rd":"Goat of Traveling Active Effect","cp":"681402ecd8a77f0013b60d5e","cy":"[]","dn":"The creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nGoat of Traveling. This figurine can become a Large goat with the same statistics as a Riding Horse. It has 24 charges, and each hour or portion thereof it spends in goat form costs 1 charge. While it has charges, you can use it as often as you wish. When it runs out of charges, it reverts to a figurine and can't be used again until 7 days have passed, when it regains all expended charges.","active":false},{"id":"c3-c1","tp":"Effect","pt":"c3","nm":"Goat of Travail Active","rd":"Goat of Travail Active Effect","cp":"681402ecd8a77f0013b60d5e","cy":"[]","dn":"The creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nGoat of Travail. This figurine can become a Giant Goat for up to 3 hours. Once it has been used, it can't be used again until 30 days have passed.","active":false},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Remove Goat of Terror Horn","rd":"Goat of Terror Remove Horn Action","cp":"681402ecd8a77f0013b60d5e","dn":"Removing a horn requires a Magic action, and the weapons disappear and the horns return when the goat reverts to figurine form."},{"id":"c1-c1-c2","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Goat of Terror Horn Lance","rd":"Goat of Terror Horn Lance Attack","cp":"681402ecd8a77f0013b60d5e","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c1-c1-c3","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Goat of Terror Horn Longsword","rd":"Goat of Terror Horn Longsword Attack","cp":"681402ecd8a77f0013b60d5e","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1-c4","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Goat of Terror Horn Longsword (Two-handed)","rd":"Goat of Terror Horn Longsword Attack (Two-handed)","cp":"681402ecd8a77f0013b60d5e","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c1-c1-c5","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Fear Aura (Goat of Terror)","rd":"Goat of Terror Fear Aura Attack","cp":"681402ecd8a77f0013b60d5e","aT":"Free Action","dn":"While you ride the goat, any Hostile creature that starts its turn within a 30-foot Emanation originating from the goat must succeed on a DC 15 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature the Frightened condition for 1 minute, until you are no longer riding the goat, or until the goat reverts to figurine form. The Frightened creature repeats the save at the end of each of its turns, ending the effect on itself on a success.","onSucceed":"Once it succeeds on the save, a creature is immune to this effect for the next 24 hours.","saveAbility":"Wisdom","saveFlat":15}},{"id":"c1-c1-c2-c1","tp":"dm","pt":"c1-c1-c2","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Goat of Terror Horn Lance Damage","cp":"681402ecd8a77f0013b60d5e","ay":"auto","dT":"Piercing","die":"d10","bo":1,"ct":1,"oC":false},{"id":"c1-c1-c3-c1","tp":"dm","pt":"c1-c1-c3","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Goat of Terror Horn Longsword Damage","cp":"681402ecd8a77f0013b60d5e","ay":"auto","dT":"Slashing","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c4-c1","tp":"dm","pt":"c1-c1-c4","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Goat of Terror Horn Longsword Damage (Two-handed)","cp":"681402ecd8a77f0013b60d5e","ay":"auto","dT":"Slashing","die":"d10","bo":2,"ct":1,"oC":false}]}},{"nm":"Malice","blueprint":{"nm":"Malice","item":{"tp":"Item","cp":"6815291ea193700012c10a6f","dn":"A creature subjected to Malice must succeed on a DC 15 Constitution saving throw or have the Poisoned condition for 1 hour. The creature also has the Blinded condition while Poisoned in this way."},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Malice","rd":"Malice Attack","cp":"6815291ea193700012c10a6f","aT":"Action","dn":"A creature subjected to Malice must succeed on a DC 15 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Poisoned condition for 1 hour. The creature also has the Blinded condition while Poisoned in this way.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Mantle of Spell Resistance","blueprint":{"nm":"Mantle of Spell Resistance","item":{"tp":"Item","cp":"6744e45595192d0012ba3960","dn":"You have Advantage on saving throws against spells while you wear this cloak.","eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Mantle of Spell Resistance Attunement","cp":"6744e45595192d0012ba3960","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Mantle of Spell Resistance Advantage on Saving Throws VS spells","cp":"6744e45595192d0012ba3960","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Marble Elephant","blueprint":{"nm":"Marble Elephant","item":{"tp":"Item","cp":"6814062fc19cbf0012ac562b","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine's description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn't enough space for the creature, the figurine doesn't become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can't be used again until a certain amount of time has passed, as specified in the figurine's description.\n\nMarble Elephant (Rare). This marble statuette resembles a trumpeting elephant. It can become an Elephant for up to 24 hours. Once it has been used, it can't be used again until 7 days have passed."},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Marble Elephant Charges","rd":"Marble Elephant Figurine of Wondrous Power Charges","cp":"6814062fc19cbf0012ac562b","vl":1},{"id":"c2","tp":"Action","nm":"Transform Marble Elephant","rd":"Marble Elephant Figurine of Wondrous Power Transform Magic Action","cp":"6814062fc19cbf0012ac562b","dn":"If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes an Elephant for up to 24 hours. Once it has been used, it can't be used again until 7 days have passed. "}]}},{"nm":"Medallion of Thoughts","blueprint":{"nm":"Medallion of Thoughts","item":{"tp":"Item","cp":"6744e2e595192d0012b9df4e","dn":"The medallion has 5 charges. While wearing it, you can expend 1 charge to cast Detect Thoughts (save DC 13) from it. The medallion regains 1d4 expended charges daily at dawn.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Condition":1,"Ak":1,"Action":3},"ch":[{"id":"c1","tp":"Am","nm":"Medallion of Thoughts Attunement","cp":"6744e2e595192d0012b9df4e","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Medallion of Thoughts Charges","cp":"6744e2e595192d0012b9df4e","vl":5},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Thoughts","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects below. Until the spell ends, you can activate either effect as a Magic action on your later turns.\nSense Thoughts. You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\nRead Thoughts. Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing.\nAs a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."},{"id":"c1-c1-c1-c1","tp":"Condition","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Detect Thoughts Spell","rd":"Detect Thoughts Condition","cp":"66e08f9ddc69af0030fa5138","dn":"You activate one of the effects: Sense Thoughts, Read Thoughts. Until the spell ends, you can activate either effect as a Magic action on your later turns."},{"id":"c1-c1-c1-c2","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Attack","cp":"66e08f9ddc69af0030fa5138","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"You discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate).","onSucceed":"Spell ends.","saveAbility":"Wisdom"}},{"id":"c1-c1-c1-c1-c1","tp":"Action","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c1-c1","actions":["Activate"]}],"nm":"Sense Thoughts","rd":"Sense Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"You sense the presence of thoughts within 30 feet of yourself that belong to creatures that know languages or are telepathic. You don't read the thoughts, but you know that a thinking creature is present.\n\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead.\n"},{"id":"c1-c1-c1-c1-c2","tp":"Action","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c1-c1","actions":["Activate"]}],"nm":"Read Thoughts","rd":"Read Thoughts Action","cp":"66e08f9ddc69af0030fa5138","dn":"Target one creature you can see within 30 feet of yourself or one creature within 30 feet of yourself that you detected with the Sense Thoughts option. You learn what is most on the target's mind right now. If the target doesn't know any languages and isn't telepathic, you learn nothing."},{"id":"c1-c1-c1-c1-c3","tp":"Action","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c1-c1","actions":["Activate"]}],"nm":"Read Thoughts Probe Deeper","rd":"Read Thoughts Probe Deeper Action","cp":"66e08f9ddc69af0030fa5138","dn":"As a Magic action on your next turn, you can try to probe deeper into the target's mind. If you probe deeper, the target makes a Wisdom saving throw. On a failed save, you discern the target's reasoning, emotions, and something that looms large in its mind (such as a worry, love, or hate). On a successful save, the spell ends. Either way, the target knows that you are probing into its mind, and until you shift your attention away from the target's mind, the target can take an action on its turn to make an Intelligence (Arcana) check against your spell save DC, ending the spell on a success."}]}},{"nm":"Midnight Tears","blueprint":{"nm":"Midnight Tears","item":{"tp":"Item","cp":"68152990a193700012c1213f","dn":"A creature that ingests Midnight Tears suffers no effect until the stroke of midnight. Any effect that ends the Poisoned condition neutralizes this poison. If the poison hasn't been neutralized before midnight, the creature makes a DC 17 Constitution saving throw, taking 31 (9d6) Poison damage on a failed save or half as much damage on a successful one."},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Midnight Tears","rd":"Midnight Tears Attack","cp":"68152990a193700012c1213f","aT":"Action","dn":"A creature that ingests Midnight Tears suffers no effect until the stroke of midnight. Any effect that ends the Poisoned condition neutralizes this poison. If the poison hasn't been neutralized before midnight, the creature makes a DC 17 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"9d6 Poison Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":17}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Midnight Tears Damage","cp":"68152990a193700012c1213f","ay":"none","dT":"Poison","die":"d6","ct":9,"oC":false}]}},{"nm":"Mirror of Life Trapping","blueprint":{"nm":"Mirror of Life Trapping","item":{"tp":"Item","cp":"68140648c19cbf0012ac56b9","dn":"When this 4-foot-tall, 2-foot-wide mirror is viewed indirectly, its surface shows faint images of creatures. The mirror weighs 50 pounds, and it has AC 11, HP 10, Immunity to Poison and Psychic damage, and Vulnerability to Bludgeoning damage. It shatters and is destroyed when reduced to 0 Hit Points.\nIf the mirror is hanging on a vertical surface and you are within 5 feet of it, you can take a Magic action and use a command word to activate it. It remains activated until you take a Magic action and repeat the command word to deactivate it.\nAny creature other than you that sees its reflection in the activated mirror while within 30 feet of the mirror must succeed on a DC 15 Charisma saving throw or be trapped, along with anything it is wearing or carrying, in one of the mirror's twelve extradimensional cells. A creature that knows the mirror's nature makes the save with Advantage, and Constructs succeed on the save automatically.\nAn extradimensional cell is an infinite expanse filled with thick fog that reduces visibility to 10 feet. Creatures trapped in the mirror's cells don't age, and they don't need to eat, drink, or sleep. A creature trapped within a cell can escape using magic that permits planar travel. Otherwise, the creature is confined to the cell until freed.\nIf the mirror traps a creature but its twelve extradimensional cells are already occupied, the mirror frees one trapped creature at random to accommodate the new prisoner. A freed creature appears in an unoccupied space within sight of the mirror but facing away from it. If the mirror is shattered, all creatures it contains are freed and appear in unoccupied spaces near it.\nWhile within 5 feet of the mirror, you can take a Magic action to name one creature trapped in it or call out a particular cell by number. The creature named or contained in the named cell appears as an image on the mirror's surface. You and the creature can then communicate.\nIn a similar way, you can take a Magic action and use a second command word to free one creature trapped in the mirror. The freed creature appears, along with its possessions, in the unoccupied space nearest to the mirror and facing away from it.\nPlacing the mirror inside an extradimensional space created by a Bag of Holding, Portable Hole, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within 10 feet of the gate and not behind Total Cover is sucked through it to a random location on the Astral Plane. The gate then closes. The gate is one-way only and can't be reopened.","wt":50},"cS":{"Action":3,"Effect":1,"Ak":1},"ch":[{"id":"c1","tp":"Action","nm":"Mirror of Life Trapping","rd":"Activate Mirror of Life Trapping Action","cp":"68140648c19cbf0012ac56b9","dn":"If the mirror is hanging on a vertical surface and you are within 5 feet of it, you can take a Magic action and use a command word to activate it. It remains activated until you take a Magic action and repeat the command word to deactivate it."},{"id":"c2","tp":"Action","nm":"Communicate with Trapped Creature (Mirror of Life Trapping)","rd":"Communicate with Trapped Creature Action","cp":"68140648c19cbf0012ac56b9","dn":"While within 5 feet of the mirror, you can take a Magic action to name one creature trapped in it or call out a particular cell by number. The creature named or contained in the named cell appears as an image on the mirror's surface. You and the creature can then communicate."},{"id":"c3","tp":"Action","nm":"Release Trapped Creature (Mirror of Life Trapping)","rd":"Release Trapped Creature Action","cp":"68140648c19cbf0012ac56b9","dn":"While within 5 feet of the mirror, you can take a Magic action and use a second command word to free one creature trapped in the mirror. The freed creature appears, along with its possessions, in the unoccupied space nearest to the mirror and facing away from it. "},{"id":"c1-c1","tp":"Effect","pt":"c1","nm":"Mirror of Life Trapping Activated","rd":"Mirror of Life Trapping Effect","cp":"68140648c19cbf0012ac56b9","cy":"[]","dn":"Any creature other than you that sees its reflection in the activated mirror while within 30 feet of the mirror must succeed on a DC 15 Charisma saving throw.","active":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"c1-c1","actions":["Activate"]}],"nm":"Mirror of Life Trapping","rd":"Mirror of Life Trapping Attack","cp":"68140648c19cbf0012ac56b9","aT":"Free Action","rg":"within 30 feet of the mirror","dn":"Any creature other than you that sees its reflection in the activated mirror while within 30 feet of the mirror must make a DC 15 Charisma saving throw. A creature that knows the mirror's nature makes the save with Advantage, and Constructs succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"A creature is trapped, along with anything it is wearing or carrying, in one of the mirror's twelve extradimensional cells.","saveAbility":"Charisma","saveFlat":15}}]}},{"nm":"Necklace of Adaptation","blueprint":{"nm":"Necklace of Adaptation","item":{"tp":"Item","cp":"6744e45095192d0012ba3812","dn":"While wearing this necklace, you can breathe normally in any environment, and you have Advantage on saving throws made to avoid or end the Poisoned condition.","eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Necklace of Adaptation Attunement","cp":"6744e45095192d0012ba3812","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Necklace of Adaptation Poison Save Advantage","cp":"6744e45095192d0012ba3812","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Necklace of Fireballs","blueprint":{"nm":"Necklace of Fireballs","item":{"tp":"Item","cp":"681406cb01f94d0012a64949","dn":"This necklace has 1d6 + 3 beads hanging from it. You can take a Magic action to detach a bead and throw it up to 60 feet away. When it reaches the end of its trajectory, the bead detonates as a level 3 Fireball (save DC 15).\nYou can hurl multiple beads, or even the whole necklace, at one time. When you do so, increase the damage of the Fireball by 1d6 for each bead after the first (maximum 12d6).","eD":{"ee":true}},"cS":{"Resource":1,"Spell":1,"Ak":1,"dm":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Resource","nm":"Fireball Beads","rd":"Necklace of Fireballs Beads","cp":"681406cb01f94d0012a64949","vl":9},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c1-c1","tp":"dm","pt":"c1-c1-c1","nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c1-c1-c1","nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1}]}},{"nm":"Necklace of Prayer Beads","blueprint":{"nm":"Necklace of Prayer Beads","item":{"tp":"Item","cp":"6814069b614c8000122d42f7","dn":"Requires Attunement by a Cleric, Druid, or Paladin\n\nThis necklace has 1d4 + 2 magic beads made from aquamarine, black pearl, or topaz. It also has many nonmagical beads made from stones such as amber, bloodstone, citrine, coral, jade, pearl, or quartz. If a magic bead is removed from the necklace, that bead loses its magic.\nSix types of magic beads exist. The DM decides the type of each bead on the necklace or determines it randomly by rolling on the table below. A necklace can have more than one bead of the same type. To use one, you must be wearing the necklace. Each bead contains a spell that you can cast from it as a Bonus Action (using your spell save DC if a save is necessary). Once a magic bead's spell is cast, that bead can't be used again until the next dawn.\n1d20 | Bead | Spell\n1-6 | Bead of Blessing | Bless\n7-12 | Bead of Curing | Cure Wounds (level 2 version)\n13-16 | Bead of Favor | Greater Restoration\n17-18 | Bead of Smiting | Shining Smite\n19 | Bead of Summons | Guardian of Faith\n20 | Bead of Wind Walking | Wind Walk","eD":{"ee":true}},"cS":{"Am":1,"Resource":1},"ch":[{"id":"c1","tp":"Am","nm":"Necklace of Prayer Beads Attunement","cp":"6814069b614c8000122d42f7","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Prayer Beads","rd":"Necklace of Prayer Beads Resource","cp":"6814069b614c8000122d42f7","vl":6}]}},{"nm":"Needle +1","blueprint":{"nm":"Needle +1","item":{"tp":"Item","cp":"6744e44795192d0012ba3593","dn":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Needle +1","rd":"Needle +1 Effect","cp":"6744e44795192d0012ba3593","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Needle +2","blueprint":{"nm":"Needle +2","item":{"tp":"Item","cp":"6744e46595192d0012ba3dad","dn":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Needle +2","rd":"Needle +2 Effect","cp":"6744e46595192d0012ba3dad","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Needle +3","blueprint":{"nm":"Needle +3","item":{"tp":"Item","cp":"6744e46695192d0012ba3de3","dn":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Needle +3","rd":"Needle +3 Effect","cp":"6744e46695192d0012ba3de3","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Net","blueprint":{"nm":"Net","item":{"tp":"Item","cp":"67a65925db873a00127f6c48","dn":"When you take the Attack action, you can replace one of your attacks with throwing a Net. Target a creature you can see within 15 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or have the Restrained condition until it escapes. The target succeeds automatically if it is Huge or larger.\nTo escape, the target or a creature within 5 feet of it must take an action to make a DC 10 Strength (Athletics) check, freeing the Restrained creature on a success. Destroying the Net (AC 10; 5 HP; Immunity to Bludgeoning, Poison, and Psychic damage) also frees the target, ending the effect.","wt":3,"eD":{"ee":true}},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Throw Net","rd":"Net Attack","cp":"67a65925db873a00127f6c48","aT":"Action","rg":"15 ft","dn":"When you take the Attack action, you can replace one of your attacks with throwing a Net. Target a creature you can see within 15 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or have the Restrained condition until it escapes. The target succeeds automatically if it is Huge or larger.\nTo escape, the target or a creature within 5 feet of it must take an action to make a DC 10 Strength (Athletics) check, freeing the Restrained creature on a success. Destroying the Net (AC 10; 5 HP; Immunity to Bludgeoning, Poison, and Psychic damage) also frees the target, ending the effect.","ak":{"tp":"Attack Save"},"save":{"onFail":"Restrained","saveAbility":"Dexterity","saveFormula":{"ay":{"ay":"Dexterity","add":true},"flatValue":8,"py":{"add":true}}}}]}},{"nm":"Oil","blueprint":{"nm":"Oil","item":{"tp":"Item","cp":"681529b1a193700012c1281d","dn":"You can douse a creature, object, or space with Oil or use it as fuel, as detailed below.\nDousing a Creature or an Object. When you take the Attack action, you can replace one of your attacks with throwing an Oil flask. Target one creature or object within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or be covered in oil. If the target takes Fire damage before the oil dries (after 1 minute), the target takes an extra 5 Fire damage from burning oil.\nDousing a Space. You can take the Utilize action to pour an Oil flask on level ground to cover a 5-foot-square area within 5 feet of yourself. If lit, the oil burns until the end of the turn 2 rounds from when the oil was lit (or 12 seconds) and deals 5 Fire damage to any creature that enters the area or ends its turn there. A creature can take this damage only once per turn.\nFuel. Oil serves as fuel for Lamps and Lanterns. Once lit, a flask of Oil burns for 6 hours in a Lamp or Lantern. That duration doesn't need to be consecutive; you can extinguish the burning Oil (as a Utilize action) and rekindle it again until it has burned for a total of 6 hours.","wt":1},"cS":{"Ak":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Oil (Creature or Object)","rd":"Oil Douse Creature Attack","cp":"681529b1a193700012c1281d","aT":"Action","rg":"20 ft","dn":"When you take the Attack action, you can replace one of your attacks with throwing an Oil flask. Target one creature or object within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or be covered in oil. If the target takes Fire damage before the oil dries (after 1 minute), the target takes an extra 5 Fire damage from burning oil.","ak":{"tp":"Attack Save"},"save":{"onFail":"Doused in Oil","saveAbility":"Dexterity","saveFormula":{"ay":{"ay":"Dexterity","add":true},"flatValue":8,"py":{"add":true}}}},{"id":"c2","tp":"Action","nm":"Douse Space with Oil","rd":"Oil Douse Space Action","cp":"681529b1a193700012c1281d","dn":"You can take the Utilize action to pour an Oil flask on level ground to cover a 5-foot square area within 5 feet of yourself. If lit, the oil burns until the end of the turn 2 rounds from when the oil was lit (or 12 seconds) and deals 5 Fire damage to any creature that enters the area or ends its turn there. A creature can take this damage only once per turn."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Oil Douse Creature Damage","cp":"681529b1a193700012c1281d","ay":"none","dT":"Fire","bo":5,"oC":false}]}},{"nm":"Oil of Etherealness","blueprint":{"nm":"Oil of Etherealness","item":{"tp":"Item","cp":"6744e46a95192d0012ba3ef2","dn":"One vial of this oil can cover one Medium or smaller creature, along with the equipment it's wearing and carrying (one additional vial is required for each size category above Medium). Applying the oil takes 10 minutes. The affected creature then gains the effect of the Etherealness spell for 1 hour.\nBeads of this cloudy, gray oil form on the outside of its container and quickly evaporate."},"cS":{"Effect":1,"Spell":1},"ch":[{"id":"c1","tp":"Effect","nm":"Oil of Etherealness","rd":"Oil of Etherealness Effect","cp":"6744e46a95192d0012ba3ef2","cy":"[]","dn":"The affected creature then gains the effect of the Etherealness spell for 1 hour.","active":false},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Etherealness","cp":"66e08fd9dc69af0030fa5f56","dn":"You step into the border regions of the Ethereal Plane, where it overlaps with your current plane. You remain in the Border Ethereal for the duration. During this time, you can move in any direction. If you move up or down, every foot of movement costs an extra foot. You can perceive the plane you left, which looks gray, and you can't see anything there more than 60 feet away.\nWhile on the Ethereal Plane, you can affect and be affected only by creatures, objects, and effects on that plane. Creatures that aren't on the Ethereal Plane can't perceive or interact with you unless a feature gives them the ability to do so.\nWhen the spell ends, you return to the plane you left in the spot that corresponds to your space in the Border Ethereal. If you appear in an occupied space, you are shunted to the nearest unoccupied space and take Force damage equal to twice the number of feet you are moved.\nThis spell ends instantly if you cast it while you are on the Ethereal Plane or a plane that doesn't border it, such as one of the Outer Planes."}]}},{"nm":"Oil of Slipperiness","blueprint":{"nm":"Oil of Slipperiness","item":{"tp":"Item","cp":"681529f3a193700012c13455","dn":"One vial of this oil can cover one Medium or smaller creature, along with the equipment it's wearing and carrying (one additional vial is required for each size category above Medium). Applying the oil takes 10 minutes. The affected creature then gains the effect of the Freedom of Movement spell for 8 hours. Alternatively, the oil can be poured on the ground as a Magic action, where it covers a 10-foot square, duplicating the effect of the Grease spell in that area for 8 hours. This sticky, black unguent is thick and heavy, but it flows quickly when poured."},"cS":{"Effect":1,"Action":1,"Spell":2,"Condition":1,"Ak":1,"Defense":2,"sp":2},"ch":[{"id":"c1","tp":"Effect","nm":"Oil of Slipperiness","rd":"Oil of Slipperiness Effect","cp":"681529f3a193700012c13455","cy":"[]","dn":"The affected creature then gains the effect of the Freedom of Movement spell for 8 hours.\n\nAlternatively, the oil can be poured on the ground as a Magic action, where it covers a 10-foot square, duplicating the effect of the Grease spell in that area for 8 hours.","active":false},{"id":"c2","tp":"Action","nm":"Pour Oil of Slipperiness","rd":"Pour Oil of Slipperiness Action","cp":"681529f3a193700012c13455","dn":"The oil can be poured on the ground as a Magic action, where it covers a 10-foot square, duplicating the effect of the Grease spell in that area for 8 hours."},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Freedom of Movement","cp":"66e08feadc69af0030fa633d","dn":"You touch a willing creature. For the duration, the target's movement is unaffected by Difficult Terrain, and spells and other magical effects can neither reduce the target's Speed nor cause the target to have the Paralyzed or Restrained conditions. The target also has a Swim Speed equal to its Speed.\nIn addition, the target can spend 5 feet of movement to automatically escape from nonmagical restraints, such as manacles or a creature imposing the Grappled condition on it."},{"id":"c1-c2","tp":"Spell","pt":"c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Grease","cp":"66e08fc7dc69af0030fa5b22","dn":"Nonflammable grease covers the ground in a 10-foot Square centered on a point within range and turns it into Difficult Terrain for the duration.\nWhen the grease appears, each creature standing in its area must succeed on a Dexterity saving throw or have the Prone condition. A creature that enters the area or ends its turn there must also succeed on that save or fall Prone."},{"id":"c1-c1-c1","tp":"Condition","pt":"c1-c1","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Freedom of Movement","rd":"Freedom of Movement Condition","cp":"66e08feadc69af0030fa633d","dn":"For the duration, the target's movement is unaffected by Difficult Terrain, and spells and other magical effects can neither reduce the target's Speed nor cause the target to have the Paralyzed or Restrained conditions. The target also has a Swim Speed equal to its Speed."},{"id":"c1-c2-c1","tp":"Ak","pt":"c1-c2","cascades":[{"ref":"c1","actions":["Activate"]}],"nm":"Grease","rd":"Grease Attack","cp":"66e08fc7dc69af0030fa5b22","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"Have the Prone condition.","saveAbility":"Dexterity"}},{"id":"c1-c1-c1-c1","tp":"Defense","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]},{"ref":"c1","actions":["Activate"]}],"nm":"Freedom of Movement Defense Conditions","cp":"66e08feadc69af0030fa633d","condition":"Paralyzed","defense":"Immunity"},{"id":"c1-c1-c1-c2","tp":"Defense","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]},{"ref":"c1","actions":["Activate"]}],"nm":"Freedom of Movement Restrained Immunity","cp":"66e08feadc69af0030fa633d","condition":"Restrained","defense":"Immunity"},{"id":"c1-c1-c1-c3","tp":"sp","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]},{"ref":"c1","actions":["Activate"]}],"nm":"Freedom of Movement Swim Speed 30","cp":"66e08feadc69af0030fa633d","cl":"Set Value","se":"Swim","vl":{"fa":30}},{"id":"c1-c1-c1-c4","tp":"sp","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]},{"ref":"c1","actions":["Activate"]}],"nm":"Freedom of Movement Swim Speed","cp":"66e08feadc69af0030fa633d","cl":"Set Base","se":"Swim"}]}},{"nm":"Oil of Taggit","blueprint":{"nm":"Oil of Taggit","item":{"tp":"Item","cp":"681529b5a193700012c128de","dn":"A creature subjected to Oil of Taggit must succeed on a DC 13 Constitution saving throw or have the Poisoned condition for 24 hours. The creature also has the Unconscious condition while Poisoned in this way. It wakes up if it takes damage."},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Oil of Taggit","rd":"Oil of Taggit Attack","cp":"681529b5a193700012c128de","aT":"Action","dn":"A creature subjected to Oil of Taggit must succeed on a DC 13 Constitution.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature has the Poisoned condition for 24 hours. The creature also has the Unconscious condition while Poisoned in this way. It wakes up if it takes damage.","saveAbility":"Constitution","saveFlat":13}}]}},{"nm":"Orb","blueprint":{"nm":"Orb","item":{"tp":"Item","cp":"6815293ea193700012c110c7","dn":"An Arcane Focus takes one of the forms in the Arcane Focuses table and is bejeweled or carved to channel arcane magic. A Sorcerer, Warlock, or Wizard can use such an item as a Spellcasting Focus.","wt":3,"eD":{"ee":true}},"cS":{},"ch":[]}},{"nm":"Pearl of Power","blueprint":{"nm":"Pearl of Power","item":{"tp":"Item","cp":"68152947a193700012c112b7","dn":"Requires Attunement by a Spellcaster\n\nWhile this pearl is on your person, you can take a Magic action to regain one expended spell slot of level 3 or lower. Once you use the pearl, it can't be used again until the next dawn.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Pearl of Power Attunement","cp":"68152947a193700012c112b7","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Pearl of Power","rd":"Pearl of Power Resource","cp":"68152947a193700012c112b7","vl":1},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Regain Spell Slot","rd":"Pearl of Power Magic Action","cp":"68152947a193700012c112b7","dn":"While the Pearl of Power is on your person, you can take a Magic action to regain one expended spell slot of level 3 or lower. Once you use the pearl, it can't be used again until the next dawn."}]}},{"nm":"Periapt of Health","blueprint":{"nm":"Periapt of Health","item":{"tp":"Item","cp":"6814096e350b5e00122cddd2","dn":"While wearing this pendant, you can take a Magic action to regain 2d4 + 2 Hit Points. Once used, this property can't be used again until the next dawn.\n\nIn addition, you have Advantage on saving throws to avoid or end the Poisoned condition while you wear this pendant.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"RB":1,"Action":1,"Healing":1},"ch":[{"id":"c1","tp":"Am","nm":"Periapt of Health Attunement","cp":"6814096e350b5e00122cddd2","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Periapt of Health Charge","rd":"Periapt of Health Resource","cp":"6814096e350b5e00122cddd2","vl":1},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Periapt of Health Save Advantage","cp":"6814096e350b5e00122cddd2","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Periapt of Health","rd":"Periapt of Health Action","cp":"6814096e350b5e00122cddd2","dn":"While wearing this pendant, you can take a Magic action to regain 2d4 + 2 Hit Points."},{"id":"c1-c1-c1-c1","tp":"Healing","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Periapt of Health Healing","cp":"6814096e350b5e00122cddd2"}]}},{"nm":"Periapt of Proof against Poison","blueprint":{"nm":"Periapt of Proof against Poison","item":{"tp":"Item","cp":"6744e46895192d0012ba3e86","dn":"This delicate silver chain has a brilliant-cut black gem pendant. While you wear it, you have Immunity to the Poisoned condition and Poison damage.","eD":{"ee":true}},"cS":{"Am":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Periapt of Proof against Poison Attunement","cp":"6744e46895192d0012ba3e86","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Periapt of Proof against Poison Immunity","cp":"6744e46895192d0012ba3e86","damage":"Poison","condition":"Poisoned","defense":"Immunity"}]}},{"nm":"Periapt of Wound Closure","blueprint":{"nm":"Periapt of Wound Closure","item":{"tp":"Item","cp":"68140964aa185e001254a90f","dn":"While wearing this pendant, you gain the following benefits.\n\n\nLife Preservation. Whenever you make a Death Saving Throw, you can change a roll of 9 or lower to a 10, turning a failed save into a successful one.\n\nNatural Healing Boost. Whenever you roll a Hit Point Die to regain Hit Points, double the number of Hit Points it restores.","eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Periapt of Wound Closure Attunement","cp":"68140964aa185e001254a90f","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Periapt of Wound Closure Life Preservation Roll Bonus","cp":"68140964aa185e001254a90f","bC":"[\"Saving Throws\"]","bD":"Minimum","bN":"[\"Death\"]","bV":10,"dC":1,"tR":false}]}},{"nm":"Philter of Love","blueprint":{"nm":"Philter of Love","item":{"tp":"Item","cp":"681529f4a193700012c13478","dn":"The next time you see a creature within 10 minutes after drinking this philter, you are charmed by that creature and have the Charmed condition for 1 hour.\nThis rose-hued, effervescent liquid contains one easy-to-miss bubble shaped like a heart."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Drink Philter of Love","cp":"681529f4a193700012c13478","dn":"The next time you see a creature within 10 minutes after drinking this philter, you are charmed by that creature and have the Charmed condition for 1 hour."}]}},{"nm":"Pipes of Haunting","blueprint":{"nm":"Pipes of Haunting","item":{"tp":"Item","cp":"681409b6d8a77f0013b62a19","dn":"These pipes have 3 charges and regain 1d3 expended charges daily at dawn. You can take a Magic action to play them and expend 1 charge to create an eerie, spellbinding tune. Each creature of your choice within 30 feet of you must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute. A creature that fails the save repeats it at the end of each of its turns, ending the effect on itself on a success. A creature that succeeds on its save is immune to the effect of these pipes for 24 hours."},"cS":{"Resource":1,"Ak":1},"ch":[{"id":"c1","tp":"Resource","nm":"Pipes of Haunting Charges","rd":"Pipes of Haunting Resource","cp":"681409b6d8a77f0013b62a19","vl":3},{"id":"c1-c1","tp":"Ak","pt":"c1","nm":"Pipes of Haunting","rd":"Pipes of Haunting Attack Save","cp":"681409b6d8a77f0013b62a19","aT":"Action","dn":"You can take a Magic action to play them and expend 1 charge to create an eerie, spellbinding tune. Each creature of your choice within 30 feet of you must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute.","ak":{"tp":"Attack Save"},"save":{"onFail":"Gains the Frightened condition for 1 minute. A creature that fails the save repeats it at the end of each of its turns, ending the effect on itself on a success.","onSucceed":"Immune to the effect of these pipes for 24 hours.","saveAbility":"Wisdom","saveFlat":15}}]}},{"nm":"Pipes of the Sewers","blueprint":{"nm":"Pipes of the Sewers","item":{"tp":"Item","cp":"6744e47495192d0012ba418c","dn":"While these pipes are on your person, ordinary rats and giant rats are Indifferent toward you and won't attack you unless you threaten or harm them.\nThe pipes have 3 charges and regain 1d3 expended charges daily at dawn. If you play the pipes as a Magic action, you can take a Bonus Action to expend 1 to 3 charges, calling forth one Swarm of Rats with each expended charge if enough rats are within half a mile of you to be called in this fashion (as determined by the DM). If there aren't enough rats to form a swarm, the charge is wasted. Called swarms move toward the music by the shortest available route but aren't under your control otherwise.\nWhenever a Swarm of Rats that isn't under another creature's control comes within 30 feet of you while you are playing the pipes, the swarm makes a DC 15 Wisdom saving throw. On a successful save, the swarm behaves as it normally would and can't be swayed by the pipes' music for the next 24 hours. On a failed save, the swarm is swayed by the pipes' music and becomes Friendly to you and your allies for as long as you continue to play the pipes each round as a Magic action. A Friendly swarm obeys your commands. If you issue no commands to a Friendly swarm, it defends itself but otherwise takes no actions. If a Friendly swarm starts its turn more than 30 feet away from you, your control over that swarm ends, and the swarm behaves as it normally would and can't be swayed by the pipes' music for the next 24 hours."},"cS":{"Am":1,"Resource":1,"Ak":1,"Action":2},"ch":[{"id":"c1","tp":"Am","nm":"Pipes of the Sewers Attunement","cp":"6744e47495192d0012ba418c","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Pipes of the Sewers Charges","rd":"Pipes of the Sewers Resource","cp":"6744e47495192d0012ba418c","vl":3},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Control Swarm of Rats","rd":"Pipes of the Sewers Control Swarm of Rats Attack","cp":"6744e47495192d0012ba418c","aT":"Free Action","rg":"30 ft","dn":"Whenever a Swarm of Rats that isn't under another creature's control comes within 30 feet of you while you are playing the pipes, the swarm makes a DC 15 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The swarm is swayed by the pipes' music and becomes Friendly to you and your allies for as long as you continue to play the pipes each round as a Magic action.","onSucceed":"The swarm behaves as it normally would and can't be swayed by the pipes' music for the next 24 hours.","saveAbility":"Wisdom","saveFlat":15}},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Play Pipes of the Sewer","rd":"Pipes of the Sewers Action","cp":"6744e47495192d0012ba418c","dn":"You play the pipes as a Magic action, allowing you to take a Bonus Action to call forth a Swarm of Rats with each expended charge."},{"id":"c1-c1-c2","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune"]}],"nm":"Call Forth a Swarm of Rats","rd":"Pipes of the Sewers Bonus Action","cp":"6744e47495192d0012ba418c","dn":"You can take a Bonus Action to expend 1 to 3 charges, calling forth one Swarm of Rats with each expended charge if enough rats are within half a mile of you to be called in this fashion (as determined by the DM). If there aren't enough rats to form a swarm, the charge is wasted."}]}},{"nm":"Portable Hole","blueprint":{"nm":"Portable Hole","item":{"tp":"Item","cp":"68140a15769a6300126561ce","dn":"This fine black cloth, soft as silk, is folded up to the dimensions of a handkerchief. It unfolds into a circular sheet 6 feet in diameter.\nYou can take a Magic action to unfold a Portable Hole and place it on or against a solid surface, whereupon the Portable Hole creates an extradimensional hole 10 feet deep. The cylindrical space within the hole exists on a different plane of existence, so it can't be used to create open passages. Any creature inside an open Portable Hole can exit the hole by climbing out of it.\nYou can take a Magic action to close a Portable Hole by taking hold of the edges of the cloth and folding it up. Folding the cloth closes the hole, and any creatures or objects within remain in the extradimensional space. No matter what's in it, the hole weighs next to nothing.\nIf the hole is folded up, a creature within the hole's extradimensional space can take an action to make a DC 10 Strength (Athletics) check. On a successful check, the creature forces its way out and appears within 5 feet of the Portable Hole. A closed Portable Hole holds enough air for 1 hour of breathing, divided by the number of breathing creatures inside.\nPlacing a Portable Hole inside an extradimensional space created by a Bag of Holding, Heward's Handy Haversack, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within 10 feet of the gate and not behind Total Cover is sucked through it and deposited in a random location on the Astral Plane. The gate then closes. The gate is one-way only and can't be reopened."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Open or Close Portable Hole","rd":"Portable Hole Action","cp":"68140a15769a6300126561ce","dn":"You can take a Magic action to unfold a Portable Hole and place it on or against a solid surface. Or, you can take a Magic action to close a Portable Hole by taking hold of the edges of the cloth and folding it up."}]}},{"nm":"Purple Worm Poison","blueprint":{"nm":"Purple Worm Poison","item":{"tp":"Item","cp":"68152a0aa193700012c13959","dn":"A creature subjected to Purple Worm Poison makes a DC 21 Constitution saving throw, taking 35 (10d6) Poison damage on a failed save or half as much damage on a successful one."},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Purple Worm Poison","rd":"Purple Worm Poison Attack","cp":"68152a0aa193700012c13959","aT":"Action","dn":"A creature subjected to Purple Worm Poison makes a DC 21 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"10d6 Poison Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":21}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Purple Worm Poison Damage","cp":"68152a0aa193700012c13959","ay":"none","dT":"Poison","die":"d6","ct":10,"oC":false}]}},{"nm":"Ring of Acid Resistance","blueprint":{"nm":"Ring of Acid Resistance","item":{"tp":"Item","cp":"6744e47795192d0012ba426c","dn":"You have Acid Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Acid Resistance Defense","cp":"6744e47795192d0012ba426c","damage":"Acid","defense":"Resistance"}]}},{"nm":"Ring of Air Elemental Command","blueprint":{"nm":"Ring of Air Elemental Command","item":{"tp":"Item","cp":"68140b91c19cbf0012ac6df6","dn":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\nEvery Ring of Elemental Command has the following two properties:\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring's linked Elemental Plane:\nAir. You know Auran, you have Resistance to Lightning damage, and you have a Fly Speed equal to your Speed and can hover.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\nAir | Chain Lightning (3 charges), Feather Fall (0 charges), Gust of Wind (2 charges), Wind Wall (1 charge)","eD":{"ee":true}},"cS":{"Am":1,"Defense":2,"RB":1,"Ak":4,"Language":1,"sp":2,"Resource":1,"Spell":4,"Condition":1,"dm":2,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Air Elemental Command Attune","cp":"68140b91c19cbf0012ac6df6","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Air Elemental Command Elemental Bane Defense","cp":"68140b91c19cbf0012ac6df6","defense":"Resistance","details":"While wearing the Ring of Air Elemental Command, Elementals have Disadvantage on attack rolls against you."},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Air Elemental Command Elemental Bane Roll Bonus","cp":"68140b91c19cbf0012ac6df6","bC":"[\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Elemental Compulsion","rd":"Ring of Air Elemental Command Compulsion Save","cp":"68140b91c19cbf0012ac6df6","aT":"Action","rg":"60 ft","dn":"While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.","saveAbility":"Wisdom","saveFlat":18}},{"id":"c1-c4","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Auran","rd":"Ring of Air Elemental Command Auran","cp":"68140b91c19cbf0012ac6df6"},{"id":"c1-c5","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Air Elemental Command Lightning Resistance","cp":"68140b91c19cbf0012ac6df6","damage":"Lightning","defense":"Resistance"},{"id":"c1-c6","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Air Elemental Command Fly Speed 30","cp":"68140b91c19cbf0012ac6df6","cl":"Set Value","se":"Fly","vl":{"fa":30}},{"id":"c1-c7","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Air Elemental Command Fly Speed","cp":"68140b91c19cbf0012ac6df6","cl":"Set Base","se":"Fly"},{"id":"c1-c8","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Spellcasting Charges","rd":"Ring of Air Elemental Command Spellcasting Charges","cp":"68140b91c19cbf0012ac6df6","vl":5},{"id":"c1-c8-c1","tp":"Spell","pt":"c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Lightning","cp":"66e09000dc69af0030fa68b9","dn":"You launch a lightning bolt toward a target you can see within range. Three bolts then leap from that target to as many as three other targets of your choice, each of which must be within 30 feet of the first target. A target can be a creature or an object and can be targeted by only one of the bolts.\nEach target makes a Dexterity saving throw, taking 10d8 Lightning damage on a failed save or half as much damage on a successful one."},{"id":"c1-c8-c2","tp":"Spell","pt":"c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Feather Fall","cp":"66e07b5328743a0012c8656b","dn":"Reaction, which you take when you or a creature you can see within 60 feet of you falls. Choose up to five falling creatures within range. A falling creature's rate of descent slows to 60 feet per round until the spell ends. If a creature lands before the spell ends, the creature takes no damage from the fall, and the spell ends for that creature."},{"id":"c1-c8-c3","tp":"Spell","pt":"c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gust of Wind","cp":"66e08fcddc69af0030fa5c9a","dn":"A Line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the duration. Each creature in the Line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the Line. A creature that ends its turn in the Line must make the same save.\nAny creature in the Line must spend 2 feet of movement for every 1 foot it moves when moving closer to you.\nThe gust disperses gas or vapor, and it extinguishes candles and similar unprotected flames in the area. It causes protected flames, such as those of lanterns, to dance wildly and has a 50 percent chance to extinguish them.\nAs a Bonus Action on your later turns, you can change the direction in which the Line blasts from you."},{"id":"c1-c8-c4","tp":"Spell","pt":"c1-c8","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wind Wall","cp":"66e08fc6dc69af0030fa5ad1","dn":"A wall of strong wind rises from the ground at a point you choose within range. You can make the wall up to 50 feet long, 15 feet high, and 1 foot thick. You can shape the wall in any way you choose so long as it makes one continuous path along the ground. The wall lasts for the duration.\nWhen the wall appears, each creature in its area makes a Strength saving throw, taking 4d8 Bludgeoning damage on a failed save or half as much damage on a successful one.\nThe strong wind keeps fog, smoke, and other gases at bay. Small or smaller flying creatures or objects can't pass through the wall. Loose, lightweight materials brought into the wall fly upward. Arrows, bolts, and other ordinary projectiles launched at targets behind the wall are deflected upward and miss automatically. Boulders hurled by Giants or siege engines, and similar projectiles, are unaffected. Creatures in gaseous form can't pass through it."},{"id":"c1-c8-c1-c1","tp":"Ak","pt":"c1-c8-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Lightning","rd":"Chain Lightning Attack","cp":"66e09000dc69af0030fa68b9","aT":"Action","rg":"150 feet","dn":"You launch a lightning bolt toward a target you can see within range. Three bolts then leap from that target to as many as three other targets of your choice, each of which must be within 30 feet of the first target. A target can be a creature or an object and can be targeted by only one of the bolts. Using a Higher-Level Spell Slot, one additional bolt leaps from the first target to another target for each spell slot level above 6.","ak":{"tp":"Spell Save"},"save":{"onFail":"The target takes10d8 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c8-c3-c1","tp":"Ak","pt":"c1-c8-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gust of Wind","rd":"Gust of Wind Attack","cp":"66e08fcddc69af0030fa5c9a","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"pushed 15 feet away from you in a direction following the Line.","saveAbility":"Strength"},"onHit":"A Line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the duration. Each creature in the Line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the Line."},{"id":"c1-c8-c3-c2","tp":"Condition","pt":"c1-c8-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gust of Wind","rd":"Gust of Wind Condition","cp":"66e08fcddc69af0030fa5c9a","dn":"A Line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the duration. Each creature in the Line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the Line. A creature that ends its turn in the Line must make the same save."},{"id":"c1-c8-c4-c1","tp":"Ak","pt":"c1-c8-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wind Wall","rd":"Wind Wall Attack","cp":"66e08fc6dc69af0030fa5ad1","aT":"Action","dn":"When the wall appears, each creature in its area makes a Strength saving throw, taking 4d8 Bludgeoning damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 4d8 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c8-c1-c1-c1","tp":"dm","pt":"c1-c8-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Chain Lightning Damage","cp":"66e09000dc69af0030fa68b9","ay":"none","dT":"Lightning","die":"d8","ct":10,"oC":false},{"id":"c1-c8-c3-c2-c1","tp":"Action","pt":"c1-c8-c3-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c8-c3-c2","actions":["Activate"]}],"nm":"Gust of Wind","rd":"Gust of Wind Bonus Action","cp":"66e08fcddc69af0030fa5c9a","dn":"As a Bonus Action on your later turns, you can change the direction in which the Line blasts from you."},{"id":"c1-c8-c4-c1-c1","tp":"dm","pt":"c1-c8-c4-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wind Wall Damage","cp":"66e08fc6dc69af0030fa5ad1","ay":"none","dT":"Bludgeoning","die":"d8","ct":4,"oC":false}]}},{"nm":"Ring of Animal Influence","blueprint":{"nm":"Ring of Animal Influence","item":{"tp":"Item","cp":"68140b84c19cbf0012ac6d73","dn":"This ring has 3 charges, and it regains 1d3 expended charges daily at dawn. While wearing the ring, you can expend 1 charge to cast one of the following spells (save DC 13) from it:\nAnimal Friendship\nFear (affects Beasts only)\nSpeak with Animals","eD":{"ee":true}},"cS":{"Resource":1,"Spell":3,"Ak":2},"ch":[{"id":"c1","tp":"Resource","nm":"Ring of Animal Influence Charges","cp":"68140b84c19cbf0012ac6d73","vl":3},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Animal Friendship","cp":"66e08ffadc69af0030fa675a","dn":"Target a Beast that you can see within range. The target must succeed on a Wisdom saving throw or have the Charmed condition for the duration. If you or one of your allies deals damage to the target, the spells ends."},{"id":"c1-c2","tp":"Spell","pt":"c1","nm":"Fear","cp":"66e07b4e28743a0012c86419","dn":"Each creature in a 30-foot Cone must succeed on a Wisdom saving throw or drop whatever it is holding and have the Frightened condition for the duration.\nA Frightened creature takes the Dash action and moves away from you by the safest route on each of its turns unless there is nowhere to move. If the creature ends its turn in a space where it doesn't have line of sight to you, the creature makes a Wisdom saving throw. On a successful save, the spell ends on that creature."},{"id":"c1-c3","tp":"Spell","pt":"c1","nm":"Speak with Animals","cp":"66e09026dc69af0030fa71ae","dn":"For the duration, you can comprehend and verbally communicate with Beasts, and you can use any of the Influence action's skill options with them.\nMost Beasts have little to say about topics that don't pertain to survival or companionship, but at minimum, a Beast can give you information about nearby locations and monsters, including whatever it has perceived within the past day."},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","nm":"Animal Friendship","rd":"Animal Friendship Attack","cp":"66e08ffadc69af0030fa675a","aT":"Action","rg":"30 feet","dn":"Target a Beast that you can see within range. The target must succeed on a Wisdom saving throw or have the Charmed condition for the duration. If you or one of your allies deals damage to the target, the spells ends.","ak":{"tp":"Spell Save"},"save":{"onFail":"The creature has the Charmed condition for the duration. ","saveAbility":"Wisdom"}},{"id":"c1-c2-c1","tp":"Ak","pt":"c1-c2","nm":"Fear","rd":"Fear Attack","cp":"66e07b4e28743a0012c86419","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"Target drops whatever it is holding and has the Frightened condition for the duration.","saveAbility":"Wisdom"}}]}},{"nm":"Ring of Cold Resistance","blueprint":{"nm":"Ring of Cold Resistance","item":{"tp":"Item","cp":"6744e42f95192d0012ba2f79","dn":"You have Cold Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Cold Resistance Defense","cp":"6744e42f95192d0012ba2f79","damage":"Cold","defense":"Resistance"}]}},{"nm":"Ring of Djinni Summoning","blueprint":{"nm":"Ring of Djinni Summoning","item":{"tp":"Item","cp":"68140b7a01f94d0012a6613b","dn":"While wearing this ring, you can take a Magic action to summon a particular Djinni from the Elemental Plane of Air. The djinni appears in an unoccupied space you choose within 120 feet of yourself. It remains as long as you maintain Concentration, to a maximum of 1 hour, or until it drops to 0 Hit Points.\nWhile summoned, the djinni is Friendly to you and your allies, and it obeys your commands. If you fail to command it, the djinni defends itself against attackers but takes no other actions.\nAfter the djinni departs, it can't be summoned again for 24 hours, and the ring becomes nonmagical if the djinni dies.\nRings of Djinni Summoning are often created by the djinn they summon and given to mortals as gifts of friendship or tokens of esteem.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Djinni Summoning Attunement","cp":"68140b7a01f94d0012a6613b","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Summon Djinni","rd":"Ring of Djinni Summoning Resource","cp":"68140b7a01f94d0012a6613b","vl":1},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Summon Djinni","rd":"Ring of Djinni Summoning Action","cp":"68140b7a01f94d0012a6613b","dn":"While wearing this ring, you can take a Magic action to summon a particular Djinni from the Elemental Plane of Air. The djinni appears in an unoccupied space you choose within 120 feet of yourself. It remains as long as you maintain Concentration, to a maximum of 1 hour, or until it drops to 0 Hit Points."}]}},{"nm":"Ring of Earth Elemental Command","blueprint":{"nm":"Ring of Earth Elemental Command","item":{"tp":"Item","cp":"68152a19a193700012c13c8c","dn":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\nEvery Ring of Elemental Command has the following two properties:\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring's linked Elemental Plane:\nEarth. You know Terran, and you have Resistance to Acid damage. Terrain composed of rubble, rocks, or dirt isn't Difficult Terrain for you. In addition, you can move through solid earth or rock as if those areas were Difficult Terrain without disturbing the matter through which you pass. If you end your turn in solid earth or rock, you are shunted out to the nearest unoccupied space you last occupied.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nEarth | Earthquake (5 charges), Stone Shape (2 charges), Stoneskin (3 charges), Wall of Stone (3 charges)","eD":{"ee":true}},"cS":{"Am":1,"Defense":5,"RB":1,"Ak":6,"Language":1,"Resource":1,"Spell":4,"Condition":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Earth Elemental Command Attunement","cp":"68152a19a193700012c13c8c","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Earth Elemental Command Elemental Bane Defense","cp":"68152a19a193700012c13c8c","defense":"Resistance","details":"While wearing the Ring of Earth Elemental Command, Elementals have Disadvantage on attack rolls against you."},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Earth Elemental Command Elemental Bane Roll Bonus","cp":"68152a19a193700012c13c8c","bC":"[\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Elemental Compulsion","rd":"Ring of Earth Elemental Command Compulsion Save","cp":"68152a19a193700012c13c8c","aT":"Action","rg":"60 ft","dn":"While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.","saveAbility":"Wisdom","saveFlat":18}},{"id":"c1-c4","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Terran","rd":"Ring of Earth Elemental Command Terran","cp":"68152a19a193700012c13c8c"},{"id":"c1-c5","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Earth Elemental Command Acid Resistance","cp":"68152a19a193700012c13c8c","damage":"Acid","defense":"Resistance"},{"id":"c1-c6","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Spellcasting Charges","rd":"Ring of Earth Elemental Command Spellcasting Charges","cp":"68152a19a193700012c13c8c","vl":5},{"id":"c1-c6-c1","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Earthquake","cp":"66e0900edc69af0030fa6c19","dn":"Choose a point on the ground that you can see within range. For the duration, an intense tremor rips through the ground in a 100-foot-radius circle centered on that point. The ground there is Difficult Terrain.\nWhen you cast this spell and at the end of each of your turns for the duration, each creature on the ground in the area makes a Dexterity saving throw. On a failed save, a creature has the Prone condition, and its Concentration is broken.\nYou can also cause the effects below.\nFissures. A total of 1d6 fissures open in the spell's area at the end of the turn you cast it. You choose the fissures' locations, which can't be under structures. Each fissure is 1d10 x 10 feet deep and 10 feet wide, and it extends from one edge of the spell's area to another edge. A creature in the same space as a fissure must succeed on a Dexterity saving throw or fall in. A creature that successfully saves moves with the fissure's edge as it opens.\nStructures. The tremor deals 50 Bludgeoning damage to any structure in contact with the ground in the area when you cast the spell and at the end of each of your turns until the spell ends. If a structure drops to 0 Hit Points, it collapses.\nA creature within a distance from a collapsing structure equal to half the structure's height makes a Dexterity saving throw. On a failed save, the creature takes 12d6 Bludgeoning damage, has the Prone condition, and is buried in the rubble, requiring a DC 20 Strength (Athletics) check as an action to escape. On a successful save, the creature takes half as much damage only."},{"id":"c1-c6-c2","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Stone Shape","cp":"66e08fa3dc69af0030fa527c","dn":"You touch a stone object of Medium size or smaller or a section of stone no more than 5 feet in any dimension and form it into any shape you like. For example, you could shape a large rock into a weapon, statue, or coffer, or you could make a small passage through a wall that is 5 feet thick. You could also shape a stone door or its frame to seal the door shut. The object you create can have up to two hinges and a latch, but finer mechanical detail isn't possible."},{"id":"c1-c6-c3","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Stoneskin","cp":"66e09028dc69af0030fa7235","dn":"Until the spell ends, one willing creature you touch has Resistance to Bludgeoning, Piercing, and Slashing damage."},{"id":"c1-c6-c4","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Stone","cp":"66e08fafdc69af0030fa5555","dn":"A nonmagical wall of solid stone springs into existence at a point you choose within range. The wall is 6 inches thick and is composed of ten 10-foot-by-10-foot panels. Each panel must be contiguous with another panel. Alternatively, you can create 10-foot-by-20-foot panels that are only 3 inches thick.\nIf the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side). If a creature would be surrounded on all sides by the wall (or the wall and another solid surface), that creature can make a Dexterity saving throw. On a success, it can use its Reaction to move up to its Speed so that it is no longer enclosed by the wall.\nThe wall can have any shape you desire, though it can't occupy the same space as a creature or object. The wall doesn't need to be vertical or rest on a firm foundation. It must, however, merge with and be solidly supported by existing stone. Thus, you can use this spell to bridge a chasm or create a ramp.\nIf you create a span greater than 20 feet in length, you must halve the size of each panel to create supports. You can crudely shape the wall to create battlements and the like.\nThe wall is an object made of stone that can be damaged and thus breached. Each panel has AC 15 and 30 Hit Points per inch of thickness, and it has Immunity to Poison and Psychic damage. Reducing a panel to 0 Hit Points destroys it and might cause connected panels to collapse at the DM's discretion.\nIf you maintain your Concentration on this spell for its full duration, the wall becomes permanent and can't be dispelled. Otherwise, the wall disappears when the spell ends."},{"id":"c1-c6-c1-c1","tp":"Ak","pt":"c1-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Earthquake","rd":"Earthquake Attack","cp":"66e0900edc69af0030fa6c19","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"Creature has the Prone condition, and its Concentration is broken.","saveAbility":"Dexterity"}},{"id":"c1-c6-c1-c2","tp":"Ak","pt":"c1-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Earthquake - Fissures","rd":"Earthquake Attack Fissures","cp":"66e0900edc69af0030fa6c19","aT":"Action","dn":"A total of 1d6 fissures open in the spell's area at the end of the turn you cast it. You choose the fissures' locations, which can't be under structures. Each fissure is 1d10 x 10 feet deep and 10 feet wide, and it extends from one edge of the spell's area to another edge. A creature in the same space as a fissure must succeed on a Dexterity saving throw or fall in. A creature that successfully saves moves with the fissure's edge as it opens.","ak":{"tp":"Spell Save"},"save":{"onFail":"Fall in fissure.","onSucceed":"Moves with fissure's edge as it opens.","saveAbility":"Dexterity"}},{"id":"c1-c6-c1-c3","tp":"Ak","pt":"c1-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Earthquake - Structures","rd":"Earthquake Attack Structures","cp":"66e0900edc69af0030fa6c19","aT":"Action","dn":"The tremor deals 50 Bludgeoning damage to any structure in contact with the ground in the area when you cast the spell and at the end of each of your turns until the spell ends. If a structure drops to 0 Hit Points, it collapses."},{"id":"c1-c6-c1-c4","tp":"Ak","pt":"c1-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Earthquake - Collapseing Structures","rd":"Earthquake Attack Collapseing Structures","cp":"66e0900edc69af0030fa6c19","aT":"Action","dn":"A creature within a distance from a collapsing structure equal to half the structure's height makes a Dexterity saving throw. On a failed save, the creature takes 12d6 Bludgeoning damage, has the Prone condition, and is buried in the rubble, requiring a DC 20 Strength (Athletics) check as an action to escape. On a successful save, the creature takes half as much damage only.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 12d6 Bludgeoning damage, has the Prone condition, and is buried in the rubble, requiring a DC 20 Strength (Athletics) check as an action to escape.","onSucceed":"Half as much damage only.","saveAbility":"Dexterity"}},{"id":"c1-c6-c3-c1","tp":"Condition","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Stoneskin","rd":"Stoneskin Condition","cp":"66e09028dc69af0030fa7235","dn":"Until the spell ends, one willing creature you touch has Resistance to Bludgeoning, Piercing, and Slashing damage."},{"id":"c1-c6-c4-c1","tp":"Ak","pt":"c1-c6-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Stone","rd":"Wall of Stone Attack","cp":"66e08fafdc69af0030fa5555","aT":"Action","dn":"If a creature would be surrounded on all sides by the wall (or the wall and another solid surface), that creature can make a Dexterity saving throw. On a success, it can use its Reaction to move up to its Speed so that it is no longer enclosed by the wall.","ak":{"tp":"Spell Save"},"save":{"onSucceed":"It can use its Reaction to move up to its Speed so that it is no longer enclosed by the wall.","saveAbility":"Dexterity"}},{"id":"c1-c6-c1-c4-c1","tp":"dm","pt":"c1-c6-c1-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Earthquake Attack Collapseing Structures Damage","cp":"66e0900edc69af0030fa6c19","ay":"none","dT":"Bludgeoning","die":"d6","ct":12,"oC":false},{"id":"c1-c6-c3-c1-c1","tp":"Defense","pt":"c1-c6-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c6-c3-c1","actions":["Activate"]}],"nm":"Stoneskin Bludgeoning Resistance","cp":"66e09028dc69af0030fa7235","damage":"Bludgeoning","defense":"Resistance"},{"id":"c1-c6-c3-c1-c2","tp":"Defense","pt":"c1-c6-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c6-c3-c1","actions":["Activate"]}],"nm":"Stoneskin Piercing Reistance","cp":"66e09028dc69af0030fa7235","damage":"Piercing","defense":"Resistance"},{"id":"c1-c6-c3-c1-c3","tp":"Defense","pt":"c1-c6-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c6-c3-c1","actions":["Activate"]}],"nm":"Stoneskin Slashing Resistance","cp":"66e09028dc69af0030fa7235","damage":"Slashing","defense":"Resistance"}]}},{"nm":"Ring of Evasion","blueprint":{"nm":"Ring of Evasion","item":{"tp":"Item","cp":"6744e2df95192d0012b9ddd7","dn":"This ring has 3 charges, and it regains 1d3 expended charges daily at dawn. When you fail a Dexterity saving throw while wearing the ring, you can take a Reaction to expend 1 charge to succeed on that save instead.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Evasion Attunement","cp":"6744e2df95192d0012b9ddd7","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Evade Charges (Ring of Evasion)","rd":"Ring of Evasion Resource","cp":"6744e2df95192d0012b9ddd7","vl":3},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Evade","rd":"Ring of Evasion Reaction","cp":"6744e2df95192d0012b9ddd7","dn":"When you fail a Dexterity saving throw while wearing the ring, you can take a Reaction to expend 1 charge to succeed on that save instead."}]}},{"nm":"Ring of Feather Falling","blueprint":{"nm":"Ring of Feather Falling","item":{"tp":"Item","cp":"6744e43195192d0012ba2fc8","dn":"When you fall while wearing this ring, you descend 60 feet per round and take no damage from falling.","eD":{"ee":true}},"cS":{"Am":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Feather Falling Attunement","cp":"6744e43195192d0012ba2fc8","an":false,"rE":true}]}},{"nm":"Ring of Fire Elemental Command","blueprint":{"nm":"Ring of Fire Elemental Command","item":{"tp":"Item","cp":"68152970a193700012c11ad7","dn":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\nEvery Ring of Elemental Command has the following two properties:\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring's linked Elemental Plane:\nFire. You know Ignan, and you have Immunity to Fire damage.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nFire | Burning Hands (1 charge), Fireball (2 charges), Fire Storm (4 charges), Wall of Fire (3 charges)","eD":{"ee":true}},"cS":{"Am":1,"Defense":2,"RB":1,"Ak":5,"Language":1,"Resource":1,"Spell":4,"dm":4,"Upcasting":3},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Fire Elemental Command Attunement","cp":"68152970a193700012c11ad7","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Fire Elemental Command Elemental Bane Defense","cp":"68152970a193700012c11ad7","defense":"Resistance","details":"While wearing the Ring of Fire Elemental Command, Elementals have Disadvantage on attack rolls against you."},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Fire Elemental Command Elemental Bane Roll Bonus","cp":"68152970a193700012c11ad7","bC":"[\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Elemental Compulsion","rd":"Ring of Fire Elemental Command Compulsion Save","cp":"68152970a193700012c11ad7","aT":"Action","rg":"60 ft","dn":"While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.","saveAbility":"Wisdom","saveFlat":18}},{"id":"c1-c4","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ignan","rd":"Ring of Fire Elemental Command Ignan","cp":"68152970a193700012c11ad7"},{"id":"c1-c5","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Fire Elemental Command Fire Immunity","cp":"68152970a193700012c11ad7","damage":"Fire","defense":"Immunity"},{"id":"c1-c6","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Spellcasting Charges","rd":"Ring of Fire Elemental Command Spellcasting Charges","cp":"68152970a193700012c11ad7","vl":5},{"id":"c1-c6-c1","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands","cp":"66e08fdbdc69af0030fa5fdd","dn":"A thin sheet of flames shoots forth from you. Each creature in a 15-foot Cone makes a Dexterity saving throw, taking 3d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the Cone that aren't being worn or carried start burning."},{"id":"c1-c6-c2","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c6-c3","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fire Storm","cp":"66e07b5528743a0012c865d4","dn":"A storm of fire appears within range. The area of the storm consists of up to ten 10-foot Cubes, which you arrange as you like. Each Cube must be contiguous with at least one other Cube. Each creature in the area makes a Dexterity saving throw, taking 7d10 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c6-c4","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","cp":"66e0902cdc69af0030fa730d","dn":"You create a wall of fire on a solid surface within range. You can make the wall up to 60 feet long, 20 feet high, and 1 foot thick, or a ringed wall up to 20 feet in diameter, 20 feet high, and 1 foot thick. The wall is opaque and lasts for the duration.\nWhen the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there. The other side of the wall deals no damage."},{"id":"c1-c6-c1-c1","tp":"Ak","pt":"c1-c6-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands","rd":"Burning Hands Attack","cp":"66e08fdbdc69af0030fa5fdd","aT":"Action","dn":"A thin sheet of flames shoots forth from you. Each creature in a 15-foot Cone makes a Dexterity saving throw, taking 3d6 Fire damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 3d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c6-c2-c1","tp":"Ak","pt":"c1-c6-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c6-c3-c1","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fire Storm","rd":"Fire Storm Attack","cp":"66e07b5528743a0012c865d4","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 7d10 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c6-c4-c1","tp":"Ak","pt":"c1-c6-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire","rd":"Wall of Fire Attack","cp":"66e0902cdc69af0030fa730d","aT":"Action","dn":"When the wall appears, each creature in its area makes a Dexterity saving throw, taking 5d8 Fire damage on a failed save or half as much damage on a successful one.\nOne side of the wall, selected by you when you cast this spell, deals 5d8 Fire damage to each creature that ends its turn within 10 feet of that side or inside the wall. A creature takes the same damage when it enters the wall for the first time on a turn or ends its turn there.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d8 Fire damage.","onSucceed":"Half damage.","saveAbility":"Dexterity"}},{"id":"c1-c6-c1-c1-c1","tp":"dm","pt":"c1-c6-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands Damage","cp":"66e08fdbdc69af0030fa5fdd","ay":"none","dT":"Fire","die":"d6","ct":3,"oC":false},{"id":"c1-c6-c2-c1-c1","tp":"dm","pt":"c1-c6-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c6-c3-c1-c1","tp":"dm","pt":"c1-c6-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fire Storm Damage","cp":"66e07b5528743a0012c865d4","ay":"none","dT":"Fire","die":"d10","ct":7,"oC":false},{"id":"c1-c6-c4-c1-c1","tp":"dm","pt":"c1-c6-c4-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Damage","cp":"66e0902cdc69af0030fa730d","ay":"none","dT":"Fire","die":"d8","ct":5,"oC":false},{"id":"c1-c6-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c6-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Burning Hands Damage Upcast","cp":"66e08fdbdc69af0030fa5fdd","vl":1},{"id":"c1-c6-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c6-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1},{"id":"c1-c6-c4-c1-c1-c1","tp":"Upcasting","pt":"c1-c6-c4-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Fire Initial Damage Upcast","cp":"66e0902cdc69af0030fa730d","vl":1}]}},{"nm":"Ring of Fire Resistance","blueprint":{"nm":"Ring of Fire Resistance","item":{"tp":"Item","cp":"6744e3f695192d0012ba2058","dn":"You have Fire Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Fire Resistance Defense","cp":"6744e3f695192d0012ba2058","damage":"Fire","defense":"Resistance"}]}},{"nm":"Ring of Force Resistance","blueprint":{"nm":"Ring of Force Resistance","item":{"tp":"Item","cp":"6744e33295192d0012b9f09a","dn":"You have Force Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Force Resistance Defense","cp":"6744e33295192d0012b9f09a","damage":"Force","defense":"Resistance"}]}},{"nm":"Ring of Free Action","blueprint":{"nm":"Ring of Free Action","item":{"tp":"Item","cp":"6744e47c95192d0012ba43a9","dn":"While you wear this ring, Difficult Terrain doesn't cost you extra movement. In addition, magic can neither reduce any of your Speeds nor cause you to have the Paralyzed or Restrained condition.","eD":{"ee":true}},"cS":{"Am":1,"Defense":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Free Action Attunement","cp":"6744e47c95192d0012ba43a9","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Free Action Defense","cp":"6744e47c95192d0012ba43a9","defense":"Immunity","details":"Ring of Free Action - Difficult Terrain doesn't cost extra movement, and magic can't reduce your Speeds nor cause you to have the Paralyzed or Restrained condition."}]}},{"nm":"Ring of Invisibility","blueprint":{"nm":"Ring of Invisibility","item":{"tp":"Item","cp":"68140b37350b5e00122ce5ea","dn":"While wearing this ring, you can take a Magic action to give yourself the Invisible condition. You remain Invisible until the ring is removed or until you take a Bonus Action to become visible again.","eD":{"ee":true}},"cS":{"Am":1,"Action":2},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Invisibility Attunement","cp":"68140b37350b5e00122ce5ea","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Become Invisible","rd":"Ring of Invisibility Action","cp":"68140b37350b5e00122ce5ea","dn":"While wearing this ring, you can take a Magic action to give yourself the Invisible condition. You remain Invisible until the ring is removed or until you take a Bonus Action to become visible again."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Become Visible","rd":"Ring of Invisibility Bonus Action","cp":"68140b37350b5e00122ce5ea","dn":"You can take a Bonus Action to become visible again."}]}},{"nm":"Ring of Jumping","blueprint":{"nm":"Ring of Jumping","item":{"tp":"Item","cp":"6744e48495192d0012ba45b8","dn":"While wearing this ring, you can cast Jump from it, but can target only yourself when you do so.","eD":{"ee":true}},"cS":{"Am":1,"Spell":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Jumping Attunement","cp":"6744e48495192d0012ba45b8","an":false,"rE":true},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Jump","cp":"66e07b5028743a0012c86481","dn":"You touch a willing creature. Once on each of its turns until the spell ends, that creature can jump up to 30 feet by spending 10 feet of movement."}]}},{"nm":"Ring of Lightning Resistance","blueprint":{"nm":"Ring of Lightning Resistance","item":{"tp":"Item","cp":"6744e4ea95192d0012ba5dda","dn":"You have Lightning Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Lightning Resistance Defense","cp":"6744e4ea95192d0012ba5dda","damage":"Lightning","defense":"Resistance"}]}},{"nm":"Ring of Necrotic Resistance","blueprint":{"nm":"Ring of Necrotic Resistance","item":{"tp":"Item","cp":"6744e4af95192d0012ba517d","dn":"You have Necrotic Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Necrotic Resistance Defense","cp":"6744e4af95192d0012ba517d","damage":"Necrotic","defense":"Resistance"}]}},{"nm":"Ring of Poison Resistance","blueprint":{"nm":"Ring of Poison Resistance","item":{"tp":"Item","cp":"6744e4af95192d0012ba5161","dn":"You have Poison Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Poison Resistance Defense","cp":"6744e4af95192d0012ba5161","damage":"Poison","defense":"Resistance"}]}},{"nm":"Ring of Protection","blueprint":{"nm":"Ring of Protection","item":{"tp":"Item","cp":"6744e47f95192d0012ba4485","dn":"You gain a +1 bonus to Armor Class and saving throws while wearing this ring.","eD":{"ee":true}},"cS":{"Am":1,"AC":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Protection Attunement","cp":"6744e47f95192d0012ba4485","an":false,"rE":true},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Protection AC bonus","cp":"6744e47f95192d0012ba4485","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Protection Saving Throw Bonus","cp":"6744e47f95192d0012ba4485","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false}]}},{"nm":"Ring of Psychic Resistance","blueprint":{"nm":"Ring of Psychic Resistance","item":{"tp":"Item","cp":"6744e4eb95192d0012ba5e10","dn":"You have Psychic Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Psychic Resistance Defense","cp":"6744e4eb95192d0012ba5e10","damage":"Psychic","defense":"Resistance"}]}},{"nm":"Ring of Radiant Resistance","blueprint":{"nm":"Ring of Radiant Resistance","item":{"tp":"Item","cp":"6744e4a395192d0012ba4e0f","dn":"You have Radiant Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Radiant Resistance Defense","cp":"6744e4a395192d0012ba4e0f","damage":"Radiant","defense":"Resistance"}]}},{"nm":"Ring of Regeneration","blueprint":{"nm":"Ring of Regeneration","item":{"tp":"Item","cp":"6744e2cd95192d0012b9d8d4","dn":"While wearing this ring, you regain 1d6 Hit Points every 10 minutes if you have at least 1 Hit Point. If you lose a body part, the ring causes the missing part to regrow and return to full functionality after 1d6 + 1 days if you have at least 1 Hit Point the whole time.","eD":{"ee":true}},"cS":{"Am":1,"Action":1,"Healing":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Regeneration Attunement","cp":"6744e2cd95192d0012b9d8d4","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Regeneration Healing","rd":"Ring of Regeneration Healing Free Action","cp":"6744e2cd95192d0012b9d8d4","dn":"While wearing this ring, you regain 1d6 Hit Points every 10 minutes if you have at least 1 Hit Point. If you lose a body part, the ring causes the missing part to regrow and return to full functionality after 1d6 + 1 days if you have at least 1 Hit Point the whole time."},{"id":"c1-c1-c1","tp":"Healing","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Regeneration Healing","cp":"6744e2cd95192d0012b9d8d4"}]}},{"nm":"Ring of Shooting Stars","blueprint":{"nm":"Ring of Shooting Stars","item":{"tp":"Item","cp":"68140c16a009ba0012a3a5b7","dn":"You can cast Dancing Lights or Light from the ring.\nThe ring has 6 charges and regains 1d6 expended charges daily at dawn. You can expend its charges to use the properties below.\nFaerie Fire. You can expend 1 charge to cast Faerie Fire from the ring.\nLightning Spheres. You can expend 2 charges as a Magic action to create up to four 3-foot-diameter spheres of lightning.\nEach sphere appears in an unoccupied space you can see within 120 feet of yourself. The spheres last as long as you maintain Concentration, up to 1 minute. Each sphere sheds Dim Light in a 30-foot radius.\nAs a Bonus Action, you can move each sphere up to 30 feet, but no farther than 120 feet away from yourself. The first time the sphere comes within 5 feet of a creature other than you that isn't behind Total Cover, the sphere discharges lightning at that creature and disappears. That creature makes a DC 15 Dexterity saving throw. On a failed save, the creature takes Lightning damage based on the number of spheres you created, as shown in the following table. On a successful save, the creature takes half as much damage.\nNumber of Spheres | Lightning Damage\n1 | 4d12\n2 | 5d4\n3 | 2d6\n4 | 2d4\nShooting Stars. You can expend 1 to 3 charges as a Magic action. For every charge you expend, you launch a glowing mote of light from the ring at a point you can see within 60 feet of yourself. Each creature in a 15-foot Cube originating from that point is showered in sparks and makes a DC 15 Dexterity saving throw, taking 5d4 Radiant damage on a failed save or half as much damage on a successful one.","eD":{"ee":true}},"cS":{"Am":1,"Spell":3,"Resource":1,"Condition":1,"Action":4,"Ak":6,"dm":5},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Shooting Stars Attunement","cp":"68140c16a009ba0012a3a5b7","an":false,"rE":true},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dancing Lights","cp":"66e08fe1dc69af0030fa6121","dn":"You create up to four torch-size lights within range, making them appear as torches, lanterns, or glowing orbs that hover for the duration. Alternatively, you combine the four lights into one glowing Medium form that is vaguely humanlike. Whichever form you choose, each light sheds Dim Light in a 10-foot radius.\nAs a Bonus Action, you can move the lights up to 60 feet to a space within range. A light must be within 20 feet of another light created by this spell, and a light vanishes if it exceeds the spell's range."},{"id":"c1-c2","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Light","cp":"66e08fc0dc69af0030fa593c","dn":"You touch one Large or smaller object that isn't being worn or carried by someone else. Until the spell ends, the object sheds Bright Light in a 20-foot radius and Dim Light for an additional 20 feet. The light can be colored as you like.\nCovering the object with something opaque blocks the light. The spell ends if you cast it again."},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Shooting Stars Charges","cp":"68140c16a009ba0012a3a5b7","vl":6},{"id":"c1-c1-c1","tp":"Condition","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dancing Lights Cantrip","rd":"Dancing Lights Condition","cp":"66e08fe1dc69af0030fa6121","dn":"As a Bonus Action, you can move the lights up to 60 feet to a space within range. A light must be within 20 feet of another light created by this spell, and a light vanishes if it exceeds the spell's range."},{"id":"c1-c3-c1","tp":"Spell","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Faerie Fire","cp":"66e07b5128743a0012c864e9","dn":"Objects in a 20-foot Cube within range are outlined in blue, green, or violet light (your choice). Each creature in the Cube is also outlined if it fails a Dexterity saving throw. For the duration, objects and affected creatures shed Dim Light in a 10-foot radius and can't benefit from the Invisible condition.\nAttack rolls against an affected creature or object have Advantage if the attacker can see it."},{"id":"c1-c3-c2","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Create Lightning Spheres","rd":"Ring of Shooting Stars Lightning Spheres Action","cp":"68140c16a009ba0012a3a5b7","dn":"You can expend 2 charges as a Magic action to create up to four 3-foot-diameter spheres of lightning.\nEach sphere appears in an unoccupied space you can see within 120 feet of yourself. The spheres last as long as you maintain Concentration, up to 1 minute. Each sphere sheds Dim Light in a 30-foot radius."},{"id":"c1-c3-c3","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Move Lightning Spheres","rd":"Ring of Shooting Stars Lightning Spheres Bonus Action","cp":"68140c16a009ba0012a3a5b7","dn":"As a Bonus Action, you can move each sphere up to 30 feet, but no farther than 120 feet away from yourself. The first time the sphere comes within 5 feet of a creature other than you that isn't behind Total Cover, the sphere discharges lightning at that creature and disappears."},{"id":"c1-c3-c4","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Spheres (1)","rd":"Ring of Shooting Stars Lightning Spheres Attack 1 Sphere","cp":"68140c16a009ba0012a3a5b7","aT":"Action","rg":"120 feet","dn":"The first time the sphere comes within 5 feet of a creature other than you that isn't behind Total Cover, the sphere discharges lightning at that creature and disappears. That creature makes a DC 15 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Takes 4d12 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c3-c5","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Spheres (2)","rd":"Ring of Shooting Stars Lightning Spheres Attack 2 Sphere","cp":"68140c16a009ba0012a3a5b7","aT":"Action","rg":"120 feet","dn":"The first time the sphere comes within 5 feet of a creature other than you that isn't behind Total Cover, the sphere discharges lightning at that creature and disappears. That creature makes a DC 15 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Takes 5d4 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c3-c6","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Spheres (3)","rd":"Ring of Shooting Stars Lightning Spheres Attack 3 Sphere","cp":"68140c16a009ba0012a3a5b7","aT":"Action","rg":"120 feet","dn":"The first time the sphere comes within 5 feet of a creature other than you that isn't behind Total Cover, the sphere discharges lightning at that creature and disappears. That creature makes a DC 15 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Takes 2d6 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c3-c7","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Spheres (4)","rd":"Ring of Shooting Stars Lightning Spheres Attack 4 Sphere","cp":"68140c16a009ba0012a3a5b7","aT":"Action","rg":"120 feet","dn":"The first time the sphere comes within 5 feet of a creature other than you that isn't behind Total Cover, the sphere discharges lightning at that creature and disappears. That creature makes a DC 15 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Takes 2d4 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c3-c8","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shooting Stars","rd":"Ring of Shooting Stars Shooting Stars Action","cp":"68140c16a009ba0012a3a5b7","dn":"You can expend 1 to 3 charges as a Magic action. For every charge you expend, you launch a glowing mote of light from the ring at a point you can see within 60 feet of yourself. Each creature in a 15-foot Cube originating from that point is showered in sparks and makes a DC 15 Dexterity saving throw, taking 5d4 Radiant damage on a failed save or half as much damage on a successful one."},{"id":"c1-c3-c9","tp":"Ak","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Shooting Stars","rd":"Ring of Shooting Stars Shooting Stars Attack","cp":"68140c16a009ba0012a3a5b7","aT":"Action","rg":"60 ft","dn":"You launch a glowing mote of light from the ring at a point you can see within 60 feet of yourself. Each creature in a 15-foot Cube originating from that point is showered in sparks and makes a DC 15 Dexterity saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Takes 5d4 Radiant damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity","saveFlat":15}},{"id":"c1-c1-c1-c1","tp":"Action","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c1","actions":["Activate"]}],"nm":"Dancing Lights Move Lights","rd":"Dancing Lights Bonus Action","cp":"66e08fe1dc69af0030fa6121","dn":"As a Bonus Action, you can move the lights up to 60 feet to a space within range. A light must be within 20 feet of another light created by this spell, and a light vanishes if it exceeds the spell's range."},{"id":"c1-c3-c1-c1","tp":"Ak","pt":"c1-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Faerie Fire","rd":"Faerie Fire Attack","cp":"66e07b5128743a0012c864e9","aT":"Action","rg":"60 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Each creature in the Cube is outlined in the chosen color, shed Dim Light in a 10-foot radius, and can't benefit from the invisible condition.","saveAbility":"Dexterity"}},{"id":"c1-c3-c4-c1","tp":"dm","pt":"c1-c3-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Shooting Stars Lightning Spheres Damage 1 Sphere","cp":"68140c16a009ba0012a3a5b7","ay":"none","dT":"Lightning","die":"d12","ct":4,"oC":false},{"id":"c1-c3-c5-c1","tp":"dm","pt":"c1-c3-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Shooting Stars Lightning Spheres Damage 2 Sphere","cp":"68140c16a009ba0012a3a5b7","ay":"none","dT":"Lightning","die":"d4","ct":5,"oC":false},{"id":"c1-c3-c6-c1","tp":"dm","pt":"c1-c3-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Shooting Stars Lightning Spheres Damage 3 Sphere","cp":"68140c16a009ba0012a3a5b7","ay":"none","dT":"Lightning","die":"d6","ct":2,"oC":false},{"id":"c1-c3-c7-c1","tp":"dm","pt":"c1-c3-c7","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Shooting Stars Lightning Spheres Damage 4 Sphere","cp":"68140c16a009ba0012a3a5b7","ay":"none","dT":"Lightning","die":"d4","ct":2,"oC":false},{"id":"c1-c3-c9-c1","tp":"dm","pt":"c1-c3-c9","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Shooting Stars Shooting Stars Damage","cp":"68140c16a009ba0012a3a5b7","ay":"none","dT":"Radiant","die":"d4","ct":5,"oC":false}]}},{"nm":"Ring of Spell Storing","blueprint":{"nm":"Ring of Spell Storing","item":{"tp":"Item","cp":"6744e46c95192d0012ba3f62","dn":"This ring stores spells cast into it, holding them until the attuned wearer uses them. The ring can store up to 5 levels worth of spells at a time. When found, it contains 1d6 − 1 levels of stored spells chosen by the DM.\nAny creature can cast a spell of level 1 through 5 into the ring by touching the ring as the spell is cast. The spell has no effect other than to be stored in the ring. If the ring can't hold the spell, the spell is expended without effect. The level of the slot used to cast the spell determines how much space it uses.\nWhile wearing this ring, you can cast any spell stored in it. The spell uses the slot level, spell save DC, spell attack bonus, and spellcasting ability of the original caster but is otherwise treated as if you cast the spell. The spell cast from the ring is no longer stored in it, freeing up space.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Spell Storing Attunement","cp":"6744e46c95192d0012ba3f62","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Spell Storing Charges","rd":"Ring of Spell Storing Stored Spells Resource","cp":"6744e46c95192d0012ba3f62","vl":5}]}},{"nm":"Ring of Spell Turning","blueprint":{"nm":"Ring of Spell Turning","item":{"tp":"Item","cp":"68140bf1a009ba0012a3a4aa","dn":"While wearing this ring, you have Advantage on saving throws against spells. If you succeed on the save for a spell of level 7 or lower, the spell has no effect on you. If that spell targeted only you and didn't create an area of effect, you can take a Reaction to deflect the spell back at the spell's caster; the caster must make a saving throw against the spell using their own spell save DC.","eD":{"ee":true}},"cS":{"Am":1,"RB":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Spell Turning Attunement","cp":"68140bf1a009ba0012a3a4aa","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Spell Turning Spell Save Advantage","cp":"68140bf1a009ba0012a3a4aa","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Deflect Spell","rd":"Ring of Spell Turning Reaction","cp":"68140bf1a009ba0012a3a4aa","dn":"If you succeed on the save for a spell of level 7 or lower, the spell has no effect on you. If that spell targeted only you and didn't create an area of effect, you can take a Reaction to deflect the spell back at the spell's caster; the caster must make a saving throw against the spell using their own spell save DC."}]}},{"nm":"Ring of Swimming","blueprint":{"nm":"Ring of Swimming","item":{"tp":"Item","cp":"6744e47095192d0012ba4077","dn":"You have a Swim Speed of 40 feet while wearing this ring.","eD":{"ee":true}},"cS":{"sp":1},"ch":[{"id":"c1","tp":"sp","nm":"Ring of Swimming Swim Speed","cp":"6744e47095192d0012ba4077","cl":"Set Base","se":"Swim","vl":{"fa":40}}]}},{"nm":"Ring of Telekinesis","blueprint":{"nm":"Ring of Telekinesis","item":{"tp":"Item","cp":"68140be901f94d0012a663bb","dn":"While wearing this ring, you can cast Telekinesis from it.","eD":{"ee":true}},"cS":{"Am":1,"Spell":1,"Action":1,"Ak":2},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Telekinesis Attunement","cp":"68140be901f94d0012a663bb","an":false,"rE":true},{"id":"c1-c1","tp":"Spell","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis","cp":"66e08fd2dc69af0030fa5d8b","dn":"You gain the ability to move or manipulate creatures or objects by thought. When you cast the spell and as a Magic action on your later turns before the spell ends, you can exert your will on one creature or object that you can see within range, causing the appropriate effect below. You can affect the same target round after round or choose a new one at any time. If you switch targets, the prior target is no longer affected by the spell.\nCreature. You can try to move a Huge or smaller creature. The target must succeed on a Strength saving throw, or you move it up to 30 feet in any direction within the spell's range. Until the end of your next turn, the creature has the Restrained condition, and if you lift it into the air, it is suspended there. It falls at the end of your next turn unless you use this option on it again and it fails the save.\nObject. You can try to move a Huge or smaller object. If the object isn't being worn or carried, you automatically move it up to 30 feet in any direction within the spell's range.\nIf the object is worn or carried by a creature, that creature must succeed on a Strength saving throw, or you pull the object away and move it up to 30 feet in any direction within the spell's range.\nYou can exert fine control on objects with your telekinetic grip, such as manipulating a simple tool, opening a door or a container, stowing or retrieving an item from an open container, or pouring the contents from a vial."},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis","rd":"Telekinesis Action","cp":"66e08fd2dc69af0030fa5d8b","dn":"When you cast the spell and as a Magic action on your later turns before the spell ends, you can exert your will on one creature or object that you can see within range, causing the appropriate effect."},{"id":"c1-c1-c2","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis - Move Creature Attempt","rd":"Telekinesis Move Creature Attack","cp":"66e08fd2dc69af0030fa5d8b","aT":"Action","dn":"You can try to move a Huge or smaller creature. The target must succeed on a Strength saving throw, or you move it up to 30 feet in any direction within the spell's range.","ak":{"tp":"Spell Save"},"save":{"onFail":"Move it up to 30 feet in any direction within the spell's range. Until the end of your next turn, the creature has the Restrained condition, and if you lift it into the air, it is suspended there. It falls at the end of your next turn unless you use this option on it again and it fails the save.","saveAbility":"Strength"}},{"id":"c1-c1-c3","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Telekinesis - Move Object On Creature","rd":"Telekinesis Move Object On Creature Attack","cp":"66e08fd2dc69af0030fa5d8b","aT":"Action","dn":"If the object is worn or carried by a creature, that creature must succeed on a Strength saving throw, or you pull the object away and move it up to 30 feet in any direction within the spell's range.","ak":{"tp":"Spell Save"},"save":{"onFail":"Pull the object away and move it up to 30 feet in any direction within the spell's range.","saveAbility":"Strength"}}]}},{"nm":"Ring of the Ram","blueprint":{"nm":"Ring of the Ram","item":{"tp":"Item","cp":"68140be0614c8000122d5b37","dn":"This ring has 3 charges and regains 1d3 expended charges daily at dawn. While wearing the ring, you can take a Magic action to expend 1 to 3 charges to make a ranged spell attack against one creature you can see within 60 feet of yourself. The ring produces a spectral ram's head and makes its attack roll with a +7 bonus. On a hit, for each charge you spend, the target takes 2d10 Force damage and is pushed 5 feet away from you.\nAlternatively, you can expend 1 to 3 of the ring's charges as a Magic action to try to break a nonmagical object you can see within 60 feet of yourself that isn't being worn or carried. The ring makes a Strength check with a +5 bonus for each charge you spend.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Ak":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of the Ram Attunement","cp":"68140be0614c8000122d5b37","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of the Ram Charges","cp":"68140be0614c8000122d5b37","vl":3},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of the Ram","rd":"Ring of the Ram Spell Attack","cp":"68140be0614c8000122d5b37","aT":"Action","rg":"60 ft","dn":"While wearing the ring, you can take a Magic action to expend 1 to 3 charges to make a ranged spell attack against one creature you can see within 60 feet of yourself. The ring produces a spectral ram's head and makes its attack roll with a +7 bonus.","ak":{"aB":"none","bo":7,"proficiencyLevel":"Untrained","tp":"Spell Attack"},"onHit":"On a hit, for each charge you spend, the target takes 2d10 Force damage and is pushed 5 feet away from you."},{"id":"c1-c1-c2","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Break Nonmagical Object","rd":"Ring of the Ram Break Nonmagical Object Action","cp":"68140be0614c8000122d5b37","dn":"Alternatively, you can expend 1 to 3 of the ring's charges as a Magic action to try to break a nonmagical object you can see within 60 feet of yourself that isn't being worn or carried. The ring makes a Strength check with a +5 bonus for each charge you spend."},{"id":"c1-c1-c1-c1","tp":"dm","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of the Ram Spell Damage","cp":"68140be0614c8000122d5b37","ay":"none","dT":"Force","die":"d10","ct":2,"oC":false}]}},{"nm":"Ring of Three Wishes","blueprint":{"nm":"Ring of Three Wishes","item":{"tp":"Item","cp":"6744e48095192d0012ba44a0","dn":"While wearing this ring, you can expend 1 of its 3 charges to cast Wish from it. The ring becomes nonmagical when you use the last charge.","eD":{"ee":true}},"cS":{"Resource":1,"Spell":1},"ch":[{"id":"c1","tp":"Resource","nm":"Three Wishes","rd":"Ring of Three Wishes Charges","cp":"6744e48095192d0012ba44a0","vl":3},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Wish","cp":"66e08fdedc69af0030fa6064","dn":"Wish is the mightiest spell a mortal can cast. By simply speaking aloud, you can alter reality itself.\nThe basic use of this spell is to duplicate any other spell of level 8 or lower. If you use it this way, you don't need to meet any requirements to cast that spell, including costly components. The spell simply takes effect.\nAlternatively, you can create one of the following effects of your choice:\nObject Creation. You create one object of up to 25,000 GP in value that isn't a magic item. The object can be no more than 300 feet in any dimension, and it appears in an unoccupied space that you can see on the ground.\nInstant Health. You allow yourself and up to twenty creatures that you can see to regain all Hit Points, and you end all effects on them listed in the Greater Restoration spell.\nResistance. You grant up to ten creatures that you can see Resistance to one damage type that you choose. This Resistance is permanent.\nSpell Immunity. You grant up to ten creatures you can see immunity to a single spell or other magical effect for 8 hours.\nSudden Learning. You replace one of your feats with another feat for which you are eligible. You lose all the benefits of the old feat and gain the benefits of the new one. You can't replace a feat that is a prerequisite for any of your other feats or features.\nRoll Redo. You undo a single recent event by forcing a reroll of any die roll made within the last round (including your last turn). Reality reshapes itself to accommodate the new result. For example, a Wish spell could undo an ally's failed saving throw or a foe's Critical Hit. You can force the reroll to be made with Advantage or Disadvantage, and you choose whether to use the reroll or the original roll.\nReshape Reality. You may wish for something not included in any of the other effects. To do so, state your wish to the DM as precisely as possible. The DM has great latitude in ruling what occurs in such an instance; the greater the wish, the greater the likelihood that something goes wrong. This spell might simply fail, the effect you desire might be achieved only in part, or you might suffer an unforeseen consequence as a result of how you worded the wish. For example, wishing that a villain were dead might propel you forward in time to a period when that villain is no longer alive, effectively removing you from the game. Similarly, wishing for a Legendary magic item or an Artifact might instantly transport you to the presence of the item's current owner. If your wish is granted and its effects have consequences for a whole community, region, or world, you are likely to attract powerful foes. If your wish would affect a god, the god's divine servants might instantly intervene to prevent it or to encourage you to craft the wish in a particular way. If your wish would undo the multiverse itself, threaten the City of Sigil, or affect the Lady of Pain in any way, you see an image of her in your mind for a moment; she shakes her head, and your wish fails.\nThe stress of casting Wish to produce any effect other than duplicating another spell weakens you. After enduring that stress, each time you cast a spell until you finish a Long Rest, you take 1d10 Necrotic damage per level of that spell. This damage can't be reduced or prevented in any way. In addition, your Strength score becomes 3 for 2d4 days. For each of those days that you spend resting and doing nothing more than light activity, your remaining recovery time decreases by 2 days. Finally, there is a 33 percent chance that you are unable to cast Wish ever again if you suffer this stress."}]}},{"nm":"Ring of Thunder Resistance","blueprint":{"nm":"Ring of Thunder Resistance","item":{"tp":"Item","cp":"6744e47d95192d0012ba43fe","dn":"You have Thunder Resistance while wearing this ring.","eD":{"ee":true}},"cS":{"Defense":1},"ch":[{"id":"c1","tp":"Defense","nm":"Ring of Thunder Resistance Defense","cp":"6744e47d95192d0012ba43fe","damage":"Thunder","defense":"Resistance"}]}},{"nm":"Ring of Warmth","blueprint":{"nm":"Ring of Warmth","item":{"tp":"Item","cp":"6744e2ee95192d0012b9e1e8","dn":"If you take Cold damage while wearing this ring, the ring reduces the damage you take by 2d8.\nIn addition, while wearing this ring, you and everything you wear and carry are unharmed by temperatures of 0 degrees Fahrenheit or lower.","eD":{"ee":true}},"cS":{"Am":1,"Defense":1,"Action":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Warmth Attunement","cp":"6744e2ee95192d0012b9e1e8","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Warmth Defense","cp":"6744e2ee95192d0012b9e1e8","defense":"Resistance","details":"Ring of Warmth - Cold damage reduction."},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Warmth Cold Reduction","cp":"6744e2ee95192d0012b9e1e8","dn":"If you take Cold damage while wearing this ring, the ring reduces the damage you take by 2d8."},{"id":"c1-c2-c1","tp":"Generic Roll","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cold Reduction","rd":"Ring of Warmth Generic Roll","cp":"6744e2ee95192d0012b9e1e8"}]}},{"nm":"Ring of Water Elemental Command","blueprint":{"nm":"Ring of Water Elemental Command","item":{"tp":"Item","cp":"68152a19a193700012c13ca2","dn":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\nEvery Ring of Elemental Command has the following two properties:\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring's linked Elemental Plane:\nWater. You know Aquan, you gain a Swim Speed of 60 feet, and you can breathe underwater.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nWater | Create or Destroy Water (1 charge), Ice Storm (2 charges), Tsunami (5 charges), Wall of Ice (3 charges), Water Walk (2 charges)","eD":{"ee":true}},"cS":{"Am":1,"Defense":1,"RB":1,"Ak":10,"Language":1,"sp":1,"Resource":1,"Spell":5,"Condition":1,"Action":1,"dm":10,"Upcasting":3},"ch":[{"id":"c1","tp":"Am","nm":"Ring of Water Elemental Command Attunement","cp":"68152a19a193700012c13ca2","an":false,"rE":true},{"id":"c1-c1","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Water Elemental Command Elemental Bane Defense","cp":"68152a19a193700012c13ca2","defense":"Resistance","details":"While wearing the Ring of Water Elemental Command, Elementals have Disadvantage on attack rolls against you."},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Water Elemental Command Elemental Bane Roll Bonus","cp":"68152a19a193700012c13ca2","bC":"[\"Attacks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Elemental Compulsion","rd":"Ring of Water Elemental Command Compulsion Save","cp":"68152a19a193700012c13ca2","aT":"Action","rg":"60 ft","dn":"While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.","saveAbility":"Wisdom","saveFlat":18}},{"id":"c1-c4","tp":"Language","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Aquan","rd":"Ring of Water Elemental Command Aquan","cp":"68152a19a193700012c13ca2"},{"id":"c1-c5","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring of Water Elemental Command Swim Speed","cp":"68152a19a193700012c13ca2","cl":"Set Base","se":"Swim","vl":{"fa":60}},{"id":"c1-c6","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ring Spellcasting Charges","rd":"Ring of Water Elemental Command Spellcasting Charges","cp":"68152a19a193700012c13ca2","vl":5},{"id":"c1-c6-c1","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Create or Destroy Water","cp":"66e09008dc69af0030fa6aba","dn":"You do one of the following:\nCreate Water. You create up to 10 gallons of clean water within range in an open container. Alternatively, the water falls as rain in a 30-foot Cube within range, extinguishing exposed flames there.\nDestroy Water. You destroy up to 10 gallons of water in an open container within range. Alternatively, you destroy fog in a 30-foot Cube within range."},{"id":"c1-c6-c2","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm","cp":"66e08faadc69af0030fa5447","dn":"Hail falls in a 20-foot-radius, 40-foot-high Cylinder centered on a point within range. Each creature in the Cylinder makes a Dexterity saving throw. A creature takes 2d10 Bludgeoning damage and 4d6 Cold damage on a failed save or half as much damage on a successful one.\nHailstones turn ground in the Cylinder into Difficult Terrain until the end of your next turn."},{"id":"c1-c6-c3","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami","cp":"69f10694c7d4ee0012069e12","dn":"A wall of water springs into existence at a point you choose within range. You can make the wall up to 300 feet long, 300 feet high, and 50 feet thick. The wall lasts for the duration.\nWhen the wall appears, each creature in its area makes a Strength saving throw, taking 6d10 Bludgeoning damage on a failed save or half as much damage on a successful one.\nAt the start of each of your turns after the wall appears, the wall, along with any creatures in it, moves 50 feet away from you. Any Huge or smaller creature inside the wall or whose space the wall enters when it moves must succeed on a Strength saving throw or take 5d10 Bludgeoning damage. A creature can take this damage only once per round. At the end of the turn, the wall's height is reduced by 50 feet, and the damage the wall deals on later rounds is reduced by 1d10. When the wall reaches 0 feet in height, the spell ends.\nA creature caught in the wall can move by swimming. Because of the wave's force, though, the creature must succeed on a Strength (Athletics) check against your spell save DC to move at all. If it fails the check, it can't move. A creature that moves out of the wall falls to the ground."},{"id":"c1-c6-c4","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice","cp":"66e08f5bdc69af0030fa39d0","dn":"You create a wall of ice on a solid surface within range. You can form it into a hemispherical dome or a globe with a radius of up to 10 feet, or you can shape a flat surface made up of ten 10-foot-square panels. Each panel must be contiguous with another panel. In any form, the wall is 1 foot thick and lasts for the duration.\nIf the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side) and makes a Dexterity saving throw, taking 10d6 Cold damage on a failed save or half as much damage on a successful one.\nThe wall is an object that can be damaged and thus breached. It has AC 12 and 30 Hit Points per 10-foot section, and it has Immunity to Cold, Poison, and Psychic damage and Vulnerability to Fire damage. Reducing a 10-foot section of wall to 0 Hit Points destroys it and leaves behind a sheet of frigid air in the space the wall occupied.\nA creature moving through the sheet of frigid air for the first time on a turn makes a Constitution saving throw, taking 5d6 Cold damage on a failed save or half as much damage on a successful one."},{"id":"c1-c6-c5","tp":"Spell","pt":"c1-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Water Walk","cp":"66e0902edc69af0030fa7379","dn":"This spell grants the ability to move across any liquid surface - such as water, acid, mud, snow, quicksand, or lava - as if it were harmless solid ground (creatures crossing molten lava can still take damage from the heat). Up to ten willing creatures of your choice within range gain this ability for the duration.\nAn affected target must take a Bonus Action to pass from the liquid's surface into the liquid itself and vice versa, but if the target falls into the liquid, the target passes through the surface into the liquid below."},{"id":"c1-c6-c2-c1","tp":"Ak","pt":"c1-c6-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm","rd":"Ice Storm Attack","cp":"66e08faadc69af0030fa5447","aT":"Action","dn":"Hail falls in a 20-foot-radius, 40-foot-high Cylinder centered on a point within range. Each creature in the Cylinder makes a Dexterity saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 2d10 Bludgeoning damage and 4d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c6-c3-c1","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami - Initial Attack","rd":"Tsunami Initial Attack","cp":"69f10694c7d4ee0012069e12","aT":"Action","dn":"When the wall appears, each creature in its area makes a Strength saving throw, taking 6d10 Bludgeoning damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 6d10 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c6-c3-c2","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami - Round 2","rd":"Tsunami Round 2 Attack","cp":"69f10694c7d4ee0012069e12","aT":"Action","dn":"At the start of each of your turns after the wall appears, the wall, along with any creatures in it, moves 50 feet away from you. Any Huge or smaller creature inside the wall or whose space the wall enters when it moves must succeed on a Strength saving throw or take 5d10 Bludgeoning damage. A creature can take this damage only once per round.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d10 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c6-c3-c3","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami - Round 3","rd":"Tsunami Round 3 Attack","cp":"69f10694c7d4ee0012069e12","aT":"Action","dn":"At the start of each of your turns after the wall appears, the wall, along with any creatures in it, moves 50 feet away from you. Any Huge or smaller creature inside the wall or whose space the wall enters when it moves must succeed on a Strength saving throw or take 5d10 Bludgeoning damage. A creature can take this damage only once per round.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 4d10 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c6-c3-c4","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami - Round 4","rd":"Tsunami Round 4 Attack","cp":"69f10694c7d4ee0012069e12","aT":"Action","dn":"At the start of each of your turns after the wall appears, the wall, along with any creatures in it, moves 50 feet away from you. Any Huge or smaller creature inside the wall or whose space the wall enters when it moves must succeed on a Strength saving throw or take 5d10 Bludgeoning damage. A creature can take this damage only once per round.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 3d10 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c6-c3-c5","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami - Round 5","rd":"Tsunami Round 5 Attack","cp":"69f10694c7d4ee0012069e12","aT":"Action","dn":"At the start of each of your turns after the wall appears, the wall, along with any creatures in it, moves 50 feet away from you. Any Huge or smaller creature inside the wall or whose space the wall enters when it moves must succeed on a Strength saving throw or take 5d10 Bludgeoning damage. A creature can take this damage only once per round.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 2d10 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c6-c3-c6","tp":"Ak","pt":"c1-c6-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami - Round 6","rd":"Tsunami Round 6 Attack","cp":"69f10694c7d4ee0012069e12","aT":"Action","dn":"At the start of each of your turns after the wall appears, the wall, along with any creatures in it, moves 50 feet away from you. Any Huge or smaller creature inside the wall or whose space the wall enters when it moves must succeed on a Strength saving throw or take 5d10 Bludgeoning damage. A creature can take this damage only once per round.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 1d10 Bludgeoning damage.","onSucceed":"Half as much damage.","saveAbility":"Strength"}},{"id":"c1-c6-c4-c1","tp":"Ak","pt":"c1-c6-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice - On Creation","rd":"Wall of Ice Creation Attack","cp":"66e08f5bdc69af0030fa39d0","aT":"Action","dn":"If the wall cuts through a creature's space when it appears, the creature is pushed to one side of the wall (you choose which side) and makes a Dexterity saving throw, taking 10d6 Cold damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 10d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c6-c4-c2","tp":"Condition","pt":"c1-c6-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice","rd":"Wall of Ice Condition","cp":"66e08f5bdc69af0030fa39d0","dn":"The wall is an object that can be damaged and thus breached. It has AC 12 and 30 Hit Points per 10-foot section, and it has Immunity to Cold, Poison, and Psychic damage and Vulnerability to Fire damage. Reducing a 10-foot section of wall to 0 Hit Points destroys it and leaves behind a sheet of frigid air in the space the wall occupied."},{"id":"c1-c6-c4-c3","tp":"Ak","pt":"c1-c6-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice - Frigid Air","rd":"Wall of Ice Frigid Air Attack","cp":"66e08f5bdc69af0030fa39d0","aT":"Action","dn":"Reducing a 10-foot section of wall to 0 Hit Points destroys it and leaves behind a sheet of frigid air in the space the wall occupied. A creature moving through the sheet of frigid air for the first time on a turn makes a Constitution saving throw, taking 5d6 Cold damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 5d6 Cold damage.","onSucceed":"Half as much damage.","saveAbility":"Constitution"}},{"id":"c1-c6-c5-c1","tp":"Action","pt":"c1-c6-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Water Walk","rd":"Water Walk Bonus Action","cp":"66e0902edc69af0030fa7379","dn":"An affected target must take a Bonus Action to pass from the liquid's surface into the liquid itself and vice versa, but if the target falls into the liquid, the target passes through the surface into the liquid below."},{"id":"c1-c6-c2-c1-c1","tp":"dm","pt":"c1-c6-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Bludgeoning Damage","cp":"66e08faadc69af0030fa5447","ay":"none","dT":"Bludgeoning","die":"d10","ct":2,"oC":false},{"id":"c1-c6-c2-c1-c2","tp":"dm","pt":"c1-c6-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Cold Damage","cp":"66e08faadc69af0030fa5447","ay":"none","dT":"Cold","die":"d6","ct":4,"oC":false},{"id":"c1-c6-c3-c1-c1","tp":"dm","pt":"c1-c6-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami Initial Damage","cp":"69f10694c7d4ee0012069e12","ay":"none","dT":"Bludgeoning","die":"d10","ct":6,"oC":false},{"id":"c1-c6-c3-c2-c1","tp":"dm","pt":"c1-c6-c3-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami Round 2 Damage","cp":"69f10694c7d4ee0012069e12","ay":"none","dT":"Bludgeoning","die":"d10","ct":5,"oC":false},{"id":"c1-c6-c3-c3-c1","tp":"dm","pt":"c1-c6-c3-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami Round 3 Damage","cp":"69f10694c7d4ee0012069e12","ay":"none","dT":"Bludgeoning","die":"d10","ct":4,"oC":false},{"id":"c1-c6-c3-c4-c1","tp":"dm","pt":"c1-c6-c3-c4","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami Round 4 Damage","cp":"69f10694c7d4ee0012069e12","ay":"none","dT":"Bludgeoning","die":"d10","ct":3,"oC":false},{"id":"c1-c6-c3-c5-c1","tp":"dm","pt":"c1-c6-c3-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami Round 5 Damage","cp":"69f10694c7d4ee0012069e12","ay":"none","dT":"Bludgeoning","die":"d10","ct":2,"oC":false},{"id":"c1-c6-c3-c6-c1","tp":"dm","pt":"c1-c6-c3-c6","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Tsunami Round 6 Damage","cp":"69f10694c7d4ee0012069e12","ay":"none","dT":"Bludgeoning","die":"d10","ct":1,"oC":false},{"id":"c1-c6-c4-c1-c1","tp":"dm","pt":"c1-c6-c4-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Creation Damage","cp":"66e08f5bdc69af0030fa39d0","ay":"none","dT":"Cold","die":"d6","ct":10,"oC":false},{"id":"c1-c6-c4-c3-c1","tp":"dm","pt":"c1-c6-c4-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Frigid Air Damage","cp":"66e08f5bdc69af0030fa39d0","ay":"none","dT":"Cold","die":"d6","ct":5,"oC":false},{"id":"c1-c6-c2-c1-c1-c1","tp":"Upcasting","pt":"c1-c6-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ice Storm Bludgeoning Damage Upcast","cp":"66e08faadc69af0030fa5447","vl":1},{"id":"c1-c6-c4-c1-c1-c1","tp":"Upcasting","pt":"c1-c6-c4-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Creation Damage Upcast","cp":"66e08f5bdc69af0030fa39d0","vl":2},{"id":"c1-c6-c4-c3-c1-c1","tp":"Upcasting","pt":"c1-c6-c4-c3-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wall of Ice Frigid Air Damage Upcast","cp":"66e08f5bdc69af0030fa39d0","vl":1}]}},{"nm":"Ring of Water Walking","blueprint":{"nm":"Ring of Water Walking","item":{"tp":"Item","cp":"6744e47e95192d0012ba4432","dn":"While wearing this ring, you cast Water Walk from it, targeting only yourself.","eD":{"ee":true}},"cS":{"Spell":1,"Action":1},"ch":[{"id":"c1","tp":"Spell","nm":"Water Walk","cp":"66e0902edc69af0030fa7379","dn":"This spell grants the ability to move across any liquid surface - such as water, acid, mud, snow, quicksand, or lava - as if it were harmless solid ground (creatures crossing molten lava can still take damage from the heat). Up to ten willing creatures of your choice within range gain this ability for the duration.\nAn affected target must take a Bonus Action to pass from the liquid's surface into the liquid itself and vice versa, but if the target falls into the liquid, the target passes through the surface into the liquid below."},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Water Walk","rd":"Water Walk Bonus Action","cp":"66e0902edc69af0030fa7379","dn":"An affected target must take a Bonus Action to pass from the liquid's surface into the liquid itself and vice versa, but if the target falls into the liquid, the target passes through the surface into the liquid below."}]}},{"nm":"Ring of X-ray Vision","blueprint":{"nm":"Ring of X-ray Vision","item":{"tp":"Item","cp":"68140bd2c19cbf0012ac6f66","dn":"While wearing this ring, you can take a Magic action to gain X-ray vision with a range of 30 feet for 1 minute. To you, solid objects within that radius appear transparent and don't prevent light from passing through them. The vision can penetrate 1 foot of stone, 1 inch of common metal, or up to 3 feet of wood or dirt. Thicker substances or a thin sheet of lead block the vision.\nWhenever you use the ring again before taking a Long Rest, you must succeed on a DC 15 Constitution saving throw or gain 1 Exhaustion level.","eD":{"ee":true}},"cS":{"Am":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Ring of X-ray Vision Attunement","cp":"68140bd2c19cbf0012ac6f66","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"X-ray Vision","rd":"Ring of X-ray Vision Action","cp":"68140bd2c19cbf0012ac6f66","dn":"While wearing this ring, you can take a Magic action to gain X-ray vision with a range of 30 feet for 1 minute. To you, solid objects within that radius appear transparent and don't prevent light from passing through them. The vision can penetrate 1 foot of stone, 1 inch of common metal, or up to 3 feet of wood or dirt. Thicker substances or a thin sheet of lead block the vision."}]}},{"nm":"Robe of Eyes","blueprint":{"nm":"Robe of Eyes","item":{"tp":"Item","cp":"68140cc0d8a77f0013b639db","dn":"This robe is adorned with eyelike patterns. While you wear the robe, you gain the following benefits:\n\nAll-Around Vision. The robe gives you Advantage on Wisdom (Perception) checks that rely on sight.\n\nSpecial Senses. You have Darkvision and Truesight, both with a range of 120 feet.\n\nDrawbacks. A Light spell cast on the robe or a Daylight spell cast within 5 feet of the robe gives you the Blinded condition for 1 minute. At the end of each of your turns, you make a Constitution saving throw (DC 11 for Light or DC 15 for Daylight), ending the condition on yourself on a success.","wt":4,"eD":{"ee":true}},"cS":{"Am":1,"RB":1,"Sense":2,"Ak":2},"ch":[{"id":"c1","tp":"Am","nm":"Robe of Eyes Attunement","cp":"68140cc0d8a77f0013b639db","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Robe of Eyes Sight Perception Advantage","cp":"68140cc0d8a77f0013b639db","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Perception\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c2","tp":"Sense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Darkvision","rd":"Robe of Eyes Darkvision","cp":"68140cc0d8a77f0013b639db","cl":"Set Base","vl":{"fa":120}},{"id":"c1-c3","tp":"Sense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Truesight","rd":"Robe of Eyes Truesight","cp":"68140cc0d8a77f0013b639db","cl":"Set Base","vl":{"fa":120}},{"id":"c1-c4","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Light Drawbacks (Robe of Eyes)","rd":"Robe of Eyes Blinding Light Self-Attack","cp":"68140cc0d8a77f0013b639db","aT":"Action","dn":"A Light spell cast on the robe gives you the Blinded condition for 1 minute. At the end of each of your turns, you make a DC 11 Constitution saving throw, ending the condition on yourself on a success.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"end Blinded condition","saveAbility":"Constitution","saveFlat":11}},{"id":"c1-c5","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Daylight Drawbacks (Robe of Eyes)","rd":"Robe of Eyes Blinding Daylight Self-Attack","cp":"68140cc0d8a77f0013b639db","aT":"Action","dn":"A Daylight spell cast within 5 feet of the robe gives you the Blinded condition for 1 minute. At the end of each of your turns, you make a DC 15 Constitution saving throw, ending the condition on yourself on a success.","ak":{"tp":"Attack Save"},"save":{"onSucceed":"end Blinded condition","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Robe of Scintillating Colors","blueprint":{"nm":"Robe of Scintillating Colors","item":{"tp":"Item","cp":"68152918a193700012c1093e","dn":"This robe has 3 charges, and it regains 1d3 expended charges daily at dawn. While you wear it, you can take a Magic action and expend 1 charge to cause the garment to display a shifting pattern of dazzling hues until the end of your next turn. During this time, the robe sheds Bright Light in a 30-foot radius and Dim Light for an additional 30 feet, and creatures that can see you have Disadvantage on attack rolls against you. Any creature in the Bright Light that can see you when the robe's power is activated must succeed on a DC 15 Wisdom saving throw or have the Stunned condition until the effect ends.","wt":4,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Ak":1},"ch":[{"id":"c1","tp":"Am","nm":"Robe of Scintillating Colors Attunement","cp":"68152918a193700012c1093e","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dazzling Display (Robe of Scintillating Colors)","rd":"Robe of Scintillating Colors Charges","cp":"68152918a193700012c1093e","vl":3},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Dazzling Display (Robe of Scintillating Colors)","rd":"Robe of Scintillating Colors Dazzling Display Attack","cp":"68152918a193700012c1093e","aT":"Action","dn":"While you wear this robe, you can take a Magic action and expend 1 charge to cause the garment to display a shifting pattern of dazzling hues until the end of your next turn. During this time, the robe sheds Bright Light in a 30-foot radius and Dim Light for an additional 30 feet, and creatures that can see you have Disadvantage on attack rolls against you. Any creature in the Bright Light that can see you when the robe's power is activated must succeed on a DC 15 Wisdom saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Stunned until the end of Dazzling Display","saveAbility":"Wisdom","saveFlat":15}}]}},{"nm":"Robe of Stars","blueprint":{"nm":"Robe of Stars","item":{"tp":"Item","cp":"68140caca009ba0012a3a89e","dn":"This black or dark-blue robe is embroidered with small white or silver stars. You gain a +1 bonus to saving throws while you wear it.\n\nSix stars, located on the robe's upper-front portion, are particularly large. While wearing this robe, you can take a Magic action to remove one of the stars and expend it to cast the level 5 version of Magic Missile. Daily at dusk, 1d6 removed stars reappear on the robe.\n\nWhile you wear the robe, you can take a Magic action to enter the Astral Plane along with everything you are wearing and carrying. You remain there until you take a Magic action to return to the plane you were on. You reappear in the last space you occupied or, if that space is occupied, the nearest unoccupied space.","wt":4,"eD":{"ee":true}},"cS":{"Am":1,"RB":1,"Resource":1,"Action":1,"Spell":1,"Ak":1,"dm":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Am","nm":"Robe of Stars Attunement","cp":"68140caca009ba0012a3a89e","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Robe of Stars +1 Saving Throw Bonus","cp":"68140caca009ba0012a3a89e","bC":"[\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Robe of Stars Magic Missiles","rd":"Robe of Stars Magic Missile Resource","cp":"68140caca009ba0012a3a89e","vl":6},{"id":"c1-c3","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Astral Travel (Robe of Stars)","rd":"Robe of Stars Astral Travel Action","cp":"68140caca009ba0012a3a89e","dn":"While you wear the robe, you can take a Magic action to enter the Astral Plane along with everything you are wearing and carrying. You remain there until you take a Magic action to return to the plane you were on. You reappear in the last space you occupied or, if that space is occupied, the nearest unoccupied space."},{"id":"c1-c2-c1","tp":"Spell","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missile","cp":"66e09013dc69af0030fa6d27","dn":"You create three glowing darts of magical force. Each dart strikes a creature of your choice that you can see within range. A dart deals 1d4 + 1 Force damage to its target. The darts all strike simultaneously, and you can direct them to hit one creature or several."},{"id":"c1-c2-c1-c1","tp":"Ak","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missile","rd":"Magic Missile Free Attack","cp":"66e09013dc69af0030fa6d27","aT":"Action","rg":"120 feet"},{"id":"c1-c2-c1-c1-c1","tp":"dm","pt":"c1-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missile Damage","cp":"66e09013dc69af0030fa6d27","ay":"none","dT":"Force","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c1-c2-c1-c1-c2","tp":"Upcasting","pt":"c1-c2-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Magic Missle Upcast","cp":"66e09013dc69af0030fa6d27","vl":1}]}},{"nm":"Robe of the Archmagi","blueprint":{"nm":"Robe of the Archmagi","item":{"tp":"Item","cp":"6744e2f095192d0012b9e254","dn":"This elegant garment is made from exquisite cloth and adorned with runes.\n\nYou gain these benefits while wearing the robe.\n\n\nArmor. If you aren't wearing armor, your base Armor Class is 15 plus your Dexterity modifier.\n\n\nMagic Resistance. You have Advantage on saving throws against spells and other magical effects.\n\n\nWar Mage. Your spell save DC and spell attack bonus each increase by 2.","wt":4,"eD":{"ee":true}},"cS":{"Am":1,"AC":1,"RB":2},"ch":[{"id":"c1","tp":"Am","nm":"Robe of the Archmagi Attunement","cp":"6744e2f095192d0012b9e254","an":false,"rE":true},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Robe of the Archmagi Base Armor Class","cp":"6744e2f095192d0012b9e254","cl":"Set Base","dA":false,"vl":{"fa":15}},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Robe of the Archmagi Magic Save Advantage","cp":"6744e2f095192d0012b9e254","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Robe of the Archmagi Bonus to Spell Attack and Spell Save","cp":"6744e2f095192d0012b9e254","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\",\"Spell Save\"]","bV":2,"dC":1,"tR":false}]}},{"nm":"Robe of Useful Items","blueprint":{"nm":"Robe of Useful Items","item":{"tp":"Item","cp":"68140ca2aa185e001254b93f","dn":"This robe has cloth patches of various shapes and colors covering it. While wearing the robe, you can take a Magic action to detach one of the patches,\ncausing it to become the object or creature it represents. Once the last patch is removed, the robe becomes an ordinary garment.\n\nThe robe has two of each of the following patches:\n\n• Bullseye Lantern (filled and lit)\n• Dagger\n• Mirror\n• Pole\n• Rope (coiled)\n• Sack\n\nIn addition, the robe has 4d4 other patches. The DM chooses the patches or determines them randomly by rolling on the following table.\n\n1d100 Patch\n\n01-08 Bag of 100 GP\n09-15 Silver coffer (1 foot long, 6 inches wide and\ndeep) worth 500 GP\n16-22 Iron door (up to 10 feet wide and 10 feet\nhigh, barred on one side of your choice),\nwhich you can place in an opening you can\nreach; it conforms to fit the opening, attaching and hinging itself\n23-30 10 gems worth 100 GP each\n31-44 Wooden ladder (24 feet long)\n45-51 Riding Horse with a Riding Saddle\n52-59 Open pit (a 10-foot Cube), which you\ncan place on the ground within 10 feet of\nyourself\n60-68 4 Potions of Healing\n69-75 Rowboat (12 feet long)\n76-83 Spell Scroll containing one spell of level 1, 2,\nor 3 (your choice)\n84-90 2 Mastiffs\n91-96 Window (2 feet by 4 feet, up to 2 feet deep),\nwhich you can place on a vertical surface\nyou can reach\n97-00 Portable Ram","wt":4,"eD":{"ee":true}},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Useful Patches","rd":"Robe of Useful Items Patches Resource","cp":"68140ca2aa185e001254b93f","vl":28},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Detach Useful Patch","rd":"Robe of Useful Items Detach Patch Action","cp":"68140ca2aa185e001254b93f","dn":"While wearing the robe, you can take a Magic action to detach one of the patches, causing it to become the object or creature it represents."}]}},{"nm":"Rope of Climbing","blueprint":{"nm":"Rope of Climbing","item":{"tp":"Item","cp":"6744e4b095192d0012ba51a2","dn":"This 60-foot length of rope can hold up to 3,000 pounds. While holding one end of the rope, you can take a Magic action to command the other end of the rope to animate and move toward a destination you choose, up to the rope's length away from you. That end moves 10 feet on your turn when you first command it and 10 feet at the start of each of your subsequent turns until reaching its destination or until you tell it to stop. You can also tell the rope to fasten itself securely to an object or to unfasten itself, to knot or unknot itself, or to coil itself for carrying.\n\nIf you tell the rope to knot, large knots appear at 1-foot intervals along the rope. While knotted, the rope shortens to a 50-foot length and grants Advantage on ability checks made to climb using the rope.\n\nThe rope has AC 20, HP 20, and Immunity to Poison and Psychic damage. It regains 1 Hit Point every 5 minutes as long as it has at least 1 Hit Point. If the rope drops to 0 Hit Points, it is destroyed.","wt":6},"cS":{"Action":1,"RB":1},"ch":[{"id":"c1","tp":"Action","nm":"Command Rope of Climbing","rd":"Animate Rope of Climbing Action","cp":"6744e4b095192d0012ba51a2","dn":"This 60-foot length of rope can hold up to 3,000 pounds. While holding one end of the rope, you can take a Magic action to command the other end of the rope to animate and move toward a destination you choose, up to the rope's length away from you. That end moves 10 feet on your turn when you first command it and 10 feet at the start of each of your subsequent turns until reaching its destination or until you tell it to stop. You can also tell the rope to fasten itself securely to an object or to unfasten itself, to knot or unknot itself, or to coil itself for carrying.\n\nIf you tell the rope to knot, large knots appear at 1-foot intervals along the rope. While knotted, the rope shortens to a 50-foot length and grants Advantage on ability checks made to climb using the rope.\n\nThe rope has AC 20, HP 20, and Immunity to Poison and Psychic damage. It regains 1 Hit Point every 5 minutes as long as it has at least 1 Hit Point. If the rope drops to 0 Hit Points, it is destroyed."},{"id":"c2","tp":"RB","nm":"Knotted Rope of Climbing Situational Advantage","cp":"6744e4b095192d0012ba51a2","bC":"[\"Skills\",\"Ability Checks\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false}]}},{"nm":"Rope of Entanglement","blueprint":{"nm":"Rope of Entanglement","item":{"tp":"Item","cp":"68140d29769a630012657155","dn":"This rope is 30 feet long. While holding one end of the rope, you can take a Magic action to command the other end to dart forward and entangle one creature you can see within 20 feet of yourself. The target must succeed on a DC 15 Dexterity saving throw or have the Restrained condition. You can release the target by letting go of your end of the rope (causing the rope to coil up in the target's space) or by using a Bonus Action to repeat the command (causing the rope to coil up in your hand).\n\n\n\nA target Restrained by the rope can take an action to make its choice of a DC 15 Strength (Athletics) or Dexterity (Acrobatics) check. On a successful check, the target is no longer Restrained by the rope. If you're still holding onto the rope when a target escapes from it, you can take a Reaction to command the rope to coil up in your hand; otherwise, the rope coils up in the target's space. \n\nThe rope has AC 20, HP 20, and Immunity to Poison and Psychic damage. It regains 1 Hit Point every 5 minutes as long as it has at least 1 Hit Point. If the rope drops to 0 Hit Points, it is destroyed.","wt":3},"cS":{"Ak":1,"Action":1},"ch":[{"id":"c1","tp":"Ak","nm":"Entangle (Rope of Entanglement)","rd":"Command Rope of Entanglement Attack","cp":"68140d29769a630012657155","aT":"Action","rg":"20 ft","dn":"This rope is 30 feet long. While holding one end of the rope, you can take a Magic action to command the other end to dart forward and entangle one creature you can see within 20 feet of yourself. Any creature in the Bright Light that can see you when the robe's power is activated must succeed on a DC 15 Wisdom saving throw. You can release an entangled target by letting go of your end of the rope (causing the rope to coil up in the target's space) or by using a Bonus Action to repeat the command (causing the rope to coil up in your hand).\n\nA target Restrained by the rope can take an action to make its choice of a DC 15 Strength (Athletics) or Dexterity (Acrobatics) check. On a successful check, the target is no longer Restrained by the rope. If you're still holding onto the rope when a target escapes from it, you can take a Reaction to command the rope to coil up in your hand; otherwise, the rope coils up in the target's space. \n\nThe rope has AC 20, HP 20, and Immunity to Poison and Psychic damage. It regains 1 Hit Point every 5 minutes as long as it has at least 1 Hit Point. If the rope drops to 0 Hit Points, it is destroyed.","ak":{"tp":"Attack Save"},"save":{"onFail":"Restrained","saveAbility":"Dexterity","saveFlat":15},"onHit":"The target must succeed on a DC 15 Dexterity saving throw."},{"id":"c2","tp":"Action","nm":"Coil Rope of Entanglement","rd":"Coil Rope of Entanglement Bonus Action","cp":"68140d29769a630012657155","dn":" If you're still holding onto the rope when a target escapes from it, you can take a Reaction to command the rope to coil up in your hand; otherwise, the rope coils up in the target's space. "}]}},{"nm":"Rust Bag of Tricks","blueprint":{"nm":"Rust Bag of Tricks","item":{"tp":"Item","cp":"68140d02a193700012be8ef2","dn":"This bag made from rust cloth appears empty. Reaching inside the bag, however, reveals the presence of a small, fuzzy object.\nYou can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a creature you determine by rolling on the table that corresponds to the bag's color. See the Monster Manual for the creature's stat block. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\nThe creature is Friendly to you and your allies, and it acts immediately after you on your Initiative count. You can take a Bonus Action to command how the creature moves and what action it takes on its next turn, such as attacking an enemy. In the absence of such orders, the creature acts in a fashion appropriate to its nature.\nOnce three fuzzy objects have been pulled from the bag, the bag can't be used again until the next dawn.\n1 - Rat\n2 - Owl\n3 - Mastiff\n4 - Goat\n5 - Giant Goat\n6 - Giant Boar\n7 - Lion\n8 - Brown Bear"},"cS":{"Resource":1,"Action":2},"ch":[{"id":"c1","tp":"Resource","nm":"Bag of Tricks Pulls","rd":"Rust Bag of Tricks Resource","cp":"68140d02a193700012be8ef2","vl":3},{"id":"c2","tp":"Action","nm":"Bag of Tricks Command","rd":"Rust Bag of Tricks Bonus Action","cp":"68140d02a193700012be8ef2","dn":"You can take a Bonus Action to command how the creature from your Bag of Tricks moves and what action it takes on its next turn, such as attacking an enemy."},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Bag of Tricks Pull","rd":"Rust Bag of Tricks Action","cp":"68140d02a193700012be8ef2","dn":"You can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a Friendly random creature. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\n1 Rat\n2 Owl\n3 Mastiff\n4 Goat\n5 Giant Goat\n6 Giant Boar\n7 Lion\n8 Brown Bear"}]}},{"nm":"Scarab of Protection","blueprint":{"nm":"Scarab of Protection","item":{"tp":"Item","cp":"68140ddfa193700012be92c7","dn":"This beetle-shaped medallion provides three benefits while it is on your person.\nDefense. You gain a +1 bonus to Armor Class.\nPreservation. The scarab has 12 charges. If you fail a saving throw against a Necromancy spell or a harmful effect originating from an Undead, you can take a Reaction to expend 1 charge and turn the failed save into a successful one. The scarab crumbles into powder and is destroyed when its last charge is expended.\nSpell Resistance. You have Advantage on saving throws against spells.","eD":{"ee":true}},"cS":{"Am":1,"AC":1,"RB":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Scarab of Protection Attunement","cp":"68140ddfa193700012be92c7","an":false,"rE":true},{"id":"c1-c1","tp":"AC","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scarab of Protection AC Bonus","cp":"68140ddfa193700012be92c7","cl":"Modify","dA":false,"vl":{"fa":1}},{"id":"c1-c2","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scarab of Protection - Spell Resistance","cp":"68140ddfa193700012be92c7","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c1-c3","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Scarab of Protection","rd":"Scarab of Protection Charges","cp":"68140ddfa193700012be92c7","vl":12},{"id":"c1-c3-c1","tp":"Action","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Protection (Scarab of Protection)","rd":"Scarab Protection Reaction","cp":"68140ddfa193700012be92c7","dn":"If you fail a saving throw against a Necromancy spell or a harmful effect originating from an Undead, you can take a Reaction to expend 1 charge and turn the failed save into a successful one. "}]}},{"nm":"Sending Stones","blueprint":{"nm":"Sending Stones","item":{"tp":"Item","cp":"6744e48d95192d0012ba47ff","dn":"Sending Stones come in pairs, with each stone carved to match the other so the pairing is easily recognized. While you touch one stone, you can cast Sending from it. The target is the bearer of the other stone. If no creature bears the other stone, you know that fact as soon as you use the stone, and you don't cast the spell.\nOnce Sending is cast using either stone, the stones can't be used again until the next dawn. If one of the stones in a pair is destroyed, the other one becomes nonmagical."},"cS":{"Resource":1,"Spell":1},"ch":[{"id":"c1","tp":"Resource","nm":"Sending Stones","rd":"Sending Stones Resource","cp":"6744e48d95192d0012ba47ff","vl":1},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Sending","cp":"66e09023dc69af0030fa70f3","dn":"You send a short message of 25 words or fewer to a creature you have met or a creature described to you by someone who has met it. The target hears the message in its mind, recognizes you as the sender if it knows you, and can answer in a like manner immediately. The spell enables targets to understand the meaning of your message.\nYou can send the message across any distance and even to other planes of existence, but if the target is on a different plane than you, there is a 5 percent chance that the message doesn't arrive. You know if the delivery fails.\nUpon receiving your message, a creature can block your ability to reach it again with this spell for 8 hours. If you try to send another message during that time, you learn that you are blocked, and the spell fails."}]}},{"nm":"Serpent Venom","blueprint":{"nm":"Serpent Venom","item":{"tp":"Item","cp":"681529d6a193700012c12f4e","dn":"A creature subjected to Serpent Venom must succeed on a DC 11 Constitution saving throw, taking 10 (3d6) Poison damage on a failed save or half as much damage on a successful one."},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Serpent Venom","rd":"Serpent Venom Attack","cp":"681529d6a193700012c12f4e","aT":"Action","dn":"A creature subjected to Serpent Venom must succeed on a DC 11 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"3d6 Poison Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":11}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Serpent Venom Damage","cp":"681529d6a193700012c12f4e","ay":"none","dT":"Poison","die":"d6","ct":3,"oC":false}]}},{"nm":"Serpentine Owl","blueprint":{"nm":"Serpentine Owl","item":{"tp":"Item","cp":"68140e34350b5e00122cf51e","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine's description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn't enough space for the creature, the figurine doesn't become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can't be used again until a certain amount of time has passed, as specified in the figurine's description.\n\nSerpentine Owl (Rare). This serpentine statuette of an owl can become a Giant Owl for up to 8 hours.\n\nThe owl can communicate telepathically with you at any range if you and it are on the same plane of existence. Once it has been used, it can't be used again until 2 days have passed."},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Serpentine Owl Charges","rd":"Serpentine Owl Figurine of Wondrous Power Charges","cp":"68140e34350b5e00122cf51e","vl":1},{"id":"c2","tp":"Action","nm":"Transform Serpentine Owl","rd":"Serpentine Owl Figurine of Wondrous Power Transform Magic Action","cp":"68140e34350b5e00122cf51e","dn":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a Giant Owl for up to 8 hours.\n\nThe owl can communicate telepathically with you at any range if you and it are on the same plane of existence. Once it has been used, it can't be used again until 2 days have passed."}]}},{"nm":"Silver Horn of Valhalla","blueprint":{"nm":"Silver Horn of Valhalla","item":{"tp":"Item","cp":"68152988a193700012c11f87","dn":"You can take a Magic action to blow this horn. In response, warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points. The spirits look like living, breathing warriors, and they have Immunity to the Charmed and Frightened conditions. Once you use the horn, it can't be used again until 7 days have passed.\nThis horn summons 2 Spirits and there are no requirements to control them. The spirits are Friendly to you and your allies and follow your commands."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Blow Silver Horn of Valhalla","rd":"Silver Horn of Valhalla Action","cp":"68152988a193700012c11f87","dn":"You can take a Magic action to blow this horn. In response, two (2) warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points."}]}},{"nm":"Sling Bullet +1","blueprint":{"nm":"Sling Bullet +1","item":{"tp":"Item","cp":"6744e48995192d0012ba46f1","dn":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Sling Bullet +1","rd":"Sling Bullet +1 Effect","cp":"6744e48995192d0012ba46f1","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Sling Bullet +2","blueprint":{"nm":"Sling Bullet +2","item":{"tp":"Item","cp":"6744e48f95192d0012ba48c7","dn":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Sling Bullet +2","rd":"Sling Bullet +2 Effect","cp":"6744e48f95192d0012ba48c7","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Sling Bullet +3","blueprint":{"nm":"Sling Bullet +3","item":{"tp":"Item","cp":"6744e48795192d0012ba469c","dn":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical. This ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity."},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Sling Bullet +3","rd":"Sling Bullet +3 Effect","cp":"6744e48795192d0012ba469c","cy":"[\"Attack\",\"Damage\"]","dn":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","active":false}]}},{"nm":"Slippers of Spider Climbing","blueprint":{"nm":"Slippers of Spider Climbing","item":{"tp":"Item","cp":"6744e2f295192d0012b9e2db","dn":"While you wear these light shoes, you can move up, down, and across vertical surfaces and along ceilings, while leaving your hands free. You have a Climb Speed equal to your Speed. However, the slippers don't allow you to move this way on a slippery surface, such as one covered by ice or oil.","eD":{"ee":true}},"cS":{"Am":1,"sp":2},"ch":[{"id":"c1","tp":"Am","nm":"Slippers of Spider Climbing Attunement","cp":"6744e2f295192d0012b9e2db","an":false,"rE":true},{"id":"c1-c1","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Slippers of Spider Climbing Climb Speed 30","cp":"6744e2f295192d0012b9e2db","cl":"Set Value","se":"Climb","vl":{"fa":30}},{"id":"c1-c2","tp":"sp","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Slippers of Spider Climbing Climb Speed","cp":"6744e2f295192d0012b9e2db","cl":"Set Base","se":"Climb"}]}},{"nm":"Sovereign Glue","blueprint":{"nm":"Sovereign Glue","item":{"tp":"Item","cp":"68140f44c19cbf0012ac7f41","dn":"This viscous, milky-white substance can form a permanent adhesive bond between any two objects. It must be stored in a jar or flask that has been coated inside with Oil of Slipperiness. When found, a container contains 1d6 + 1 ounces.\nOne ounce of the glue can cover a 1-foot square surface. Applying an ounce of Sovereign Glue takes a Utilize action, and the applied glue takes 1 minute to set. Once it has done so, the bond it creates can be broken only by the application of Universal Solvent or Oil of Etherealness, or with a Wish spell."},"cS":{"Action":1,"Resource":1},"ch":[{"id":"c1","tp":"Action","nm":"Apply Sovereign Glue","rd":"Sovereign Glue Action","cp":"68140f44c19cbf0012ac7f41","dn":"Applying an ounce of Sovereign Glue takes a Utilize action, and the applied glue takes 1 minute to set."},{"id":"c2","tp":"Resource","nm":"Sovereign Glue (ounces)","rd":"Sovereign Glue Resource","cp":"68140f44c19cbf0012ac7f41","vl":7}]}},{"nm":"Sphere of Annihilation","blueprint":{"nm":"Sphere of Annihilation","item":{"tp":"Item","cp":"68140f1e01f94d0012a674eb","dn":"This 2-foot-diameter black sphere is a hole in the multiverse, hovering in space and stabilized by a magical field surrounding it.\nThe sphere obliterates all matter it passes through and all matter that passes through it. Artifacts are the exception. Unless an Artifact is susceptible to damage from a Sphere of Annihilation, it passes through the sphere unscathed. Anything else that touches the sphere but isn't wholly engulfed and obliterated by it takes 8d10 Force damage.\nControlling the Sphere. A Sphere of Annihilation is stationary until someone takes control of it. If you are within 60 feet of a sphere, you can take a Magic action to make a DC 25 Intelligence (Arcana) check. On a successful check, you control the sphere until the start of your next turn, and if it was under another creature's control, that creature loses control of the sphere. On a failed check, the sphere moves 10 feet toward you in a straight line.\nWhile in control of the sphere, you can take a Bonus Action to cause it to move in one direction of your choice, up to a number of feet equal to 5 times your Intelligence modifier (minimum 5 feet). Any creature whose space the sphere enters must succeed on a DC 19 Dexterity saving throw or be touched by it, taking 8d10 Force damage. A creature reduced to 0 Hit Points by this damage is obliterated, leaving its possessions behind but no other physical remains.\nSphere Interactions. If the sphere comes into contact with a planar portal (such as that created by the Gate spell) or an extradimensional space (such as that within a Portable Hole), the DM determines randomly what happens using the following table.\n1d100 Result\n01-50 The sphere is destroyed.\n51-85 The sphere moves through the portal or into the extradimensional space.\n86-00 A spatial rift sends the sphere and each creature and object within 180 feet of the sphere to a random plane of existence."},"cS":{"Ak":2,"Action":1,"Effect":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Sphere of Annihilation Damage","rd":"Sphere of Annihilation Object Attack","cp":"68140f1e01f94d0012a674eb","aT":"Free Action","dn":"Anything that touches the sphere but isn't wholly engulfed and obliterated by it takes 8d10 Force damage."},{"id":"c2","tp":"Action","nm":"Take Control of the Sphere of Annihilation","rd":"Take Control of the Sphere of Annihilation Action","cp":"68140f1e01f94d0012a674eb","dn":"If you are within 60 feet of a sphere, you can take a Magic action to make a DC 25 Intelligence (Arcana) check."},{"id":"c3","tp":"Effect","nm":"Controlling the Sphere of Annihilation","rd":"Controlling the Sphere of Annihilation Effect","cp":"68140f1e01f94d0012a674eb","cy":"[]","dn":"You control the sphere until the start of your next turn, and if it was under another creature's control, that creature loses control of the sphere.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Sphere of Annihilation Damage","cp":"68140f1e01f94d0012a674eb","ay":"none","dT":"Force","die":"d10","ct":8,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Sphere of Annihilation","rd":"Sphere of Annihilation Attack","cp":"68140f1e01f94d0012a674eb","aT":"Bonus Action","dn":"While in control of the sphere, you can take a Bonus Action to cause it to move in one direction of your choice, up to a number of feet equal to 5 times your Intelligence modifier (minimum 5 feet). Any creature whose space the sphere enters must succeed on a DC 19 Dexterity saving throw or be touched by it.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature takes 8d10 Force damage. A creature reduced to 0 Hit Points by this damage is obliterated, leaving its possessions behind but no other physical remains.","saveAbility":"Dexterity","saveFlat":19}}]}},{"nm":"Stone of Controlling Earth Elementals","blueprint":{"nm":"Stone of Controlling Earth Elementals","item":{"tp":"Item","cp":"68152934a193700012c10ec3","dn":"While touching this 5-pound stone to the ground, you can take a Magic action to summon an Earth Elemental. The elemental appears in an unoccupied space you choose within 30 feet of yourself, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The stone can't be used this way again until the next dawn.","wt":5},"cS":{"Resource":1,"Action":2,"Effect":1},"ch":[{"id":"c1","tp":"Resource","nm":"Summon Earth Elemental","rd":"Summon Earth Elemental Resource","cp":"68152934a193700012c10ec3","vl":1},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Summon Earth Elemental","rd":"Summon Earth Elemental Action","cp":"68152934a193700012c10ec3","dn":"While touching the Stone of Controlling Earth Elementals to the ground, you can take a Magic action to summon an Earth Elemental."},{"id":"c1-c1-c1","tp":"Effect","pt":"c1-c1","nm":"Summoned Earth Elemental","rd":"Summoned Earth Elemental Effect","cp":"68152934a193700012c10ec3","cy":"[]","dn":"The elemental appears in an unoccupied space you choose within 30 feet of yourself, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action.","active":false},{"id":"c1-c1-c1-c1","tp":"Action","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]}],"nm":"Dismiss Earth Elemental","rd":"Dismiss Earth Elemental Bonus Action","cp":"68152934a193700012c10ec3","dn":"The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."}]}},{"nm":"Stone of Good Luck (Luckstone)","blueprint":{"nm":"Stone of Good Luck (Luckstone)","item":{"tp":"Item","cp":"6744e37e95192d0012ba0186","dn":"While this polished agate is on your person, you gain a +1 bonus to ability checks and saving throws.","eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Stone of Good Luck (Luckstone) Attunement","cp":"6744e37e95192d0012ba0186","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Stone of Good Luck Roll Bonus","cp":"6744e37e95192d0012ba0186","bC":"[\"Ability Checks\",\"Saving Throws\"]","bD":"Modifier","bN":"[]","bV":1,"dC":1,"tR":false}]}},{"nm":"Sun Blade","blueprint":{"nm":"Sun Blade","item":{"tp":"Item","cp":"6814223ed8a77f0013b69c50","dn":"This item appears to be a sword hilt.\nBlade of Radiance. While grasping the hilt, you can take a Bonus Action to cause a blade of pure radiance to spring into existence or make the blade disappear. While the blade exists, this magic weapon functions as a Longsword with the Finesse property. If you are proficient with Longswords or Shortswords, you are proficient with the Sun Blade.\nYou gain a +2 bonus to attack rolls and damage rolls made with this weapon, which deals Radiant damage instead of Slashing damage. When you hit an Undead with it, that target takes an extra 1d8 Radiant damage.\nSunlight. The sword's luminous blade emits Bright Light in a 15-foot radius and Dim Light for an additional 15 feet. The light is sunlight. While the blade persists, you can take a Magic action to expand or reduce its radius of Bright Light and Dim Light by 5 feet each, to a maximum of 30 feet each or a minimum of 10 feet each.","wt":3,"ps":["Finesse","Versatile"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Martial","tp":"Longsword"}},"cS":{"Am":1,"Effect":1,"Ak":3,"Action":1,"dm":3},"ch":[{"id":"c1","tp":"Am","nm":"Sun Blade Attunement","cp":"6814223ed8a77f0013b69c50","an":false,"rE":true},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade (vs Undead)","rd":"Sun Blade Effect - Damage","cp":"6814223ed8a77f0013b69c50","cy":"[\"Damage\"]","dn":"When you hit an Undead with it, that target takes an extra 1d8 Radiant damage.","diceValue":"1d8","active":false},{"id":"c1-c2","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade","rd":"Sun Blade Attack","cp":"6814223ed8a77f0013b69c50","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this weapon, which deals Radiant damage instead of Radiant damage.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you hit an Undead with this weapon, that target takes an extra 1d8 Radiant damage."},{"id":"c1-c3","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade (Two-handed)","rd":"Sun Blade Attack (Two-handed)","cp":"6814223ed8a77f0013b69c50","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this weapon, which deals Radiant damage instead of Radiant damage.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you hit an Undead with this weapon, that target takes an extra 1d8 Radiant damage."},{"id":"c1-c4","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Turn Blade of Radiance On or Off","rd":"Sun Blade Bonus Action","cp":"6814223ed8a77f0013b69c50","dn":"While grasping the hilt, you can take a Bonus Action to cause a blade of pure radiance to spring into existence or make the blade disappear."},{"id":"c1-c5","tp":"Ak","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade (Finesse)","rd":"Sun Blade Attack (Finesse)","cp":"6814223ed8a77f0013b69c50","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this weapon, which deals Radiant damage instead of Radiant damage.","ak":{"aB":"Dexterity","bo":2,"tp":"Melee"},"onHit":"When you hit an Undead with this weapon, that target takes an extra 1d8 Radiant damage."},{"id":"c1-c2-c1","tp":"dm","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade Damage","cp":"6814223ed8a77f0013b69c50","ay":"auto","dT":"Radiant","die":"d8","bo":2,"ct":1,"oC":false},{"id":"c1-c3-c1","tp":"dm","pt":"c1-c3","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade Damage (Two-handed)","cp":"6814223ed8a77f0013b69c50","ay":"auto","dT":"Radiant","die":"d10","bo":2,"ct":1,"oC":false},{"id":"c1-c5-c1","tp":"dm","pt":"c1-c5","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Sun Blade Damage (Finesse)","cp":"6814223ed8a77f0013b69c50","ay":"auto","dT":"Radiant","die":"d8","bo":2,"ct":1,"oC":false}]}},{"nm":"Talisman of Pure Good","blueprint":{"nm":"Talisman of Pure Good","item":{"tp":"Item","cp":"681529f4a193700012c134ac","dn":"Requires Attunement by a Cleric or Paladin.\n\nThis talisman is a mighty symbol of goodness. A Fiend or an Undead that touches the talisman takes 8d6 Radiant damage and takes the damage again each time it ends its turn holding or carrying the talisman.\nHoly Symbol. You can use the talisman as a Holy Symbol. You gain a +2 bonus to spell attack rolls while you wear or hold it.\nPure Rebuke. The talisman has 7 charges. While wearing or holding the talisman, you can take a Magic action to expend 1 charge and target one creature you can see on the ground within 120 feet of yourself. A flaming fissure opens under the target, and the target makes a DC 20 Dexterity saving throw. If the target is a Fiend or an Undead, it has Disadvantage on the save. On a failed save, the target falls into the fissure and is destroyed, leaving no remains. On a successful save, the target isn't cast into the fissure but takes 4d6 Psychic damage from the ordeal. In either case, the fissure then closes, leaving no trace of its existence. When you expend the last charge, the talisman disperses into motes of golden light and is destroyed.","eD":{"ee":true}},"cS":{"Am":1,"Ak":2,"RB":1,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Talisman of Pure Good Attunement","cp":"681529f4a193700012c134ac","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Fiend or Undead Touch the Talisman of Pure Good","rd":"Talisman of Pure Good Fiend or Undead Attack","cp":"681529f4a193700012c134ac","aT":"Free Action","dn":"A Fiend or an Undead that touches the talisman takes 8d6 Radiant damage and takes the damage again each time it ends its turn holding or carrying the talisman."},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of Pure Good Spell Attack Bonus","cp":"681529f4a193700012c134ac","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":2,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of Pure Good Charges","rd":"Talisman of Pure Good Resource","cp":"681529f4a193700012c134ac","vl":7},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Talisman of Pure Good Fiend or Undead Damage","cp":"681529f4a193700012c134ac","ay":"none","dT":"Radiant","die":"d6","ct":8,"oC":false},{"id":"c1-c2-c1","tp":"Ak","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Pure Rebuke (Talisman of Pure Good)","rd":"Talisman of Pure Good Pure Rebuke Attack","cp":"681529f4a193700012c134ac","aT":"Action","rg":"120 feet","dn":"While wearing or holding the talisman, you can take a Magic action to expend 1 charge and target one creature you can see on the ground within 120 feet of yourself. A flaming fissure opens under the target, and the target makes a DC 20 Dexterity saving throw. If the target is a Fiend or an Undead, it has Disadvantage on the save.","ak":{"tp":"Attack Save"},"save":{"onFail":"The target falls into the fissure and is destroyed, leaving no remains.","onSucceed":"The target isn't cast into the fissure but takes 4d6 Psychic damage from the ordeal.","saveAbility":"Dexterity","saveFlat":20}},{"id":"c1-c2-c1-c1","tp":"dm","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of Pure Good Damage","cp":"681529f4a193700012c134ac","ay":"none","dT":"Psychic","die":"d6","ct":4,"oC":false}]}},{"nm":"Talisman of the Sphere","blueprint":{"nm":"Talisman of the Sphere","item":{"tp":"Item","cp":"6814228ba009ba0012a41a30","dn":"While holding or wearing this talisman, you have Advantage on any Intelligence (Arcana) check you make to control a Sphere of Annihilation. In addition, when you start your turn in control of a Sphere of Annihilation, you can take a Magic action to move it 10 feet plus a number of additional feet equal to 10 times your Intelligence modifier. This movement doesn't have to be in a straight line.","eD":{"ee":true}},"cS":{"Am":1,"RB":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Talisman of the Sphere Attunement","cp":"6814228ba009ba0012a41a30","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of the Sphere Advantage","cp":"6814228ba009ba0012a41a30","bC":"[\"Skills\"]","bD":"Keep Highest","bN":"[\"Arcana\"]","bV":1,"dC":2,"tR":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Move Sphere of Annihiliation","rd":"Talisman of the Sphere Action","cp":"6814228ba009ba0012a41a30","dn":"When you start your turn in control of a Sphere of Annihilation, you can take a Magic action to move it 10 feet plus a number of additional feet equal to 10 times your Intelligence modifier. This movement doesn't have to be in a straight line."}]}},{"nm":"Talisman of Ultimate Evil","blueprint":{"nm":"Talisman of Ultimate Evil","item":{"tp":"Item","cp":"68142285d8a77f0013b69d67","dn":"This item symbolizes unrepentant evil. A creature that isn't a Fiend or an Undead that touches the talisman takes 8d6 Necrotic damage and takes the damage again each time it ends its turn holding or carrying the talisman.\nHoly Symbol. You can use the talisman as a Holy Symbol. You gain a +2 bonus to spell attack rolls while you wear or hold it.\nUltimate End. The talisman has 6 charges. While wearing or holding the talisman, you can take a Magic action to expend 1 charge and target one creature you can see on the ground within 120 feet of yourself. A flaming fissure opens under the target, and the target makes a DC 20 Dexterity saving throw. If the target is a Celestial, it has Disadvantage on the save. On a failed save, the target falls into the fissure and is destroyed, leaving no remains. On a successful save, the target isn't cast into the fissure but takes 4d6 Psychic damage from the ordeal. In either case, the fissure then closes, leaving no trace of its existence. When you expend the last charge, the talisman dissolves into foul-smelling slime and is destroyed.","eD":{"ee":true}},"cS":{"Am":1,"Ak":2,"RB":1,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Talisman of Ultimate Evil Attunement","cp":"68142285d8a77f0013b69d67","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Non-Fiend or Undead Touch the Talisman of Ultimate Evil","rd":"Talisman of Ultimate Evil Non-Fiend or Undead Attack","cp":"68142285d8a77f0013b69d67","aT":"Free Action","dn":"A creature that isn't a Fiend or an Undead that touches the talisman takes 8d6 Necrotic damage and takes the damage again each time it ends its turn holding or carrying the talisman."},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of Ultimate Evil Spell Attack Bonus","cp":"68142285d8a77f0013b69d67","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":2,"dC":1,"tR":false},{"id":"c1-c2","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of Ultimate Evil Charges","rd":"Talisman of Ultimate Evil Resource","cp":"68142285d8a77f0013b69d67","vl":6},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Talisman of Ultimate Evil Non-Fiend or Undead Damage","cp":"68142285d8a77f0013b69d67","ay":"none","dT":"Necrotic","die":"d6","ct":8,"oC":false},{"id":"c1-c2-c1","tp":"Ak","pt":"c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Ultimate End (Talisman of Ultimate Evil)","rd":"Talisman of Ultimate Evil Attack Save","cp":"68142285d8a77f0013b69d67","aT":"Action","rg":"120 feet","dn":"While wearing or holding the talisman, you can take a Magic action to expend 1 charge and target one creature you can see on the ground within 120 feet of yourself. A flaming fissure opens under the target, and the target makes a DC 20 Dexterity saving throw. If the target is a Celestial, it has Disadvantage on the save.","ak":{"tp":"Attack Save"},"save":{"onFail":"The target falls into the fissure and is destroyed, leaving no remains.","onSucceed":"The target isn't cast into the fissure but takes 4d6 Psychic damage from the ordeal.","saveAbility":"Dexterity","saveFlat":20}},{"id":"c1-c2-c1-c1","tp":"dm","pt":"c1-c2-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Talisman of Ultimate Evil Damage","cp":"68142285d8a77f0013b69d67","ay":"none","dT":"Psychic","die":"d6","ct":4,"oC":false}]}},{"nm":"Tan Bag of Tricks","blueprint":{"nm":"Tan Bag of Tricks","item":{"tp":"Item","cp":"68142279d8a77f0013b69cfb","dn":"This bag made from tan cloth appears empty. Reaching inside the bag, however, reveals the presence of a small, fuzzy object.\nYou can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a creature you determine by rolling on the table that corresponds to the bag's color. See the Monster Manual for the creature's stat block. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\nThe creature is Friendly to you and your allies, and it acts immediately after you on your Initiative count. You can take a Bonus Action to command how the creature moves and what action it takes on its next turn, such as attacking an enemy. In the absence of such orders, the creature acts in a fashion appropriate to its nature.\nOnce three fuzzy objects have been pulled from the bag, the bag can't be used again until the next dawn.\n1 - Jackal\n2 - Ape\n3 - Baboon\n4 - Axe Beak\n5 - Black Bear\n6 - Giant Weasel\n7 - Giant Hyena\n8 - Tiger"},"cS":{"Resource":1,"Action":2},"ch":[{"id":"c1","tp":"Resource","nm":"Bag of Tricks Pulls","rd":"Tan Bag of Tricks Resource","cp":"68142279d8a77f0013b69cfb","vl":3},{"id":"c2","tp":"Action","nm":"Bag of Tricks Command","rd":"Tan Bag of Tricks Bonus Action","cp":"68142279d8a77f0013b69cfb","dn":"You can take a Bonus Action to command how the creature from your Bag of Tricks moves and what action it takes on its next turn, such as attacking an enemy."},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Bag of Tricks Pull","rd":"Tan Bag of Tricks Action","cp":"68142279d8a77f0013b69cfb","dn":"You can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a Friendly random creature. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\n1 Jackal\n2 Ape\n3 Baboon\n4 Axe Beak\n5 Black Bear\n6 Giant Weasel\n7 Giant Hyena\n8 Tiger"}]}},{"nm":"Tinderbox","blueprint":{"nm":"Tinderbox","item":{"tp":"Item","cp":"6815295ea193700012c11754","dn":"A Tinderbox is a small container holding flint, fire steel, and tinder (usually dry cloth soaked in light oil) used to kindle a fire. Using it to light a Candle, Lamp, Lantern, or Torch-or anything else with exposed fuel-takes a Bonus Action. Lighting any other fire takes 1 minute.","wt":1},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Tinderbox","rd":"Tinderbox Light Bonus Action","cp":"6815295ea193700012c11754","dn":"Using the tinderbox to light a Candle, Lamp, Lantern, or Torch-or anything else with exposed fuel-takes a Bonus Action."}]}},{"nm":"Torch","blueprint":{"nm":"Torch","item":{"tp":"Item","cp":"6815295ea193700012c11765","dn":"A Torch burns for 1 hour, casting Bright Light in a 20-foot radius and Dim Light for an additional 20 feet. When you take the Attack action, you can attack with the Torch, using it as a Simple Melee weapon. On a hit, the target takes 1 Fire damage.","wt":1,"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Torch"}},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Torch","rd":"Torch Attack","cp":"6815295ea193700012c11765","aT":"Action","dn":"When you take the Attack action, you can attack with the Torch, using it as a Simple Melee weapon.","ak":{"aB":"Strength","tp":"Melee"},"onHit":"On a hit, the target takes 1 Fire damage."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Torch Damage","cp":"6815295ea193700012c11765","ay":"none","dT":"Fire","bo":1,"oC":false}]}},{"nm":"Torpor","blueprint":{"nm":"Torpor","item":{"tp":"Item","cp":"68152a08a193700012c13911","dn":"A creature subjected to Torpor poison must succeed on a DC 15 Constitution saving throw or have the Poisoned condition for 4d6 hours. The creature's Speed is halved while the creature is Poisoned in this way."},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Torpor","rd":"Torpor Attack","cp":"68152a08a193700012c13911","aT":"Action","dn":"A creature subjected to Torpor poison must succeed on a DC 15 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"4d6 Poison Damage, Poisoned, & Speed Halved","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Truth Serum","blueprint":{"nm":"Truth Serum","item":{"tp":"Item","cp":"68152944a193700012c111e4","dn":"A creature subjected to Truth Serum must succeed on a DC 11 Constitution saving throw or have the Poisoned condition for 1 hour. The Poisoned creature can't knowingly communicate a lie."},"cS":{"Ak":1},"ch":[{"id":"c1","tp":"Ak","nm":"Truth Serum","rd":"Truth Serum Attack","cp":"68152944a193700012c111e4","aT":"Action","dn":"A creature subjected to Truth Serum must succeed on a DC 11 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"Poisoned & Unable to Lie","saveAbility":"Constitution","saveFlat":11}}]}},{"nm":"Universal Solvent","blueprint":{"nm":"Universal Solvent","item":{"tp":"Item","cp":"681422cbaa185e0012552035","dn":"This tube holds milky liquid with a strong alcohol smell. When found, a tube contains 1d6 + 1 ounces.\nYou can take a Utilize action to pour 1 or more ounces of solvent from the tube onto a surface within reach. Each ounce instantly dissolves up to 1 square foot of adhesive it touches, including Sovereign Glue."},"cS":{"Resource":1},"ch":[{"id":"c1","tp":"Resource","nm":"Universal Solvent","rd":"Universal Solvent Resource","cp":"681422cbaa185e0012552035","vl":7}]}},{"nm":"Well of Many Worlds","blueprint":{"nm":"Well of Many Worlds","item":{"tp":"Item","cp":"68152937a193700012c10f5e","dn":"This fine black cloth, soft as silk, is folded up to the dimensions of a handkerchief. It unfolds into a circular sheet 6 feet in diameter.\nYou can take a Magic action to unfold the Well of Many Worlds and place it on a solid surface, whereupon it forms a two-way, 6-foot-diameter, circular portal to another world or plane of existence. Each time the item opens a portal, the DM decides where it leads. The portal remains open until a creature within 5 feet of it takes a Magic action to close it by taking hold of the edges of the cloth and folding it up.\nOnce the Well of Many Worlds has opened a portal, it can't do so again for 1d8 hours."},"cS":{"Action":1},"ch":[{"id":"c1","tp":"Action","nm":"Open or Close Well of Many Worlds","rd":"Well of Many Worlds Action","cp":"68152937a193700012c10f5e","dn":"You can take a Magic action to unfold the Well of Many Worlds and place it on a solid surface, whereupon it forms a two-way, 6-foot-diameter, circular portal to another world or plane of existence. The portal remains open until a creature within 5 feet of it takes a Magic action to close it by taking hold of the edges of the cloth and folding it up."}]}},{"nm":"Wind Fan","blueprint":{"nm":"Wind Fan","item":{"tp":"Item","cp":"681425dcd8a77f0013b6ac85","dn":"While holding this fan, you can cast Gust of Wind (save DC 13) from it. Each subsequent time the fan is used before the next dawn, it has a cumulative 20 percent chance of not working; if the fan fails to work, it tears into useless, nonmagical tatters."},"cS":{"Spell":1,"Ak":1,"Condition":1,"Action":1},"ch":[{"id":"c1","tp":"Spell","nm":"Gust of Wind","cp":"66e08fcddc69af0030fa5c9a","dn":"A Line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the duration. Each creature in the Line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the Line. A creature that ends its turn in the Line must make the same save.\nAny creature in the Line must spend 2 feet of movement for every 1 foot it moves when moving closer to you.\nThe gust disperses gas or vapor, and it extinguishes candles and similar unprotected flames in the area. It causes protected flames, such as those of lanterns, to dance wildly and has a 50 percent chance to extinguish them.\nAs a Bonus Action on your later turns, you can change the direction in which the Line blasts from you."},{"id":"c1-c1","tp":"Ak","pt":"c1","nm":"Gust of Wind","rd":"Gust of Wind Attack","cp":"66e08fcddc69af0030fa5c9a","aT":"Action","ak":{"tp":"Spell Save"},"save":{"onFail":"pushed 15 feet away from you in a direction following the Line.","saveAbility":"Strength"},"onHit":"A Line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the duration. Each creature in the Line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the Line."},{"id":"c1-c2","tp":"Condition","pt":"c1","nm":"Gust of Wind","rd":"Gust of Wind Condition","cp":"66e08fcddc69af0030fa5c9a","dn":"A Line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the duration. Each creature in the Line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the Line. A creature that ends its turn in the Line must make the same save."},{"id":"c1-c2-c1","tp":"Action","pt":"c1-c2","cascades":[{"ref":"c1-c2","actions":["Activate"]}],"nm":"Gust of Wind","rd":"Gust of Wind Bonus Action","cp":"66e08fcddc69af0030fa5c9a","dn":"As a Bonus Action on your later turns, you can change the direction in which the Line blasts from you."}]}},{"nm":"Winged Boots","blueprint":{"nm":"Winged Boots","item":{"tp":"Item","cp":"6744e2f695192d0012b9e3d0","dn":"These boots have 4 charges and regain 1d4 expended charges daily at dawn. While wearing the boots, you can take a Magic action to expend 1 charge, gaining a Fly Speed of 30 feet for 1 hour. If you are flying when the duration expires, you descend at a rate of 30 feet per round until you land.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1,"Effect":1,"sp":1},"ch":[{"id":"c1","tp":"Am","nm":"Winged Boots Attunement","cp":"6744e2f695192d0012b9e3d0","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Winged Boots Charges","rd":"Winged Boots Resources","cp":"6744e2f695192d0012b9e3d0","vl":4},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Gain Fly Speed","rd":"Winged Boots Action","cp":"6744e2f695192d0012b9e3d0","dn":"While wearing the boots, you can take a Magic action to expend 1 charge, gaining a Fly Speed of 30 feet for 1 hour. If you are flying when the duration expires, you descend at a rate of 30 feet per round until you land."},{"id":"c1-c1-c2","tp":"Effect","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Winged Boots Fly","rd":"Winged Boots Effect","cp":"6744e2f695192d0012b9e3d0","cy":"[]","dn":"Gaining a Fly Speed of 30 feet for 1 hour. If you are flying when the duration expires, you descend at a rate of 30 feet per round until you land.","active":false},{"id":"c1-c1-c2-c1","tp":"sp","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]},{"ref":"c1-c1-c2","actions":["Activate"]}],"nm":"Winged Boots Fly Speed","cp":"6744e2f695192d0012b9e3d0","cl":"Set Base","se":"Fly","vl":{"fa":30}}]}},{"nm":"Wings of Flying","blueprint":{"nm":"Wings of Flying","item":{"tp":"Item","cp":"681425d3d8a77f0013b6ac36","dn":"While wearing this cloak, you can take a Magic action to turn the cloak into a pair of wings on your back. The wings lasts for 1 hour or until you end the effect early as a Magic action. The wings give you a Fly Speed of 60 feet. If you are aloft when the wings disappear, you fall. When the wings disappear, you can't use them again for 1d12 hours.","eD":{"ee":true}},"cS":{"Am":1,"Action":1,"Effect":1,"sp":1},"ch":[{"id":"c1","tp":"Am","nm":"Wings of Flying Attunement","cp":"681425d3d8a77f0013b6ac36","an":false,"rE":true},{"id":"c1-c1","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Start or End Flying with Wings","rd":"Wings of Flying Action","cp":"681425d3d8a77f0013b6ac36","dn":"While wearing this cloak, you can take a Magic action to turn the cloak into a pair of wings on your back. The wings lasts for 1 hour or until you end the effect early as a Magic action."},{"id":"c1-c2","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wings of Flying","rd":"Wings of Flying Effect","cp":"681425d3d8a77f0013b6ac36","cy":"[]","dn":"The wings lasts for 1 hour or until you end the effect early as a Magic action. The wings give you a Fly Speed of 60 feet. If you are aloft when the wings disappear, you fall.","active":false},{"id":"c1-c2-c1","tp":"sp","pt":"c1-c2","cascades":[{"ref":"c1-c2","actions":["Activate"]},{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wings of Flying Fly Speed","cp":"681425d3d8a77f0013b6ac36","cl":"Set Base","se":"Fly","vl":{"fa":60}}]}},{"nm":"Wraps of Unarmed Power +1","blueprint":{"nm":"Wraps of Unarmed Power +1","item":{"tp":"Item","cp":"681529f9a193700012c135ad","dn":"While wearing these wraps, you have a bonus to attack rolls and damage rolls made with your Unarmed Strikes. The bonus is determined by the wraps' rarity, and those strikes deal your choice of Force damage or their normal damage type.","eD":{"ee":true}},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Wraps of Unarmed Power","rd":"Wraps of Unarmed Power +1 Unarmed Bonus","cp":"681529f9a193700012c135ad","cy":"[\"Attack\",\"Damage\"]","dn":"While wearing these wraps, you have a bonus to attack rolls and damage rolls made with your Unarmed Strikes.","active":false}]}},{"nm":"Wraps of Unarmed Power +2","blueprint":{"nm":"Wraps of Unarmed Power +2","item":{"tp":"Item","cp":"68152959a193700012c11648","dn":"While wearing these wraps, you have a bonus to attack rolls and damage rolls made with your Unarmed Strikes. The bonus is determined by the wraps' rarity, and those strikes deal your choice of Force damage or their normal damage type.","eD":{"ee":true}},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Wraps of Unarmed Power","rd":"Wraps of Unarmed Power +2 Unarmed Bonus","cp":"68152959a193700012c11648","cy":"[\"Attack\",\"Damage\"]","dn":"While wearing these wraps, you have a bonus to attack rolls and damage rolls made with your Unarmed Strikes.","active":false}]}},{"nm":"Wraps of Unarmed Power +3","blueprint":{"nm":"Wraps of Unarmed Power +3","item":{"tp":"Item","cp":"6815294ca193700012c113c4","dn":"While wearing these wraps, you have a bonus to attack rolls and damage rolls made with your Unarmed Strikes. The bonus is determined by the wraps' rarity, and those strikes deal your choice of Force damage or their normal damage type.","eD":{"ee":true}},"cS":{"Effect":1},"ch":[{"id":"c1","tp":"Effect","nm":"Wraps of Unarmed Power","rd":"Wraps of Unarmed Power +3 Unarmed Bonus","cp":"6815294ca193700012c113c4","cy":"[\"Attack\",\"Damage\"]","dn":"While wearing these wraps, you have a bonus to attack rolls and damage rolls made with your Unarmed Strikes.","active":false}]}},{"nm":"Wyvern Poison","blueprint":{"nm":"Wyvern Poison","item":{"tp":"Item","cp":"6815291aa193700012c109b4","dn":"A creature subjected to Wyvern Poison makes a DC 14 Constitution saving throw, taking 24 (7d6) Poison damage on a failed save or half as much damage on a successful one."},"cS":{"Ak":1,"dm":1},"ch":[{"id":"c1","tp":"Ak","nm":"Wyvern Poison","rd":"Wyvern Poison Attack","cp":"6815291aa193700012c109b4","aT":"Action","dn":"A creature subjected to Wyvern Poison makes a DC 14 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"7d6 Poison Damage","onSucceed":"Half Damage","saveAbility":"Constitution","saveFlat":14}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Wyvern Poison Damage","cp":"6815291aa193700012c109b4","ay":"none","dT":"Poison","die":"d6","ct":7,"oC":false}]}},{"nm":"Yellow Diamond Elemental Gem","blueprint":{"nm":"Yellow Diamond Elemental Gem","item":{"tp":"Item","cp":"6813f91e769a630012651c76","dn":"This gem contains a mote of elemental energy.When you take a Utilize action to break the gem, an Earth Elemental is summoned (see the Monster Manual for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},"cS":{"Action":2},"ch":[{"id":"c1","tp":"Action","nm":"Break Yellow Diamond Elemental Gem","rd":"Break Yellow Diamond Elemental Gem Action","cp":"6813f91e769a630012651c76","dn":"When you take a Utilize action to break the gem, an Earth Elemental is summoned (see the Monster Manual for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action."},{"id":"c2","tp":"Action","nm":"Dismiss Earth Elemental","rd":"Yellow Diamond Elemental Gem Dismiss Earth Elemental Bonus Action","cp":"6813f91e769a630012651c76","dn":"As a Bonus Action, you can dismiss the elemental."}]}},{"nm":"Defender Javelin","blueprint":{"nm":"Defender Javelin","item":{"tp":"Item","cp":"681529eda193700012c132fc","dn":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Am":1,"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Defender Javelin Attunement","cp":"681529eda193700012c132fc","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Defender Javelin","rd":"Defender Javelin Attack","cp":"681529eda193700012c132fc","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c3","tp":"Ak","nm":"Defender Javelin (Thrown)","rd":"Defender Javelin Attack (Thrown)","cp":"681529eda193700012c132fc","aT":"Action","rg":"30/120","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"The first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon's bonus to your Armor Class."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Defender Javelin Damage","cp":"681529eda193700012c132fc","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Defender Javelin Damage (Thrown)","cp":"681529eda193700012c132fc","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Dragon Slayer Javelin","blueprint":{"nm":"Dragon Slayer Javelin","item":{"tp":"Item","cp":"6815291ba193700012c109d4","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":2,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Dragon Slayer Javelin","rd":"Dragon Slayer Javelin Attack","cp":"6815291ba193700012c109d4","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c2","tp":"Ak","nm":"Dragon Slayer Javelin (Thrown)","rd":"Dragon Slayer Javelin Attack (Thrown)","cp":"6815291ba193700012c109d4","aT":"Action","rg":"30/120","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"The weapon deals an extra 3d6 damage of the weapon's type if the target is a Dragon"},{"id":"c3","tp":"Effect","nm":"Dragon Slayer","rd":"Dragon Slayer Javelin Extra Damage","cp":"6815291ba193700012c109d4","cy":"[\"Damage\"]","dn":"Dragon Slayer deals an extra 3d6 damage of the weapon's type if the target is a Dragon","diceValue":"3d6","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Dragon Slayer Javelin Damage","cp":"6815291ba193700012c109d4","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Dragon Slayer Javelin Damage (Thrown)","cp":"6815291ba193700012c109d4","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Flame Tongue Javelin","blueprint":{"nm":"Flame Tongue Javelin","item":{"tp":"Item","cp":"6744e43395192d0012ba306f","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Action":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Flame Tongue Javelin Attunement","cp":"6744e43395192d0012ba306f","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Flame Tongue Javelin","rd":"Flame Tongue Javelin Attack","cp":"6744e43395192d0012ba306f","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Flame Tongue Javelin (Thrown)","rd":"Flame Tongue Javelin Attack (Thrown)","cp":"6744e43395192d0012ba306f","aT":"Action","rg":"30/120","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Javelin","rd":"Flame Tongue Bonus Damage Effect","cp":"6744e43395192d0012ba306f","cy":"[\"Damage\"]","dn":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","diceValue":"2d6","active":false},{"id":"c1-c2","tp":"Action","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Flame Tongue Javelin On or Off","rd":"Flame Tongue Javelin Bonus Action","cp":"6744e43395192d0012ba306f","dn":"You can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon or to put out the flames."},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Flame Tongue Javelin Damage","cp":"6744e43395192d0012ba306f","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Flame Tongue Javelin Damage (Thrown)","cp":"6744e43395192d0012ba306f","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Giant Slayer Javelin","blueprint":{"nm":"Giant Slayer Javelin","item":{"tp":"Item","cp":"6744e41a95192d0012ba2a01","dn":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":3,"Effect":1,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Giant Slayer Javelin","rd":"Giant Slayer Javelin Attack","cp":"6744e41a95192d0012ba2a01","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c2","tp":"Ak","nm":"Giant Slayer Javelin (Thrown)","rd":"Giant Slayer Javelin Attack (Thrown)","cp":"6744e41a95192d0012ba2a01","aT":"Action","rg":"30/120","ak":{"aB":"Strength","bo":1,"tp":"Ranged"},"onHit":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition."},{"id":"c3","tp":"Effect","nm":"Giant Slayer Javelin","rd":"Giant Slayer Javelin Giant Damage Effect","cp":"6744e41a95192d0012ba2a01","cy":"[\"Damage\"]","dn":"When you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon's type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","diceValue":"2d6","situation":"Against a Giant.","active":false},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Giant Slayer Javelin Damage","cp":"6744e41a95192d0012ba2a01","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Giant Slayer Javelin Damage (Thrown)","cp":"6744e41a95192d0012ba2a01","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","cascades":[{"ref":"c3","actions":["Activate"]}],"nm":"Giant Slayer Saving Throw","rd":"Giant Slayer Javelin Knock Prone","cp":"6744e41a95192d0012ba2a01","aT":"Action","dn":"When you hit a Giant with this weapon, the Giant must make a DC 15 Strength saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The Giant has the Prone condition.","saveAbility":"Strength","saveFlat":15}}]}},{"nm":"Holy Avenger Javelin","blueprint":{"nm":"Holy Avenger Javelin","item":{"tp":"Item","cp":"681529c0a193700012c12acd","dn":"Requires Attunement by a Paladin\nYou gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Am":1,"Ak":2,"Effect":1,"Defense":1,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Holy Avenger Javelin Attunement","cp":"681529c0a193700012c12acd","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Holy Avenger Javelin","rd":"Holy Avenger Javelin Attack","cp":"681529c0a193700012c12acd","aT":"Action","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Melee"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c3","tp":"Ak","nm":"Holy Avenger Javelin (Thrown)","rd":"Holy Avenger Javelin Attack (Thrown)","cp":"681529c0a193700012c12acd","aT":"Action","rg":"30/120","dn":"You gain a +3 bonus to attack rolls and damage rolls made with the Holy Avenger.","ak":{"aB":"Strength","bo":3,"tp":"Ranged"},"onHit":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage."},{"id":"c1-c1","tp":"Effect","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger (vs Fiend/Undead)","rd":"Holy Avenger Javelin Effect - Damage","cp":"681529c0a193700012c12acd","cy":"[\"Damage\"]","dn":"When you hit a Fiend or an Undead with the Holy Avenger, that creature takes an extra 2d10 Radiant damage.","diceValue":"2d10","active":false},{"id":"c1-c2","tp":"Defense","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Javelin Defense","cp":"681529c0a193700012c12acd","defense":"Resistance","details":"Holy Avenger Aura- While drawn, Advantage on saving throws against spells and other magical effects."},{"id":"c1-c3","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Holy Avenger Javelin Spell Saving Throw Advantage","cp":"681529c0a193700012c12acd","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Holy Avenger Javelin Damage","cp":"681529c0a193700012c12acd","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Holy Avenger Javelin Damage (Thrown)","cp":"681529c0a193700012c12acd","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Javelin","blueprint":{"nm":"Javelin","item":{"tp":"Item","cp":"67a659a0db873a00127f9279","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Javelin","rd":"Javelin Attack","cp":"67a659a0db873a00127f9279","aT":"Action","rg":"30/120 ft.","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Throw Javelin","cp":"67a659a0db873a00127f9279","aT":"Action","rg":"30/120 ft.","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Javelin Damage","cp":"67a659a0db873a00127f9279","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Javelin Thrown Damage","cp":"67a659a0db873a00127f9279","ay":"auto","dT":"Piercing","die":"d6","ct":1,"oC":false}]}},{"nm":"Javelin +1","blueprint":{"nm":"Javelin +1","item":{"tp":"Item","cp":"6744e2e195192d0012b9de28","dn":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Javelin +1","rd":"Javelin +1 Attack","cp":"6744e2e195192d0012b9de28","aT":"Action","ak":{"aB":"Strength","bo":1,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Javelin +1 (Thrown)","rd":"Javelin +1 Attack (Thrown)","cp":"6744e2e195192d0012b9de28","aT":"Action","rg":"30/120","ak":{"aB":"Strength","bo":1,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Javelin +1 Damage","cp":"6744e2e195192d0012b9de28","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Javelin +1 Damage (Thrown)","cp":"6744e2e195192d0012b9de28","ay":"auto","dT":"Piercing","die":"d6","bo":1,"ct":1,"oC":false}]}},{"nm":"Javelin +2","blueprint":{"nm":"Javelin +2","item":{"tp":"Item","cp":"6744e44895192d0012ba35c9","dn":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Javelin +2","rd":"Javelin +2 Attack","cp":"6744e44895192d0012ba35c9","aT":"Action","ak":{"aB":"Strength","bo":2,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Javelin +2 (Thrown)","rd":"Javelin +2 Attack (Thrown)","cp":"6744e44895192d0012ba35c9","aT":"Action","rg":"30/120","ak":{"aB":"Strength","bo":2,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Javelin +2 Damage","cp":"6744e44895192d0012ba35c9","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Javelin +2 Damage (Thrown)","cp":"6744e44895192d0012ba35c9","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false}]}},{"nm":"Javelin +3","blueprint":{"nm":"Javelin +3","item":{"tp":"Item","cp":"6744e45495192d0012ba38f4","dn":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":2,"dm":2},"ch":[{"id":"c1","tp":"Ak","nm":"Javelin +3","rd":"Javelin +3 Attack","cp":"6744e45495192d0012ba38f4","aT":"Action","ak":{"aB":"Strength","bo":3,"tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Javelin +3 (Thrown)","rd":"Javelin +3 Attack (Thrown)","cp":"6744e45495192d0012ba38f4","aT":"Action","rg":"30/120","ak":{"aB":"Strength","bo":3,"tp":"Ranged"}},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Javelin +3 Damage","cp":"6744e45495192d0012ba38f4","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Javelin +3 Damage (Thrown)","cp":"6744e45495192d0012ba38f4","ay":"auto","dT":"Piercing","die":"d6","bo":3,"ct":1,"oC":false}]}},{"nm":"Javelin of Lightning","blueprint":{"nm":"Javelin of Lightning","item":{"tp":"Item","cp":"68140475aa185e001254955d","dn":"Each time you make an attack roll with this magic weapon and hit, you can have it deal Lightning damage instead of Piercing damage.\nLightning Bolt. When you throw this weapon at a target no farther than 120 feet from you, you can forgo making a ranged attack roll and instead turn the weapon into a bolt of lightning. This bolt forms a 5-foot-wide Line between you and the target. The target and each other creature in the Line (excluding you) makes a DC 13 Dexterity saving throw, taking 4d6 Lightning damage on a failed save or half as much damage on a successful one. Immediately after dealing this damage, the weapon reappears in your hand. This property can't be used again until the next dawn.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":3,"Resource":1,"dm":3},"ch":[{"id":"c1","tp":"Ak","nm":"Javelin of Lightning","rd":"Javelin of Lightning Attack","cp":"68140475aa185e001254955d","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c2","tp":"Ak","nm":"Javelin of Lightning (Thrown)","rd":"Javelin of Lightning Attack (Thrown)","cp":"68140475aa185e001254955d","aT":"Action","rg":"30/120","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c3","tp":"Resource","nm":"Javelin Lightning Bolt","rd":"Javelin of Lightning Lightning Bolt Resource","cp":"68140475aa185e001254955d","vl":1},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Javelin of Lightning Damage","cp":"68140475aa185e001254955d","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Javelin of Lightning Damage (Thrown)","cp":"68140475aa185e001254955d","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"Ak","pt":"c3","nm":"Lightning Bolt (Javelin of Lightning)","rd":"Javelin of Lightning Lightning Bolt Attack","cp":"68140475aa185e001254955d","aT":"Action","rg":"120 ft","dn":"When you throw this weapon at a target, you can forgo making a ranged attack roll and instead turn the weapon into a bolt of lightning. This bolt forms a 5-foot-wide Line between you and the target. The target and each other creature in the Line (excluding you) makes a DC 13 Dexterity saving throw. Immediately after dealing this damage, the weapon reappears in your hand.","ak":{"tp":"Attack Save"},"save":{"onFail":"4d6 Lightning Damage","onSucceed":"Half Damage","saveAbility":"Dexterity","saveFlat":13},"onHit":"If you hit the second target, you deal equal to your Dexterity modifier (if any) of the same type as the bomb to the secondary target."},{"id":"c3-c1-c1","tp":"dm","pt":"c3-c1","nm":"Javelin of Lightning Lightning Bolt Damage","cp":"68140475aa185e001254955d","ay":"none","dT":"Lightning","die":"d6","ct":4,"oC":false}]}},{"nm":"Javelin of Warning","blueprint":{"nm":"Javelin of Warning","item":{"tp":"Item","cp":"6815292fa193700012c10dc2","dn":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn't wake a subject from magically induced sleep.\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Am":1,"Ak":2,"RB":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Javelin of Warning Attunement","cp":"6815292fa193700012c10dc2","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Javelin of Warning","rd":"Javelin of Warning Attack","cp":"6815292fa193700012c10dc2","aT":"Action","ak":{"aB":"Strength","tp":"Melee"}},{"id":"c3","tp":"Ak","nm":"Javelin of Warning (Thrown)","rd":"Javelin of Warning Attack (Thrown)","cp":"6815292fa193700012c10dc2","aT":"Action","rg":"30/120","ak":{"aB":"Strength","tp":"Ranged"}},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Javelin of Warning Initiative Advantage","cp":"6815292fa193700012c10dc2","bC":"[\"Initiative\"]","bD":"Keep Highest","bN":"[]","bV":1,"dC":2,"tR":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Javelin of Warning Damage","cp":"6815292fa193700012c10dc2","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Javelin of Warning Damage (Thrown)","cp":"6815292fa193700012c10dc2","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false}]}},{"nm":"Nine Lives Stealer Javelin","blueprint":{"nm":"Nine Lives Stealer Javelin","item":{"tp":"Item","cp":"6744e3f895192d0012ba20ad","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Am":1,"Ak":3,"Resource":1,"dm":2},"ch":[{"id":"c1","tp":"Am","nm":"Nine Lives Stealer Javelin Attunement","cp":"6744e3f895192d0012ba20ad","an":false,"rE":true},{"id":"c2","tp":"Ak","nm":"Nine Lives Stealer Javelin","rd":"Nine Lives Stealer Javelin Attack","cp":"6744e3f895192d0012ba20ad","aT":"Action","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Melee"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c3","tp":"Ak","nm":"Nine Lives Stealer Javelin (Thrown)","rd":"Nine Lives Stealer Javelin (Thrown) Attack","cp":"6744e3f895192d0012ba20ad","aT":"Action","rg":"30/120","dn":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.","ak":{"aB":"Strength","bo":2,"tp":"Ranged"},"onHit":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must make a DC 15 Constitution saving throw."},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing","rd":"Nine Lives Stealer Javelin Life Stealing Resource","cp":"6744e3f895192d0012ba20ad","vl":9},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Nine Lives Stealer Javelin Damage","cp":"6744e3f895192d0012ba20ad","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c3-c1","tp":"dm","pt":"c3","nm":"Nine Lives Stealer Javelin (Thrown) Damage","cp":"6744e3f895192d0012ba20ad","ay":"auto","dT":"Piercing","die":"d6","bo":2,"ct":1,"oC":false},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Life Stealing Save","rd":"Nine Lives Stealer Javelin Life Stealing Save","cp":"6744e3f895192d0012ba20ad","aT":"Action","dn":"When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically.","ak":{"tp":"Attack Save"},"save":{"onFail":"The creature is slain instantly.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Vicious Javelin","blueprint":{"nm":"Vicious Javelin","item":{"tp":"Item","cp":"6815299aa193700012c12351","dn":"This magic weapon deals an extra 2d6 damage to any creature it hits. This extra damage is of the same type as the weapon's normal damage.","wt":2,"ps":["Thrown"],"eD":{"ee":true},"wD":{"cy":"Melee","tg":"Simple","tp":"Javelin"}},"cS":{"Ak":2,"dm":4},"ch":[{"id":"c1","tp":"Ak","nm":"Vicious Javelin","rd":"Vicious Javelin Attack","cp":"6815299aa193700012c12351","aT":"Action","ak":{"aB":"Strength","tp":"Melee"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c2","tp":"Ak","nm":"Vicious Javelin (Thrown)","rd":"Vicious Javelin Attack (Thrown)","cp":"6815299aa193700012c12351","aT":"Action","rg":"30/120","ak":{"aB":"Strength","tp":"Ranged"},"onHit":"This magic weapon deals an extra 2d6 damage to any creature it hits."},{"id":"c1-c1","tp":"dm","pt":"c1","nm":"Vicious Javelin Damage","cp":"6815299aa193700012c12351","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c1-c2","tp":"dm","pt":"c1","nm":"Vicious Javelin Vicious Damage","cp":"6815299aa193700012c12351","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false},{"id":"c2-c1","tp":"dm","pt":"c2","nm":"Vicious Javelin Damage (Thrown)","cp":"6815299aa193700012c12351","ay":"auto","dT":"Piercing","die":"d6","bo":0,"ct":1,"oC":false},{"id":"c2-c2","tp":"dm","pt":"c2","nm":"Vicious Javelin Vicious Damage (Thrown)","cp":"6815299aa193700012c12351","ay":"none","dT":"Piercing","die":"d6","ct":2,"oC":false}]}},{"nm":"Wand","blueprint":{"nm":"Wand","item":{"tp":"Item","cp":"68152974a193700012c11baa","dn":"An Arcane Focus takes one of the forms in the Arcane Focuses table and is bejeweled or carved to channel arcane magic. A Sorcerer, Warlock, or Wizard can use such an item as a Spellcasting Focus.","wt":1,"eD":{"ee":true}},"cS":{},"ch":[]}},{"nm":"Wand of Binding","blueprint":{"nm":"Wand of Binding","item":{"tp":"Item","cp":"681529f6a193700012c13515","dn":"This wand has 7 charges.\nSpells. While holding the wand, you can cast one of the following spells (save DC 17) from it. Hold Monster (5 Charges), Hold Person (2 Charges).\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":2,"Ak":2,"Upcasting":11},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Binding Attunement","cp":"681529f6a193700012c13515","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Binding Charges","cp":"681529f6a193700012c13515","vl":7},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster","cp":"66e08fc8dc69af0030fa5b58","dn":"Choose a creature that you can see within range. The target must succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, the target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person","cp":"66e08fffdc69af0030fa6868","dn":"Choose a Humanoid that you can see within range. The target must succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, the target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster","rd":"Hold Monster Attack","cp":"66e08fc8dc69af0030fa5b58","aT":"Action","rg":"90 feet","dn":"The target must succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, the target repeats the save, ending the spell on itself on a success.","ak":{"tp":"Spell Save"},"save":{"onFail":"Have the Paralyzed condition for the duration.","onSucceed":"Ends the spell.","saveAbility":"Wisdom"}},{"id":"c1-c1-c1-c2","tp":"Upcasting","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 6","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose two creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c1-c3","tp":"Upcasting","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 7","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose three creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c1-c4","tp":"Upcasting","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 8","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose four creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c1-c5","tp":"Upcasting","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Monster Upcast 9","cp":"66e08fc8dc69af0030fa5b58","vl":"Choose five creatures that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c1","tp":"Ak","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person","rd":"Hold Person Attack","cp":"66e08fffdc69af0030fa6868","aT":"Action","rg":"60 feet","dn":"The target must succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, the target repeats the save, ending the spell on itself on a success.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target has the Paralyzed condition for the duration.","onSucceed":"Ends the spell.","saveAbility":"Wisdom"}},{"id":"c1-c1-c2-c2","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 3","cp":"66e08fffdc69af0030fa6868","vl":"Choose two Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c3","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 4","cp":"66e08fffdc69af0030fa6868","vl":"Choose three Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c4","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 5","cp":"66e08fffdc69af0030fa6868","vl":"Choose four Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c5","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 6","cp":"66e08fffdc69af0030fa6868","vl":"Choose five Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c6","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 7","cp":"66e08fffdc69af0030fa6868","vl":"Choose six Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c7","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 8","cp":"66e08fffdc69af0030fa6868","vl":"Choose seven Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."},{"id":"c1-c1-c2-c8","tp":"Upcasting","pt":"c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Hold Person Upcast 9","cp":"66e08fffdc69af0030fa6868","vl":"Choose eight Humanoids that you can see within range. The targets must each succeed on a Wisdom saving throw or have the Paralyzed condition for the duration. At the end of each of its turns, each target repeats the save, ending the spell on itself on a success."}]}},{"nm":"Wand of Enemy Detection","blueprint":{"nm":"Wand of Enemy Detection","item":{"tp":"Item","cp":"6814243fa009ba0012a422ae","dn":"This wand has 7 charges. While holding it, you can take a Magic action to expend 1 charge. For 1 minute, you know the direction of the nearest creature Hostile to you within 60 feet, but not its distance from you. The wand can sense the presence of Hostile creatures that are Invisible, ethereal, disguised, or hidden, as well as those in plain sight. The effect ends if you stop holding the wand.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Enemy Detection Attunement","cp":"6814243fa009ba0012a422ae","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Enemy Detection Charges","cp":"6814243fa009ba0012a422ae","vl":7},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Enemy Detection","rd":"Wand of Enemy Detection Action","cp":"6814243fa009ba0012a422ae","dn":"While holding the Wand of Enemy Detection, you can take a Magic action to expend 1 charge. For 1 minute, you know the direction of the nearest creature Hostile to you within 60 feet, but not its distance from you."}]}},{"nm":"Wand of Fear","blueprint":{"nm":"Wand of Fear","item":{"tp":"Item","cp":"620456ec4401f963c0642960","dn":"This wand has 7 charges for the following properties. It regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll a d20. On a 1, the wand crumbles into ashes and is destroyed.\n\nCommand. While holding the wand, you can use an action to expend 1 charge and command another creature to flee or grovel, as with the command spell (save DC 15).\n\nCone of Fear. While holding the wand, you can use an action to expend 2 charges, causing the wand's tip to emit a 60-foot cone of amber light. Each creature in the cone must succeed on a DC 15 Wisdom saving throw or become frightened of you for 1 minute. While it is frightened in this way, a creature must spend its turns trying to move as far away from you as it can, and it can't willingly move to a space within 30 feet of you. It also can't take reactions. For its action, it can use only the Dash action or try to escape from an effect that prevents it from moving. If it has nowhere it can move, the creature can use the Dodge action. At the end of each of its turns, a creature can repeat the saving throw, ending the effect on itself on a success.","eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Ak":2,"Upcasting":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Fear Attunement","cp":"620456ec4401f963c0642960","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Fear Charges","rd":"Wand of Fear Resource","cp":"620456ec4401f963c0642960","vl":7},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Command","cp":"620454994401f963c0623518","dn":"You speak a one-word command to a creature you can see within range. The target must succeed on a Wisdom saving throw or follow the command on its next turn. The spell has no effect if the target is undead, if it doesn't understand your language, or if your command is directly harmful to it.\n\nSome typical commands and their effects follow. You might issue a command other than one described here. If you do so, the DM determines how the target behaves. If the target can't follow your command, the spell ends.\n\nApproach. The target moves toward you by the shortest and most direct route, ending its turn if it moves within 5 feet of you.\n\nDrop. The target drops whatever it is holding and then ends its turn.\n\nFlee. The target spends its turn moving away from you by the fastest available means.\n\nGrovel. The target falls prone and then ends its turn.\n\nHalt. The target doesn't move and takes no actions. A flying creature stays aloft, provided that it is able to do so. If it must move to stay aloft, it flies the minimum distance needed to remain in the air."},{"id":"c1-c1-c2","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Cone of Fear","rd":"Cone of Fear Spell Attach","cp":"620456ec4401f963c0642960","aT":"Action","dn":"While holding the wand, you can use an action to expend 2 charges, causing the wand's tip to emit a 60-foot cone of amber light. Each creature in the cone must succeed on a DC 15 Wisdom saving throw or become frightened of you for 1 minute.","ak":{"tp":"Attack Save"},"save":{"onFail":"Frightened of you for 1 minute. While it is frightened in this way, a creature must spend its turns trying to move as far away from you as it can, and it can't willingly move to a space within 30 feet of you. It also can't take reactions. For its action, it can use only the Dash action or try to escape from an effect that prevents it from moving. If it has nowhere it can move, the creature can use the Dodge action. At the end of each of its turns, a creature can repeat the saving throw, ending the effect on itself on a success.","onSucceed":"No Effect","saveAbility":"Wisdom","saveFlat":15}},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Command","rd":"Command Attack","cp":"620454994401f963c0623518","aT":"Action","rg":"60 feet","dn":"You speak a one-word command to a creature you can see within range. The target must make on a Wisdom saving throw.","ak":{"tp":"Spell Save"},"save":{"onFail":"The target must follow the command on its next turn.","onSucceed":"No effect.","saveAbility":"Wisdom"}},{"id":"c1-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Command Upcasting","cp":"620454994401f963c0623518","vl":"You speak a one-word command to a creature you can see within range. The target must make on a Wisdom saving throw.\n\nWhen you cast this spell using a spell slot of 2nd level or higher, you can affect one additional creature for each slot level above 1st. The creatures must be within 30 feet of each other when you target them."}]}},{"nm":"Wand of Fireballs","blueprint":{"nm":"Wand of Fireballs","item":{"tp":"Item","cp":"68142415614c8000122dcc13","dn":"Requires Attunement by a Spellcaster\nThis wand has 7 charges. While holding it, you can expend no more than 3 charges to cast Fireball (save DC 15) from it. For 1 charge, you cast the level 3 version of the spell. You can increase the spell's level by 1 for each additional charge you expend.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Ak":1,"dm":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Fireballs Attunement","cp":"68142415614c8000122dcc13","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Fireballs Charges","cp":"68142415614c8000122dcc13","vl":7},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","cp":"66e07b4828743a0012c862a6","dn":"A bright streak flashes from you to a point you choose within range and then blossoms with a low roar into a fiery explosion. Each creature in a 20-foot-radius Sphere centered on that point makes a Dexterity saving throw, taking 8d6 Fire damage on a failed save or half as much damage on a successful one.\nFlammable objects in the area that aren't being worn or carried start burning."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball","rd":"Fireball Attack","cp":"66e07b4828743a0012c862a6","aT":"Action","rg":"150 feet","ak":{"tp":"Spell Save"},"save":{"onFail":"Takes 8d6 Fire damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c1-c1-c1","tp":"dm","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage","cp":"66e07b4828743a0012c862a6","ay":"none","dT":"Fire","die":"d6","ct":8,"oC":false},{"id":"c1-c1-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Fireball Damage Upcast","cp":"66e07b4828743a0012c862a6","vl":1}]}},{"nm":"Wand of Lightning Bolts","blueprint":{"nm":"Wand of Lightning Bolts","item":{"tp":"Item","cp":"68142405a009ba0012a4214a","dn":"Requires Attunement by a Spellcaster\nThis wand has 7 charges. While holding it, you can expend no more than 3 charges to cast Lightning Bolt (save DC 15) from it. For 1 charge, you cast the level 3 version of the spell. You can increase the spell's level by 1 for each additional charge you expend.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Ak":1,"dm":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Lightning Bolts Attunement","cp":"68142405a009ba0012a4214a","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Lightning Bolts Charges","cp":"68142405a009ba0012a4214a","vl":7},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt","cp":"66e07b5b28743a0012c8679e","dn":"A stroke of lightning forming a 100-foot-long, 5-foot-wide Line blasts out from you in a direction you choose. Each creature in the Line makes a Dexterity saving throw, taking 8d6 Lightning damage on a failed save or half as much damage on a successful one."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt","rd":"Lightning Bolt Attack","cp":"66e07b5b28743a0012c8679e","aT":"Action","dn":"A stroke of lightning forming a 100-foot-long, 5-foot-wide Line blasts out from you in a direction you choose. Each creature in the Line makes a Dexterity saving throw, taking 8d6 Lightning damage on a failed save or half as much damage on a successful one.","ak":{"tp":"Spell Save"},"save":{"onFail":"Take 8d6 Lightning damage.","onSucceed":"Half as much damage.","saveAbility":"Dexterity"}},{"id":"c1-c1-c1-c1-c1","tp":"dm","pt":"c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt Damage","cp":"66e07b5b28743a0012c8679e","ay":"none","dT":"Lightning","die":"d6","ct":8,"oC":false},{"id":"c1-c1-c1-c1-c1-c1","tp":"Upcasting","pt":"c1-c1-c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Lightning Bolt Damage Upcast","cp":"66e07b5b28743a0012c8679e","vl":1}]}},{"nm":"Wand of Magic Detection","blueprint":{"nm":"Wand of Magic Detection","item":{"tp":"Item","cp":"6814250da193700012befdad","dn":"This wand has 3 charges. While holding it, you can\nexpend 1 charge to cast Detect Magic from it. The\nwand regains 1d3 expended charges daily at dawn.","wt":1,"eD":{"ee":true}},"cS":{"Resource":1,"Spell":1,"Condition":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Wand of Magic Detection Charges","cp":"6814250da193700012befdad","vl":3},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Detect Magic","cp":"66e07b5028743a0012c8649b","dn":"For the duration, you sense the presence of magical effects within 30 feet of yourself. If you sense such effects, you can take the Magic action to see a faint aura around any visible creature or object in the area that bears the magic, and if an effect was created by a spell, you learn the spell's school of magic.\nThe spell is blocked by 1 foot of stone, dirt, or wood; 1 inch of metal; or a thin sheet of lead."},{"id":"c1-c1-c1","tp":"Condition","pt":"c1-c1","nm":"Detect Magic Spell","rd":"Detect Magic Condition","cp":"66e07b5028743a0012c8649b","dn":"For the duration, you sense the presence of magical effects within 30 feet of yourself."},{"id":"c1-c1-c1-c1","tp":"Action","pt":"c1-c1-c1","cascades":[{"ref":"c1-c1-c1","actions":["Activate"]}],"nm":"Detect Magic Show Aura","rd":"Detect Magic Action","cp":"66e07b5028743a0012c8649b","dn":"You can take the Magic action to see a faint aura around any visible creature or object in the area that bears the magic, and if an effect was created by a spell, you learn the spell's school of magic."}]}},{"nm":"Wand of Magic Missiles","blueprint":{"nm":"Wand of Magic Missiles","item":{"tp":"Item","cp":"6744e49595192d0012ba4a28","dn":"This wand has 7 charges. While holding it, you can expend no more than 3 charges to cast Magic Missile from it. For 1 charge, you cast the level 1 version of the spell. You can increase the spell's level by 1 for each additional charge you expend.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Resource":1,"Spell":1,"Ak":1,"dm":1,"Upcasting":1},"ch":[{"id":"c1","tp":"Resource","nm":"Wand of Magic Missiles Charges","cp":"6744e49595192d0012ba4a28","vl":7},{"id":"c1-c1","tp":"Spell","pt":"c1","nm":"Magic Missile","cp":"66e09013dc69af0030fa6d27","dn":"You create three glowing darts of magical force. Each dart strikes a creature of your choice that you can see within range. A dart deals 1d4 + 1 Force damage to its target. The darts all strike simultaneously, and you can direct them to hit one creature or several."},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","nm":"Magic Missile","rd":"Magic Missile Free Attack","cp":"66e09013dc69af0030fa6d27","aT":"Action","rg":"120 feet"},{"id":"c1-c1-c1-c1","tp":"dm","pt":"c1-c1-c1","nm":"Magic Missile Damage","cp":"66e09013dc69af0030fa6d27","ay":"none","dT":"Force","die":"d4","bo":1,"ct":1,"oC":false},{"id":"c1-c1-c1-c2","tp":"Upcasting","pt":"c1-c1-c1","nm":"Magic Missle Upcast","cp":"66e09013dc69af0030fa6d27","vl":1}]}},{"nm":"Wand of Paralysis","blueprint":{"nm":"Wand of Paralysis","item":{"tp":"Item","cp":"68142501a193700012befd67","dn":"Requires Attunement by a Spellcaster\nThis wand has 7 charges. While holding it, you can take a Magic action to expend 1 charge to cause a thin blue ray to streak from the tip toward a creature you can see within 60 feet of yourself. The target must succeed on a DC 15 Constitution saving throw or have the Paralyzed condition for 1 minute. At the end of each of the target's turns, it repeats the save, ending the effect on itself on a success.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Ak":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Paralysis Attunement","cp":"68142501a193700012befd67","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Paralysis Charges","cp":"68142501a193700012befd67","vl":7},{"id":"c1-c1-c1","tp":"Ak","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Paralysis","rd":"Wand of Paralysis Attack","cp":"68142501a193700012befd67","aT":"Action","rg":"60 ft","dn":"While holding the Wand of Paralysis, you can take a Magic action to expend 1 charge to cause a thin blue ray to streak from the tip toward a creature you can see within 60 feet of yourself. The target must succeed on a DC 15 Constitution saving throw.","ak":{"tp":"Attack Save"},"save":{"onFail":"The target has the Paralyzed condition for 1 minute. At the end of each of the target's turns, it repeats the save.","onSucceed":"The target ends the effect on itself.","saveAbility":"Constitution","saveFlat":15}}]}},{"nm":"Wand of Polymorph","blueprint":{"nm":"Wand of Polymorph","item":{"tp":"Item","cp":"681424f8350b5e00122d6089","dn":"Requires Attunement by a Spellcaster\nThis wand has 7 charges. While holding it, you can expend 1 charge to cast Polymorph (save DC 15) from it.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Condition":1,"Ak":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Polymorph Attunement","cp":"681424f8350b5e00122d6089","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Polymorph Charges","cp":"681424f8350b5e00122d6089","vl":7},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Polymorph","cp":"66e0901edc69af0030fa6fca","dn":"You attempt to transform a creature that you can see within range into a Beast. The target must succeed on a Wisdom saving throw or shape-shift into a Beast form for the duration. That form can be any Beast you choose that has a Challenge Rating equal to or less than the target's (or the target's level if it doesn't have a Challenge Rating). The target's game statistics are replaced by the stat block of the chosen Beast, but the target retains its alignment, personality, creature type, Hit Points, and Hit Point Dice. See appendix B for a sample of Beast stat blocks.\nThe target gains a number of Temporary Hit Points equal to the Hit Points of the Beast form. These Temporary Hit Points vanish if any remain when the spell ends. The spell ends early on the target if it has no Temporary Hit Points left.\nThe target is limited in the actions it can perform by the anatomy of its new form, and it can't speak or cast spells.\nThe target's gear melds into the new form. The creature can't use or otherwise benefit from any of that equipment."},{"id":"c1-c1-c1-c1","tp":"Condition","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Polymorph","rd":"Polymorph Condition","cp":"66e0901edc69af0030fa6fca","dn":"The target's game statistics are replaced by the stat block of the chosen Beast, but the target retains its alignment, personality, creature type, Hit Points, and Hit Point Dice. See appendix B for a sample of Beast stat blocks. The target gains a number of Temporary Hit Points equal to the Hit Points of the Beast form. These Temporary Hit Points vanish if any remain when the spell ends. The spell ends early on the target if it has no Temporary Hit Points left. The target is limited in the actions it can perform by the anatomy of its new form, and it can't speak or cast spells. The target's gear melds into the new form. The creature can't use or otherwise benefit from any of that equipment."},{"id":"c1-c1-c1-c2","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Polymorph","rd":"Polymorph Attack","cp":"66e0901edc69af0030fa6fca","aT":"Action","dn":"The target must succeed on a Wisdom saving throw or shape-shift into a Beast form for the duration.","ak":{"tp":"Spell Save"},"save":{"onFail":"Target shape-shifts into a Beast form for the duration.","onSucceed":"No effect.","saveAbility":"Wisdom"}}]}},{"nm":"Wand of Secrets","blueprint":{"nm":"Wand of Secrets","item":{"tp":"Item","cp":"681424ef350b5e00122d605a","dn":"This wand has 3 charges and regains 1d3 expended charges daily at dawn. While holding it, you can take a Magic action to expend 1 charge, and if a secret door or trap is within 60 feet of you, the wand pulses and points at the one nearest to you.","wt":1,"eD":{"ee":true}},"cS":{"Resource":1,"Action":1},"ch":[{"id":"c1","tp":"Resource","nm":"Wand of Secrets Charges","cp":"681424ef350b5e00122d605a","vl":3},{"id":"c1-c1","tp":"Action","pt":"c1","nm":"Wand of Secrets","rd":"Wand of Secrets Action","cp":"681424ef350b5e00122d605a","dn":"While holding the Wand of Secrets, you can take a Magic action to expend 1 charge, and if a secret door or trap is within 60 feet of you, the wand pulses and points at the one nearest to you.\n"}]}},{"nm":"Wand of the War Mage +1","blueprint":{"nm":"Wand of the War Mage +1","item":{"tp":"Item","cp":"6744e49595192d0012ba4a43","dn":"Requires Attunement by a Spellcaster\nWhile holding this wand, you gain a +1 bonus to spell attack rolls. In addition, you ignore Half Cover when making a spell attack roll.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of the War Mage +1 Attunement","cp":"6744e49595192d0012ba4a43","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of the War Mage +1 Bonus Effect","cp":"6744e49595192d0012ba4a43","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":1,"dC":1,"tR":false}]}},{"nm":"Wand of the War Mage +2","blueprint":{"nm":"Wand of the War Mage +2","item":{"tp":"Item","cp":"6744e49695192d0012ba4a80","dn":"Requires Attunement by a Spellcaster\nWhile holding this wand, you gain a +2 bonus to spell attack rolls. In addition, you ignore Half Cover when making a spell attack roll.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of the War Mage +2 Attunement","cp":"6744e49695192d0012ba4a80","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of the War Mage +2 Bonus Effect","cp":"6744e49695192d0012ba4a80","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":2,"dC":1,"tR":false}]}},{"nm":"Wand of the War Mage +3","blueprint":{"nm":"Wand of the War Mage +3","item":{"tp":"Item","cp":"6744e49695192d0012ba4a9b","dn":"Requires Attunement by a Spellcaster\nWhile holding this wand, you gain a +3 bonus to spell attack rolls. In addition, you ignore Half Cover when making a spell attack roll.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"RB":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of the War Mage +3 Attunement","cp":"6744e49695192d0012ba4a9b","an":false,"rE":true},{"id":"c1-c1","tp":"RB","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of the War Mage +3 Bonus Effect","cp":"6744e49695192d0012ba4a9b","bC":"[\"Attacks\"]","bD":"Modifier","bN":"[\"Spell Attack\"]","bV":3,"dC":1,"tR":false}]}},{"nm":"Wand of Web","blueprint":{"nm":"Wand of Web","item":{"tp":"Item","cp":"681424e7c19cbf0012ace2cf","dn":"Requires Attunement by a Spellcaster\nThis wand has 7 charges. While holding it, you can expend 1 charge to cast Web (save DC 13) from it.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into ashes and is destroyed.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Spell":1,"Ak":2,"dm":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Web Attunement","cp":"681424e7c19cbf0012ace2cf","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Web Charges","cp":"681424e7c19cbf0012ace2cf","vl":7},{"id":"c1-c1-c1","tp":"Spell","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web","cp":"66e08f54dc69af0030fa3820","dn":"You conjure a mass of sticky webbing at a point within range. The webs fill a 20-foot Cube there for the duration. The webs are Difficult Terrain, and the area within them is Lightly Obscured.\nIf the webs aren't anchored between two solid masses (such as walls or trees) or layered across a floor, wall, or ceiling, the web collapses on itself, and the spell ends at the start of your next turn. Webs layered over a flat surface have a depth of 5 feet.\nThe first time a creature enters the webs on a turn or starts its turn there, it must succeed on a Dexterity saving throw or have the Restrained condition while in the webs or until it breaks free.\nA creature Restrained by the webs can take an action to make a Strength (Athletics) check against your spell save DC. If it succeeds, it is no longer Restrained.\nThe webs are flammable. Any 5-foot Cube of webs exposed to fire burns away in 1 round, dealing 2d4 Fire damage to any creature that starts its turn in the fire."},{"id":"c1-c1-c1-c1","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web","rd":"Web Attack","cp":"66e08f54dc69af0030fa3820","aT":"Action","dn":"The first time a creature enters the webs on a turn or starts its turn there, it must succeed on a Dexterity saving throw or have the Restrained condition while in the webs or until it breaks free.","ak":{"tp":"Spell Save"},"save":{"onFail":"Has the Restrained condition while in the webs or until it breaks free.","saveAbility":"Dexterity"}},{"id":"c1-c1-c1-c2","tp":"Ak","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web - On Fire","rd":"Web Fire Attack","cp":"66e08f54dc69af0030fa3820","aT":"Free Action","dn":"The webs are flammable. Any 5-foot Cube of webs exposed to fire burns away in 1 round, dealing 2d4 Fire damage to any creature that starts its turn in the fire."},{"id":"c1-c1-c1-c2-c1","tp":"dm","pt":"c1-c1-c1-c2","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Web Fire Damage","cp":"66e08f54dc69af0030fa3820","ay":"none","dT":"Fire","die":"d4","ct":2,"oC":false}]}},{"nm":"Wand of Wonder","blueprint":{"nm":"Wand of Wonder","item":{"tp":"Item","cp":"681424d8c19cbf0012ace298","dn":"Requires Attunement\nThis wand has 7 charges. While holding it, you can take a Magic action to expend 1 charge while choosing a point within 120 feet of yourself. That location becomes the point of origin of a spell or other magical effect determined by rolling on the Wand of Wonder Effects table. Spells cast from the wand have a save DC of 15. If a spell's maximum range is normally less than 120 feet, it becomes 120 feet when cast from the wand. If an effect has multiple possible subjects, the DM determines randomly which among them are affected.\nRegaining Charges. The wand regains 1d6 + 1 expended charges daily at dawn. If you expend the wand's last charge, roll 1d20. On a 1, the wand crumbles into dust and is destroyed.\nWand of Wonder Effects\n1d100 Effect\n01-20 You cast a spell originating from the chosen point. Roll 1d10 to determine the spell: on a 1-2, Darkness; on a 3-4, Faerie Fire; on a 5-6, Fireball; on a 7-8, Slow; on a 9-10, Stinking Cloud.\n21-25 Nothing happens at the chosen point of origin. Instead, you have the Stunned condition until the start of your next turn, believing something awesome just happened.\n26-30 You cast Gust of Wind. The Line created by the spell extends from you to the chosen point of origin.\n31-35 Nothing happens at the chosen point of origin. Instead, you take 1d6 Psychic damage.\n36-40 Heavy rain falls for 1 minute in a 120-foothigh, 60-foot-radius Cylinder centered on the chosen point of origin. During that time, the area of effect is Lightly Obscured.\n41-45 A cloud of 600 oversized butterflies fills a 60-foot-high, 30-foot-radius Cylinder centered on the chosen point of origin. The butterflies remain for 10 minutes, during which time the area of effect is Heavily Obscured.\n46-50 You cast Lightning Bolt. The Line created by the spell extends from you to the chosen point of origin.\n51-55 The creature closest to the chosen point of origin is enlarged as if you had cast Enlarge/ Reduce on it. If the target isn't you and can't be affected by that spell, you become the target instead.\n56-60 A magically formed creature appears in an unoccupied space as close to the chosen point of origin as possible. The creature isn't under your control, acts as it normally would, and disappears after 1 hour or when it drops to 0 Hit Points. Roll 1d4 to determine which creature appears. On a 1, a Rhinoceros appears; on a 2, an Elephant appears; and on a 3-4, a Rat appears. 61-64 Grass covers a 60-foot-radius circle of ground, with the center of that circle as close to the chosen point of origin as possible. Grass that's already there grows to ten times its normal size and remains overgrown for 1 minute.\n65-68 An object of the DM's choice disappears into the Ethereal Plane. The object must be neither worn nor carried, within 120 feet of the chosen point of origin, and no larger than 10 feet in any dimension. If there are no such objects in range, nothing happens.\n69-72 Nothing happens at the chosen point of origin. Instead, you shrink as if you had cast Enlarge/Reduce on yourself and remain in that state for 1 minute.\n73-77 Leaves grow from the creature nearest to the chosen point of origin. Unless they are picked off, the leaves turn brown and fall off after 24 hours.\n78-82 Nothing happens at the chosen point of origin. Instead, a burst of colorful, shimmering light extends from you in a 30-foot Emanation. Each creature in the area must succeed on a DC 15 Constitution saving throw or have the Blinded condition for 1 minute. A creature repeats the save at the end of each of its turns, ending the effect on itself on a success.\n83-87 Nothing happens at the chosen point of origin. Instead, you cast Invisibility on yourself.\n88-92 Nothing Happens at the chosen point of origin. Instead, a stream of 1d4 × 10 gems, each worth 1 GP, shoots from the wand's tip in a Line 30 feet long and 5 feet wide toward the chosen point of origin. Each gem deals 1 Bludgeoning damage, and the total damage of the gems is divided equally among all creatures in the Line.\n93-97 You cast Polymorph, targeting the creature closest to the chosen point of origin. Roll 1d4 to determine the target's new form. On a 1, the new form is a Black Bear; on a 2, the new form is a Giant Wasp; on a 3-4, the new form is a Frog.\n98-00 The creature closest to the chosen point of origin makes a DC 15 Constitution saving throw. On a failed save, the creature has the Restrained condition and begins to turn to stone. While Restrained in this way, the creature repeats the save at the end of its next turn. On a successful save, the effect ends. On a failed save, the creature has the Petrified condition instead of the Restrained condition. The petrification lasts until the creature is freed by the Greater Restoration spell or similar magic.","wt":1,"eD":{"ee":true}},"cS":{"Am":1,"Resource":1,"Action":1,"Generic Roll":1},"ch":[{"id":"c1","tp":"Am","nm":"Wand of Wonder Attunement","cp":"681424d8c19cbf0012ace298","an":false,"rE":true},{"id":"c1-c1","tp":"Resource","pt":"c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Wonder Charges","cp":"681424d8c19cbf0012ace298","vl":7},{"id":"c1-c1-c1","tp":"Action","pt":"c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Activate Wand of Wonder","rd":"Wand of Wonder Magic Action","cp":"681424d8c19cbf0012ace298","dn":"This wand has 7 charges. While holding it, you can take a Magic action to expend 1 charge while choosing a point within 120 feet of yourself. That location becomes the point of origin of a spell or other magical effect determined by rolling on the Wand of Wonder Effects table. Spells cast from the wand have a save DC of 15. If a spell's maximum range is normally less than 120 feet, it becomes 120 feet when cast from the wand. If an effect has multiple possible subjects, the DM determines randomly which among them are affected."},{"id":"c1-c1-c1-c1","tp":"Generic Roll","pt":"c1-c1-c1","cascades":[{"ref":"i","actions":["Attune","Equip"]}],"nm":"Wand of Wonder Spell Roll","cp":"681424d8c19cbf0012ace298"}]}},{"nm":"Yew Wand","blueprint":{"nm":"Yew Wand","item":{"tp":"Item","cp":"68152941a193700012c11143","dn":"A Druidic Focus takes one of the forms in the Druidic Focuses table and is carved, tied with ribbon, or painted to channel primal magic. A Druid or Ranger can use such an object as a Spellcasting Focus.","wt":1,"eD":{"ee":true}},"cS":{},"ch":[]}},{"nm":"Priest's Pack","blueprint":{"nm":"Priest's Pack","item":{"tp":"Item","cp":"6815298da193700012c1209c","dn":"A Priest's Pack contains the following items: Backpack, Blanket, Holy Water, Lamp, 7 days of Rations, Robe, and Tinderbox."},"cS":{"Item":7,"RB":1,"Ak":1,"Action":1,"dm":1},"ch":[{"id":"c1","tp":"Item","nm":"Backpack","cp":"681529cda193700012c12d61","dn":"A Backpack holds up to 30 pounds within 1 cubic foot. It can also serve as a saddlebag."},{"id":"c2","tp":"Item","nm":"Blanket","cp":"681266b5614c800012290712","dn":"While wrapped in a blanket, you have Advantage on saving throws against extreme cold (see the Dungeon Master's Guide)."},{"id":"c3","tp":"Item","nm":"Holy Water","cp":"68152941a193700012c11163","dn":"When you take the Attack action, you can replace one of your attacks with throwing a flask of Holy Water. Target one creature you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 2d8 Radiant damage if it is a Fiend or an Undead."},{"id":"c4","tp":"Item","nm":"Lamp","cp":"6812705bc19cbf0012a8375e","dn":"A Lamp burns Oil as fuel to cast Bright Light in a 15-foot radius and Dim Light for an additional 30 feet."},{"id":"c5","tp":"Item","nm":"Rations","cp":"68152a04a193700012c13835","dn":"Rations consist of travel-ready food, including jerky, dried fruit, hardtack, and nuts. See 'Malnutrition' in the rules glossary for the risks of not eating."},{"id":"c6","tp":"Item","nm":"Robe","cp":"6815296ca193700012c11a15","dn":"A Robe has vocational or ceremonial significance. Some events and locations admit only people wearing a Robe bearing certain colors or symbols."},{"id":"c7","tp":"Item","nm":"Tinderbox","cp":"6815295ea193700012c11754","dn":"A Tinderbox is a small container holding flint, fire steel, and tinder (usually dry cloth soaked in light oil) used to kindle a fire. Using it to light a Candle, Lamp, Lantern, or Torch-or anything else with exposed fuel-takes a Bonus Action. Lighting any other fire takes 1 minute."},{"id":"c2-c1","tp":"RB","pt":"c2","nm":"Blanket Cold Advantage","cp":"681266b5614c800012290712","bC":"[\"Saving Throws\"]","bD":"Keep Highest","bN":"[\"Constitution\"]","bV":1,"dC":2,"tR":false},{"id":"c3-c1","tp":"Ak","pt":"c3","nm":"Throw Holy Water","rd":"Holy Water Attack","cp":"68152941a193700012c11163","aT":"Action","rg":"20 ft","dn":"When you take the Attack action, you can replace one of your attacks with throwing a flask of Holy Water. Target one creature you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 2d8 Radiant damage if it is a Fiend or an Undead.","ak":{"tp":"Attack Save"},"save":{"onFail":"2d8 Radiant damage if it is a Fiend or an Undead.","saveAbility":"Dexterity","saveFormula":{"ay":{"ay":"Dexterity","add":true,"multiplier":1},"flatValue":8,"py":{"add":true},"ro":"Down"}}},{"id":"c7-c1","tp":"Action","pt":"c7","nm":"Tinderbox","rd":"Tinderbox Light Bonus Action","cp":"6815295ea193700012c11754","dn":"Using the tinderbox to light a Candle, Lamp, Lantern, or Torch-or anything else with exposed fuel-takes a Bonus Action."},{"id":"c3-c1-c1","tp":"dm","pt":"c3-c1","nm":"Holy Water Damage","cp":"68152941a193700012c11163","ay":"none","dT":"Radiant","die":"d8","ct":2,"oC":false}]}}]} \ No newline at end of file diff --git a/T&T - Trinkets and Trackers/1.3.5/T&T Portable Database.json b/T&T - Trinkets and Trackers/1.3.5/T&T Portable Database.json new file mode 100644 index 0000000000..c6634d2ac1 --- /dev/null +++ b/T&T - Trinkets and Trackers/1.3.5/T&T Portable Database.json @@ -0,0 +1 @@ +{"version":"1.3.4","items":[{"id":"0000","blueprint":"In Handout","name":"Acid","displayName":"Acid (Vial)","description":"When you take the Attack action, you can replace one of your attacks with throwing a vial of Acid. Target one creature or object you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 2d6 Acid damage.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Improvised Weapon","subtype":"Throwable","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/3/36/GRN_Acid_Vial_Unfaded.png","effect":"deals damage","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"acid","properties":"Thrown up to 20ft","mastery":"","tags":"Improvised Weapon, Acid, Glass","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"20ft","consumableRange":"5ft","questItem":false},{"id":"0001","blueprint":"In Handout","name":"Alchemist's Fire","displayName":"Alchemist's Fire","description":"When you take the Attack action, you can replace one of your attacks with throwing a flask of Alchemist’s Fire. Target one creature or object you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 1d4 Fire damage and start burning.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Improvised Weapon","subtype":"Throwable","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/e5/GRN_Alchemist%27s_Fire_Unfaded.png","effect":"deals damage","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"Fire","properties":"Thrown up to 20ft","mastery":"","tags":"Improvised Weapon, Fire, Glass","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"20ft","consumableRange":"5ft","questItem":false},{"id":"0002","blueprint":"In Handout","name":"Arrows","displayName":"Arrows","description":"Arrows are used with a weapon that has the ammunition property to make a ranged attack. Each time you attack with the weapon, you expend one piece of ammunition. Drawing the ammunition from a quiver, case, or other container is part of the attack (you need a free hand to load a one-handed weapon). At the end of the battle, you can recover half your expended ammunition by taking a minute to search the battlefield.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://img.wikily.gg/unsafe/w:256/aHR0cHM6Ly9yMi53aWtpbHkuZ2cvaW1hZ2VzL29uY2UtaHVtYW4vaWNvbnMvaWNvbl9ib2x0LndlYnA","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,arrows,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0003","blueprint":"In Handout","name":"Crossbow Bolts","displayName":"Bolts","description":"Crossbow bolts are used with a weapon that has the ammunition property to make a ranged attack. Each time you attack with the weapon, you expend one piece of ammunition. Drawing the ammunition from a quiver, case, or other container is part of the attack (you need a free hand to load a one-handed weapon). At the end of the battle, you can recover half your expended ammunition by taking a minute to search the battlefield.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://www.worldanvil.com/uploads/images/26b550b2d8b7b03680f99f3d4cda5352.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,bolts,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0004","blueprint":"In Handout","name":"Firearm Bullets","displayName":"Firearm Bullets","description":"Small metal projectiles designed to be fired from firearms. Each bullet is carefully shaped to fit the weapon’s barrel and deliver deadly force at high speed. Bullets are typically carried in pouches, bandoliers, or ammunition cases, and are consumed when fired.\n\nThese lead balls or cartridges are destroyed upon use.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Firearms","rarity":"common","defaultPrice":30,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":false,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0005","blueprint":"In Handout","name":"Sling Bullets","displayName":"Sling Bullets","description":"Sling bullets are used with a sling to make a ranged attack. Each time you attack with the weapon, you expend one piece of ammunition. Drawing the ammunition from a quiver, case, or other container is part of the attack (you need a free hand to load a one-handed weapon). At the end of the battle, you can recover half your expended ammunition by taking a minute to search the battlefield.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Slings","rarity":"common","defaultPrice":1,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/060/482/115/small/stunning-rustic-metallic-circles-with-reflective-surface-isolated-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,bullets,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0006","blueprint":"In Handout","name":"Blowgun Needles","displayName":"Needles","description":"Blowgun needles are used with a weapon that has the ammunition property to make a ranged attack. Each time you attack with the weapon, you expend one piece of ammunition. Drawing the ammunition from a quiver, case, or other container is part of the attack (you need a free hand to load a one-handed weapon). At the end of the battle, you can recover half your expended ammunition by taking a minute to search the battlefield.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"needle","rarity":"common","defaultPrice":2,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":false,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0007","blueprint":"In Handout","name":"Antitoxin","displayName":"Antitoxin","description":"As a Bonus Action, you can drink a vial of Antitoxin to gain Advantage on saving throws to avoid or end the Poisoned condition for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Condition Protection","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://www.gamerguides.com/assets/media/15/16932/item_cons_potion_antitoxin-2c6d3610.png","effect":"Gain advantage on saving throws against poison for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Consumable","mastery":"","tags":"drink,condition-protection,glass","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0008","blueprint":"In Handout","name":"Basic Poison","displayName":"Basic Poison","description":"As a Bonus Action, you can use a vial of Basic Poison to coat one weapon or up to three pieces of ammunition. A creature that takes Piercing or Slashing damage from the poisoned weapon or ammunition takes an extra 1d4 Poison damage. Once applied, the poison retains potency for 1 minute or until its damage is dealt, whichever comes first.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Poison","rarity":"common","defaultPrice":100,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/d5/COAT_Basic_Poison_Unfaded.png","effect":"Coat one weapon or up to three pieces of ammunition for 1 minute or until it deal damage.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"Poison","properties":"Consumable","mastery":"","tags":"drink,condition-protection,glass","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0009","blueprint":"In Handout","name":"Potion of Healing","displayName":"Potion of Healing","description":"A creature that drinks this magical red fluid regains 2d4 + 2 Hit Points.\n\nWhatever its potency, the potion’s red liquid glimmers when agitated.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"healing","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/c/ce/POT_Potion_of_Healing_Unfaded.png","effect":"heal","diceCount":2,"diceSide":4,"bonus":2,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Consumable","mastery":"","tags":"potion,healing,consumable,common","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0010","blueprint":"In Handout","name":"Potion of Greater Healing","displayName":"P. of Greater Healing","description":"You regain 4d4 + 4 Hit Points when you drink this potion. Whatever its potency, the potion's red liquid glimmers when agitated.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"healing","rarity":"uncommon","defaultPrice":100,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/4/46/POT_Potion_of_Greater_Healing_Unfaded.png","effect":"heal","diceCount":4,"diceSide":4,"bonus":4,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,healing,consumable,uncommon,greater","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0011","blueprint":"In Handout","name":"Potion of Superior Healing","displayName":"P. of Superior Healing","description":"You regain 8d4 + 8 Hit Points when you drink this potion. Whatever its potency, the potion's red liquid glimmers when agitated.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"healing","rarity":"rare","defaultPrice":500,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/7/73/POT_Potion_of_Superior_Healing_Unfaded.png","effect":"heal","diceCount":8,"diceSide":4,"bonus":8,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,healing,consumable,rare,superior","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0012","blueprint":"In Handout","name":"Potion of Supreme Healing","displayName":"P. of Supreme Healing","description":"You regain 10d4 + 20 Hit Points when you drink this potion. Whatever its potency, the potion's red liquid glimmers when agitated.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"healing","rarity":"very rare","defaultPrice":2500,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/d8/POT_Potion_of_Supreme_Healing_Faded.png","effect":"heal","diceCount":10,"diceSide":4,"bonus":20,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,healing,consumable,very rare,supreme","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0013","blueprint":"In Handout","name":"Potion of Animal Friendship","displayName":"P. of Animal Friend.","description":"When you drink this potion, you can cast Animal Friendship (save DC 13) for 1 hour at will on beasts.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"social","rarity":"uncommon","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/de/POT_Potion_of_Animal_Speaking_Unfaded.png","effect":"Can cast Animal Friendship for 1 hour","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,animal friendship,consumable,uncommon","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0014","blueprint":"In Handout","name":"Potion of Climbing","displayName":"P. of Climbing","description":"For 1 hour after drinking this potion, you gain a climbing speed equal to your walking speed and have Advantage on Strength (Athletics) checks to climb.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"utility","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414431980/MlP-nMUfitIvq-ebWfO4lQ/original.png","effect":"Gain climbing ability for 1 hour","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,climbing,consumable,common","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0015","blueprint":"In Handout","name":"Potion of Cloud Giant Strength","displayName":"P. of Cloud Giant Strength","description":"For 1 hour, your Strength score becomes 27.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"strength","rarity":"rare","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/1/15/ELX_Elixir_of_Cloud_Giant_Strength_Unfaded.png","effect":"For 1 hour, the Strength score becomes 27.","diceCount":0,"diceSide":0,"bonus":27,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,giant strength,cloud,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0016","blueprint":"In Handout","name":"Potion of Diminution","displayName":"Potion of Diminution","description":"You gain the Reduce effect for 1d4 hours.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"transmutation","rarity":"rare","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/oil_of_diminution_baldurs_gate_3_wiki_guide_150px.png","effect":"reduce for 1d4 hours","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,diminution,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0017","blueprint":"In Handout","name":"Potion of Fire Breath","displayName":"P. of Fire Breath","description":"After drinking this potion, you can use a Bonus Action to exhale fire at a target within 30 feet. The target makes a DC 13 Dexterity save, taking 4d6 fire damage on a failed save. You can exhale fire three times within 1 hour.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"offense","rarity":"uncommon","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414431553/XSF-aKFKmxda5z3gY3xSmg/original.png","effect":"Fire breath as bonus action for 1 hour","diceCount":4,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"4d6","damageType":"Fire","properties":"","mastery":"","tags":"potion,fire breath,consumable,uncommon","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0018","blueprint":"In Handout","name":"Potion of Fire Giant Strength","displayName":"P. of Fire Giant Strength","description":"For 1 hour, your Strength score becomes 25.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"strength","rarity":"rare","defaultPrice":1000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/873/398/small_2x/medieval-potion-bottle-with-glowing-liquid-inside-showcasing-mystical-aura-and-intricate-design-warm-colors-evoke-sense-of-magic-and-wonder-png.png","effect":"For 1 hour, your Strength score becomes 25.","diceCount":0,"diceSide":0,"bonus":25,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,giant strength,fire,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0019","blueprint":"In Handout","name":"Potion of Flying","displayName":"Potion of Flying","description":"You gain a flying speed equal to your walking speed for 1 hour.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"movement","rarity":"very rare","defaultPrice":1200,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/6/6d/POT_Potion_of_Flying_Unfaded.png","effect":"Gain a flying speed equal to your walking speed for 1 hour","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,flying,consumable,very rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0020","blueprint":"In Handout","name":"Potion of Frost Giant Strength","displayName":"P. of Frost Giant Strength","description":"For 1 hour, your Strength score becomes 23.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"strength","rarity":"rare","defaultPrice":700,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/551/555/small/enchanted-blue-glass-bottle-render-fantasy-potion-graphic-resource-free-png.png","effect":"For 1 hour, your Strength score becomes 23.","diceCount":0,"diceSide":0,"bonus":23,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,giant strength,frost,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0021","blueprint":"In Handout","name":"Potion of Growth","displayName":"Potion of Growth","description":"You gain the Enlarge effect for 1d4 hours.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"transmutation","rarity":"uncommon","defaultPrice":270,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/060/160/546/non_2x/picturesque-standout-a-magical-potion-bottle-swirling-with-colorful-liquid-no-background-with-transparent-background-free-png.png","effect":"enlarge for 1d4 hours","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,growth,consumable,uncommon","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0022","blueprint":"In Handout","name":"Potion of Heroism","displayName":"Potion of Heroism","description":"For 1 hour, you gain 10 Temporary Hit Points and are under the effect of the Bless spell.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"buff","rarity":"rare","defaultPrice":500,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/e8/ELX_Elixir_of_Heroism_Unfaded.png","effect":"10 Temp. HP","diceCount":0,"diceSide":0,"bonus":10,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,heroism,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0023","blueprint":"In Handout","name":"Potion of Hill Giant Strength","displayName":"P. of Hill Giant Strength","description":"For 1 hour, your Strength score becomes 21.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"strength","rarity":"uncommon","defaultPrice":300,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/elixir_of_hill_giant_strength-baldurs-gate-3-wiki-guide.png","effect":"For 1 hour, your Strength score becomes 21.","diceCount":0,"diceSide":0,"bonus":21,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,giant strength,hill,consumable,uncommon","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0024","blueprint":"In Handout","name":"Potion of Invisibility","displayName":"P. of Invisibility","description":"You become invisible for 1 hour. Anything you wear or carry is invisible with you. The effect ends early if you attack or cast a spell.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"buff","rarity":"very rare","defaultPrice":1500,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/b/b9/POT_Potion_of_Invisibility_Unfaded.png","effect":"Invisibility for 1 hour","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,invisibility,consumable,very rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0025","blueprint":"In Handout","name":"Potion of Invulnerability","displayName":"P. of Invulnerability","description":"For 1 minute, you have Resistance to all damage.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"defense","rarity":"rare","defaultPrice":900,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/cf28957985c295dcbfd0a7cec1273a5a.png","effect":"For 1 minute, you have Resistance to all damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,invulnerability,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0026","blueprint":"In Handout","name":"Potion of Longevity","displayName":"Potion of Longevity","description":"When you drink this potion, your physical age is reduced by 1d6 + 6 years. Each time after the first that you drink a Potion of Longevity, there is a cumulative 10 percent chance you instead age by that amount.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"transmutation","rarity":"very rare","defaultPrice":2500,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/f/fa/POT_Potion_of_Vitality_Unfaded.png","effect":"your physical age is reduced by 1d6 + 6 years.","diceCount":1,"diceSide":6,"bonus":6,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,longevity,consumable,very rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0027","blueprint":"In Handout","name":"Potion of Mind Reading","displayName":"P. of Mind Reading","description":"For 1 hour, you can cast Detect Thoughts (save DC 13).","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"utility","rarity":"rare","defaultPrice":600,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/0/01/POT_Potion_of_Mind_Reading_Unfaded.png","effect":"Can cast Detect Thoughts for 1 hour","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,mind reading,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"30ft","consumableRange":"30ft","questItem":false},{"id":"0028","blueprint":"In Handout","name":"Potion of Speed","displayName":"Potion of Speed","description":"You gain the effect of the Haste spell for 1 minute (no Concentration required).\nType: Potion\nRarity: Very Rare\nWeight: 0.5","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"movement","rarity":"very rare","defaultPrice":1500,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/POT_Potion_of_Speed_Unfaded.png","effect":"+2AC and additional acttion for 1 minute","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,speed,consumable,very rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0029","blueprint":"In Handout","name":"Potion of Stone Giant Strength","displayName":"P. of Stone Giant Strength","description":"For 1 hour, your Strength score becomes 23.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"strength","rarity":"rare","defaultPrice":700,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/242/300/small/cracked-stone-bottle-holds-fiery-magical-potion-png.png","effect":"For 1 hour, your Strength score becomes 23.","diceCount":0,"diceSide":0,"bonus":23,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,giant strength,stone,consumable,rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0030","blueprint":"In Handout","name":"Potion of Storm Giant Strength","displayName":"P. of Storm Giant Strength","description":"For 1 hour, your Strength score becomes 29.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"strength","rarity":"legendary","defaultPrice":3000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414428788/xctUkll1WH808b3ufnMLKg/original.png","effect":"For 1 hour, your Strength score becomes 29.","diceCount":0,"diceSide":0,"bonus":29,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,giant strength,storm,consumable,legendary","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0031","blueprint":"In Handout","name":"Potion of Vitality","displayName":"Potion of Vitality","description":"Removing exhaustion and curing diseases is a common use for this potent restorative. Its exact effect depends on your table's rules.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"healing","rarity":"very rare","defaultPrice":1800,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414426552/ud2MpSP1AE-HpaOOFq6Zjw/original.png","effect":"heal","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,vitality,consumable,very rare","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0032","blueprint":"In Handout","name":"Potion of Water Breathing","displayName":"P. of Water Breathing","description":"You can breathe underwater for 1 hour after drinking this potion.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"utility","rarity":"uncommon","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/726/1000/1000/638657413900338093.png","effect":"Water breathing for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"potion,water breathing,consumable,uncommon","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0033","blueprint":"In Handout","name":"Backpack","displayName":"Backpack","description":"A Backpack holds up to 30 pounds within 1 cubic foot. It can also serve as a saddlebag.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/3/39/Backpack_A_Unfaded.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"leather,container","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0034","blueprint":"In Handout","name":"Ball Bearings","displayName":"Ball Bearings","description":"Bag of 1,000 tiny metal balls.\n\nAs a Utilize action, you can spill Ball Bearings from their pouch. They spread to cover a level, 10-foot-square area within 10 feet of yourself. A creature that enters this area for the first time on a turn must succeed on a DC 10 Dexterity saving throw or have the Prone condition. It takes 10 minutes to recover the Ball Bearings.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Adventuring Gear","subtype":"Utility","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/011/887/144/small_2x/old-silver-ball-png.png","effect":"On fail: Inflicts a prone condition","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"10ft Square","damage":"","damageType":"","properties":"","mastery":"","tags":"trap,metal","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"self","questItem":false},{"id":"0035","blueprint":"In Handout","name":"Barrel","displayName":"Barrel","description":"A barrel can hold 40 gallons of liquid or 4 cubic feet of solids.","quantity":0,"weight":70,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/6/64/Barrel_B_Unfaded.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"container,wood","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0036","blueprint":"In Handout","name":"Basket","displayName":"Basket","description":"A Basket holds up to 40 pounds within 2 cubic feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":4,"defaultPriceType":"sp","imageUrl":"https://bg3.wiki/w/images/8/8d/Rotting_Basket_Unfaded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"container,wood","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0037","blueprint":"In Handout","name":"Bedroll","displayName":"Bedroll","description":"A Bedroll sleeps one Small or Medium creature. While in a Bedroll, you automatically succeed on saving throws against extreme cold.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Camping Gear","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/0/0f/Clutter_Bedroll_Unfaded.webp","effect":"Cold Protection while sleeping","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"camping,leather","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0038","blueprint":"In Handout","name":"Bell","displayName":"Bell","description":"When rung as a Utilize action, a Bell produces a sound that can be heard up to 60 feet away.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Utility","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/0/02/Summon_Golem_Bell_Faded.png","effect":"Produces a sound up to 60 feet","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,bell","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0039","blueprint":"In Handout","name":"Blanket","displayName":"Blanket","description":"A warm blanket.\n\nWhile wrapped in a blanket, you have Advantage on saving throws against extreme cold.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Camping Gear","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/033/260/956/small/a-brown-and-white-checker-blanket-on-a-transparent-background-free-png.png","effect":"Gives advantage on saving throws against extreme cold","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"camping,silk","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0040","blueprint":"In Handout","name":"Block and Tackle","displayName":"Block and Tackle","description":"A set of pulleys with a cable threaded through them and a hook to attach to Objects, a block and tackle allows you to hoist up to four times the weight you can normally lift.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Lifting tools","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/072/238/345/small_2x/vintage-wooden-block-and-tackle-pulley-isolated-on-transparent-background-png.png","effect":"Increases lifting strength by 4 times","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"lifting tools","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0041","blueprint":"In Handout","name":"Book","displayName":"Book","description":"A Book contains fiction or nonfiction. If you consult an accurate nonfiction Book about its topic, you gain a +5 bonus to Intelligence (Arcana, History, Nature, or Religion) checks you make about that topic.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Book","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/059/226/260/small/leather-bound-book-with-a-brown-cover-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"paper","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0042","blueprint":"In Handout","name":"Glass Bottle","displayName":"Glass Bottle","description":"A Glass Bottle holds up to 1½ pints.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/043/101/609/small/glass-bottle-cut-out-bottle-mockup-on-transparent-background-png.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"container,glass-bottle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0043","blueprint":"In Handout","name":"Bucket","displayName":"Bucket","description":"A Bucket holds up to half a cubic foot of contents.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"container","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/056/227/836/small_2x/rustic-wooden-bucket-with-metal-details-antique-decor-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"container,wood","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0044","blueprint":"In Handout","name":"Burglar's Pack","displayName":"Burglar's Pack","description":"A Burglar’s Pack contains the following items: \nBackpack, \nBall Bearings, \nBell, \n10 Candles, \nCrowbar, \nHooded Lantern, \n7 flasks of Oil, \n5 days of Rations, \nRope, \nTinderbox, and Waterskin.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Pack","rarity":"common","defaultPrice":16,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/6d60b500c485613200b6959182a56737.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0045","blueprint":"In Handout","name":"Caltrops","displayName":"Caltrops","description":"Bag of 20 caltrops.\n\nAs a Utilize action, you can spread Caltrops from their bag to cover a 5-foot-square area within 5 feet of yourself. A creature that enters this area for the first time on a turn must succeed on a DC 15 Dexterity saving throw or take 1 Piercing damage and have its Speed reduced to 0 until the start of its next turn. It takes 10 minutes to recover the Caltrops.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"trap","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367716089/9oF3XGXQqijdUWWeM2SslQ/original.png","effect":"deals damage and reduce speed to 0","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"5 ft Square","damage":"1d4","damageType":"piercing","properties":"","mastery":"","tags":"trap,metal","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0046","blueprint":"In Handout","name":"Candle","displayName":"Candle","description":"A small candle.\n\nFor 1 hour, a lit Candle sheds Bright Light in a 5-foot radius and Dim Light for an additional 5 feet.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"light","rarity":"common","defaultPrice":1,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/035/576/450/small/ai-generated-3d-rendering-of-a-beautiful-colorful-candle-on-transparent-background-ai-generated-png.png","effect":"Light 10 ft radius for 1 hour","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"light,wax","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0047","blueprint":"In Handout","name":"Crossbow Bolt Case","displayName":"Crossbow Bolt Case","description":"A Crossbow Bolt Case holds up to 20 Bolts.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://www.skbcases.com/cdn/shop/files/dbffce1b276df296838414993ebd7c9674c080f0-1200x611.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"container,ammo","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0048","blueprint":"In Handout","name":"Map Case","displayName":"Map Case","description":"A Map Case holds up to 10 sheets of paper or 5 sheets of parchment.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/b3b4c39427eb373b13d753ea828cb782.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"container","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0049","blueprint":"In Handout","name":"Scroll Case","displayName":"Scroll Case","description":"A Scroll Case holds up to 10 sheets of paper or 5 sheets of parchment.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/478/107/small/ornate-ancient-scroll-with-designs-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"container","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0050","blueprint":"In Handout","name":"Chain","displayName":"Chain 10ft","description":"As a Utilize action, you can wrap a Chain around an unwilling creature within 5 feet of yourself that has the Grappled, Incapacitated, or Restrained condition if you succeed on a DC 13 Strength (Athletics) check. If the creature’s legs are bound, the creature has the Restrained condition until it escapes. Escaping the Chain requires the creature to make a successful DC 18 Dexterity (Acrobatics) check as an action. Bursting the Chain requires a successful DC 20 Strength (Athletics) check as an action.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Utility","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/948/294/small/metallic-boat-chain-link-on-transparent-background-png.png","effect":"On fail: Inflicts a grapple, incapacited or restrained condition","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"metal,trap","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0051","blueprint":"In Handout","name":"Chest","displayName":"Chest","description":"A Chest holds up to 12 cubic feet of contents.","quantity":0,"weight":25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/1/16/Small_Traveling_Chest_Icon.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,chest","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0052","blueprint":"In Handout","name":"Climber's Kit","displayName":"Climber's Kit","description":"A Climber’s Kit includes boot tips, gloves, pitons, and a harness. As a Utilize action, you can use the Climber’s Kit to anchor yourself; when you do, you can’t fall more than 25 feet from the anchor point, and you can’t move more than 25 feet from there without undoing the anchor as a Bonus Action.","quantity":0,"weight":12,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"Climbing","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Climbing_Pick.png","effect":"Climbing ability","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Wearable","mastery":"","tags":"tool,kit,climbing","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0053","blueprint":"In Handout","name":"Fine Clothes","displayName":"Fine Clothes","description":"Fine Clothes are made of expensive fabrics and adorned with expertly crafted details. Some events and locations admit only people wearing these clothes.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"clothing","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/5/59/Robe_E_Faded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Clothing","mastery":"","tags":"clothes,fine","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0054","blueprint":"In Handout","name":"Traveler's Clothes","displayName":"Traveler Clothes","description":"Traveler’s Clothes are resilient garments designed for travel in various environments.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"clothing","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/4/44/Robe_D_Faded.png","effect":"utility","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Clothing","mastery":"","tags":"gear,clothing,travelers","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0055","blueprint":"In Handout","name":"Component Pouch","displayName":"Component Pouch","description":"A Component Pouch is watertight and filled with compartments that hold all the free Material components of your spells.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/87754220/wtqVsMyUf2u0OoeogbOb8A/med.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"container","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0056","blueprint":"In Handout","name":"Costume","displayName":"Costume","description":"While wearing a Costume, you have Advantage on any ability check you make to impersonate the person or type of person it represents.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Clothes","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/1/13/Padded_Armour_3_Faded.png","effect":"Has advantage on any ability check to impersonate.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"disguise","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0057","blueprint":"In Handout","name":"Crowbar","displayName":"Crowbar","description":"Using a Crowbar gives you Advantage on Strength checks where the Crowbar’s leverage can be applied.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Tool","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://dayr.wiki.gg/images/Steel_crowbar.png","effect":"Has advantage on Strength checks for leverage","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,metal","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0058","blueprint":"In Handout","name":"Diplomat's Pack","displayName":"Diplomat's Pack","description":"A Diplomat’s Pack contains the following items: \nChest, \nFine Clothes, \nInk, \n5 Ink Pens, \nLamp, \n2 Map Cases or Scroll Cases, \n4 flasks of Oil, \n5 sheets of Paper, \n5 sheets of Parchment, \nPerfume, and Tinderbox.","quantity":0,"weight":39,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Pack","rarity":"common","defaultPrice":39,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/060/363/682/non_2x/elegant-quill-pen-and-inkwell-set-with-old-parchment-for-vintage-writing-white-feather-quill-pen-glass-inkwell-and-old-letter-isolated-on-a-transparent-background-free-png.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,diplomats-pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0059","blueprint":"In Handout","name":"Sprig of Mistletoe","displayName":"Sprig of Mistletoe","description":"A Druidic Focus is carved, tied with ribbon, or painted to channel primal magic. A Druid or Ranger can use such an object as a Spellcasting Focus.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Arcane Focus","subtype":"Druidic Focus","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/012/662/605/small/flower-and-leaf-illustration-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"focus,druidic-focus,sprig-of-mistletoe","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0060","blueprint":"In Handout","name":"Yew Wand","displayName":"Yew Wand","description":"A Druidic Focus is carved, tied with ribbon, or painted to channel primal magic. A Druid or Ranger can use such an object as a Spellcasting Focus.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Arcane Focus","subtype":"Druidic Focus","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/645/987/small/decorative-wand-with-intricate-designs-and-polished-finish-showcasing-blend-of-elegance-and-fantasy-this-wand-is-perfect-for-magical-themes-and-storytelling-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"focus,druidic-focus,yew-wand","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0061","blueprint":"In Handout","name":"Dungeoneer's Pack","displayName":"Dungeoneer's Pack","description":"A Dungeoneer’s Pack contains the following items: \nBackpack, \nCaltrops, \nCrowbar, \n2 flasks of Oil, \n10 days of Rations, \nRope, \nTinderbox, \n10 Torches, \nand Waterskin.","quantity":0,"weight":55,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Pack","rarity":"common","defaultPrice":12,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/675/135/small_2x/a-cartoon-backpack-with-a-green-and-orange-bag-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,dungeoneers-pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0062","blueprint":"In Handout","name":"Entertainer's Pack","displayName":"Entertainer's Pack","description":"An Entertainer’s Pack contains the following items: \nBackpack, \nBedroll, \nBell, \nBullseye Lantern, \n3 Costumes, \nMirror, \n8 flasks of Oil, \n9 days of Rations, \nTinderbox, \nand Waterskin.","quantity":0,"weight":58.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Pack","rarity":"common","defaultPrice":40,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/060/783/438/small/magnificent-vintage-hunter-backpack-open-compartment-cutout-with-gear-original-png.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,entertainers-pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0063","blueprint":"In Handout","name":"Explorer's Pack","displayName":"Explorer's Pack","description":"An Explorer’s Pack contains the following items: \nBackpack, \nBedroll, \n2 flasks of Oil, \n10 days of Rations, \nRope, Tinderbox, \n10 Torches, \nand Waterskin.","quantity":0,"weight":55,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Pack","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/9/9f/Camp_Supply_Sack_Unfaded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,explorers-pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0064","blueprint":"In Handout","name":"Flask","displayName":"Flask","description":"A Flask holds up to 1 pint.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"container","rarity":"common","defaultPrice":2,"defaultPriceType":"cp","imageUrl":"https://bg3.wiki/w/images/3/31/Item_LOOT_Laboratory_Flask_Glass_E_Empty_A_1.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,iron","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0065","blueprint":"In Handout","name":"Grappling Hook","displayName":"Grappling Hook","description":"As a Utilize action, you can throw the Grappling Hook at a railing, a ledge, or another catch within 50 feet of yourself, and the hook catches on if you succeed on a DC 13 Dexterity (Acrobatics) check. If you tied a Rope to the hook, you can then climb it.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"utility","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Grappling_Hook.png","effect":"Climbing ability","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,grappling hook","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"50 ft","consumableRange":"self","questItem":false},{"id":"0066","blueprint":"In Handout","name":"Healer's Kit","displayName":"Healer Kit","description":"A Healer’s Kit has ten uses. As a Utilize action, you can expend one of its uses to stabilize an Unconscious creature that has 0 Hit Points without needing to make a Wisdom (Medicine) check.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"medical","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/f5703bc87d860f2e065c416352c7e7f8.png","effect":"Stabilize an Unconscious creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,medical,healer","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0067","blueprint":"In Handout","name":"Amulet","displayName":"Amulet","description":"A Holy Symbol is bejeweled or painted to channel divine magic. A Cleric or Paladin can use a Holy Symbol as a Spellcasting Focus.\n\nAn Amulet can be worn or held.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Arcane Focus","subtype":"Holy Symbol","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/0/08/Keepsake_Locket_A_Faded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"focus,holy-symbol,amulet","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0068","blueprint":"In Handout","name":"Emblem","displayName":"Emblem","description":"A Holy Symbol is bejeweled or painted to channel divine magic. A Cleric or Paladin can use a Holy Symbol as a Spellcasting Focus.\n\nAn Emblem can be borne on fabric or a Shield.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Arcane Focus","subtype":"Holy Symbol","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/af70127d933982eccae3db2e19eb8d73.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"focus,holy-symbol,emblem","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0069","blueprint":"In Handout","name":"Reliquary","displayName":"Reliquary","description":"A Holy Symbol is bejeweled or painted to channel divine magic. A Cleric or Paladin can use a Holy Symbol as a Spellcasting Focus.\n\nA Reliquary can be held.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Arcane Focus","subtype":"Holy Symbol","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://img.freepik.com/3d-models/v2/L/L/Q/T/0/0/7/LLQT007J/monstrance-icon-poster-1.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"focus,holy-symbol,reliquary","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0070","blueprint":"In Handout","name":"Holy Water","displayName":"Holy Water","description":"When you take the Attack action, you can replace one of your attacks with throwing a flask of Holy Water. Target one creature you can see within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or take 2d8 Radiant damage if it is a Fiend or an Undead.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2e/GRN_Holy_Water_Unfaded.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Thrown up to 20ft","mastery":"","tags":"gear,holy-water","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"20 ft","consumableRange":"20 ft","questItem":false},{"id":"0071","blueprint":"In Handout","name":"Hunting Trap","displayName":"Hunting Trap","description":"As a Utilize action, you can set a Hunting Trap, which is a sawtooth steel ring that snaps shut when a creature steps on a pressure plate in the center. The trap is affixed by a heavy chain to an immobile object, such as a tree or a spike driven into the ground. A creature that steps on the plate must succeed on a DC 13 Dexterity saving throw or take 1d4 Piercing damage and have its Speed reduced to 0 until the start of its next turn. Thereafter, until the creature breaks free of the trap, its movement is limited by the length of the chain (typically 3 feet). A creature can use its action to make a DC 13 Strength (Athletics) check, freeing itself or another creature within its reach on a success. Each failed check deals 1 Piercing damage to the trapped creature.","quantity":0,"weight":25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"trap","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/gensin-impact/images/8/84/Item_Hunting_Trap.png","effect":"deals damage and reduce speed to 0","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,trap,hunting trap","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0072","blueprint":"In Handout","name":"Ink","displayName":"Ink","description":"Ink comes in a 1-ounce bottle, which provides enough ink to write about 500 pages.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"writing","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/ink_pot_items_baldursgate3_wiki_guide_150px.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,writing,ink","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0073","blueprint":"In Handout","name":"Ink Pen","displayName":"Ink Pen","description":"Using Ink, an Ink Pen is used to write or draw.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"writing","rarity":"common","defaultPrice":2,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/056/813/324/small/elegant-black-quill-pen-mockup-on-transparent-background-png.png","effect":"utility","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,writing,pen","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0074","blueprint":"In Handout","name":"Jug","displayName":"Jug","description":"A Jug holds up to 1 gallon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":2,"defaultPriceType":"cp","imageUrl":"https://files.d20.io/images/414894359/6UmXnE5E8NZ2RuJrgypCXg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,jug","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0075","blueprint":"In Handout","name":"Ladder","displayName":"Ladder","description":"A Ladder is 10 feet tall. You must climb to move up or down it.","quantity":0,"weight":25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Climbing","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/042/051/835/small/ai-generated-ladder-hand-drawn-cartoon-style-illustration-free-png.png","effect":"Climbing ability","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,ladder","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0076","blueprint":"In Handout","name":"Lamp","displayName":"Lamp","description":"A Lamp burns Oil as fuel to cast Bright Light in a 15-foot radius and Dim Light for an additional 30 feet.\n\nThe use of oil as fuel lasts 6 hours.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"Oil","type":"Adventuring Gear","subtype":"light","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://files.d20.io/images/406431988/f9GvwjY6p3hrAb4euiM-sQ/original.png","effect":"Emits bright light in a 15 ft radius and dim light for an additional 15 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,lamp","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0077","blueprint":"In Handout","name":"Bullseye Lantern","displayName":"Bullseye Lantern","description":"A Bullseye Lantern burns Oil as fuel to cast Bright Light in a 60-foot Cone and Dim Light for an additional 60 feet.\n\nThe use of oil as fuel lasts 6 hours.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"Oil","type":"Adventuring Gear","subtype":"light","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://oldschool.runescape.wiki/images/Bullseye_lantern_%28lit%29_detail.png","effect":"Emits bright light in a 60 ft cone and dim light for an additional 60 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,light,lantern","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0078","blueprint":"In Handout","name":"Hooded Lantern","displayName":"Hooded Lantern","description":"A Hooded Lantern burns Oil as fuel to cast Bright Light in a 30-foot radius and Dim Light for an additional 30 feet. As a Bonus Action, you can lower the hood, reducing the light to Dim Light in a 5-foot radius, or raise it again.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"Oil","type":"Adventuring Gear","subtype":"light","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://housing-media.wowdb.com/decor/thumb/7423987.png","effect":"Emits bright light in a 30 ft cone and dim light for an additional 30 ft.utility","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,light,lantern","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0079","blueprint":"In Handout","name":"Lock","displayName":"Lock","description":"A Lock comes with a key. Without the key, a creature can use Thieves’ Tools to pick this Lock with a successful DC 15 Dexterity (Sleight of Hand) check.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Security","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/722/659/small/magnificent-creative-vintage-lock-and-key-transparent-background-brass-finish-authentic-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,security,lock","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0080","blueprint":"In Handout","name":"Magnifying Glass","displayName":"Magnifier Glass","description":"A Magnifying Glass grants Advantage on any ability check made to appraise or inspect a highly detailed item. Lighting a fire with a Magnifying Glass requires light as bright as sunlight to focus, tinder to ignite, and about 5 minutes for the fire to ignite.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Ability Check","rarity":"common","defaultPrice":100,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/7/77/Magnifying_Glass_Faded.png","effect":"Gives advantage on any ability check made to appraise or inspect a highly detailed item.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,magnifying glass","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0081","blueprint":"In Handout","name":"Manacles","displayName":"Manacles","description":"As a Utilize action, you can use Manacles to bind an unwilling Small or Medium creature within 5 feet of yourself that has the Grappled, Incapacitated, or Restrained condition if you succeed on a DC 13 Dexterity (Sleight of Hand) check. While bound, a creature has Disadvantage on attack rolls, and the creature is Restrained if the Manacles are attached to a chain or hook that is fixed in place. Escaping the Manacles requires a successful DC 20 Dexterity (Sleight of Hand) check as an action. Bursting them requires a successful DC 25 Strength (Athletics) check as an action.\n\nEach set of Manacles comes with a key. Without the key, a creature can use Thieves’ Tools to pick the Manacles’ lock with a successful DC 15 Dexterity (Sleight of Hand) check.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Security","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://mythical.ink/img/icons/dnd5e/manacles.png","effect":"Bind an unwilling Small or Medium creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,security,manacles","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0082","blueprint":"In Handout","name":"Map","displayName":"Map","description":"If you consult an accurate Map, you gain a +5 bonus to Wisdom (Survival) checks you make to find your way in the place represented on it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Paper","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/067/280/992/small_2x/blank-vintage-treasure-map-on-aged-brown-parchment-for-adventure-or-pirate-themed-design-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,map","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0083","blueprint":"In Handout","name":"Mirror","displayName":"Mirror","description":"A handheld steel Mirror is useful for personal cosmetics but also for peeking around corners and reflecting light as a signal.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"utility","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://www.onlygfx.com/wp-content/uploads/2024/07/vintage-hand-mirror.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,mirror","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0084","blueprint":"In Handout","name":"Net","displayName":"Net","description":"When you take the Attack action, you can replace one of your attacks with throwing a Net. Target a creature you can see within 15 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or have the Restrained condition until it escapes. The target succeeds automatically if it is Huge or larger.\n\nTo escape, the target or a creature within 5 feet of it must take an action to make a DC 10 Strength (Athletics) check, freeing the Restrained creature on a success. Destroying the Net (AC 10; 5 HP; Immunity to Bludgeoning, Poison, and Psychic damage) also frees the target, ending the effect.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"trap","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406432007/mBnXnsYcdm1YxUx3SXwhVA/original.png","effect":"On fail: Inflicts the restrained condition","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"0","damageType":"","properties":"Thrown (5/15), Special","mastery":"","tags":"weapon,ranged,net,martial,utility","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5/15","consumableRange":"5/15","questItem":false},{"id":"0085","blueprint":"In Handout","name":"Oil","displayName":"Oil Flask","description":"You can douse a creature, object, or space with Oil or use it as fuel, as detailed below.\n\nDousing a Creature or an Object. When you take the Attack action, you can replace one of your attacks with throwing an Oil flask. Target one creature or object within 20 feet of yourself. The target must succeed on a Dexterity saving throw (DC 8 plus your Dexterity modifier and Proficiency Bonus) or be covered in oil. If the target takes Fire damage before the oil dries (after 1 minute), the target takes an extra 5 Fire damage from burning oil.\n\nDousing a Space. You can take the Utilize action to pour an Oil flask on level ground to cover a 5-foot-square area within 5 feet of yourself. If lit, the oil burns until the end of the turn 2 rounds from when the oil was lit (or 12 seconds) and deals 5 Fire damage to any creature that enters the area or ends its turn there. A creature can take this damage only once per turn.\n\nFuel. Oil serves as fuel for Lamps and Lanterns. Once lit, a flask of Oil burns for 6 hours in a Lamp or Lantern. That duration doesn’t need to be consecutive; you can extinguish the burning Oil (as a Utilize action) and rekindle it again until it has burned for a total of 6 hours.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Consumable","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://bg3.wiki/w/images/6/62/GRN_Oil_Flask_Unfaded.png","effect":"Douse a creature or space, or use as fuel for lamps and lanterns for 6 hours.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"Fire","properties":"","mastery":"","tags":"gear,oil,flammable","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"20 ft","consumableRange":"20 ft","questItem":false},{"id":"0086","blueprint":"In Handout","name":"Paper","displayName":"Paper","description":"One sheet of Paper can hold about 250 handwritten words.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"writing","rarity":"common","defaultPrice":2,"defaultPriceType":"sp","imageUrl":"https://files.d20.io/marketplace/2685271/vexOeWdABVSwEE0dmADN3g/med.png?1663251495579","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,writing,paper","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0087","blueprint":"In Handout","name":"Parchment","displayName":"Parchment","description":"One sheet of Parchment can hold about 250 handwritten words.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"writing","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://bg3.wiki/w/images/thumb/8/87/Book_Parchment_B_Image.png/300px-Book_Parchment_B_Image.png.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,writing,parchment","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0088","blueprint":"In Handout","name":"Perfume","displayName":"Perfume","description":"Perfume comes in a 4-ounce vial. For 1 hour after applying Perfume to yourself, you have Advantage on Charisma (Persuasion) checks made to influence an Indifferent Humanoid within 5 feet of yourself.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/448/736/small/golden-amber-perfume-bottle-3d-render-luxury-fragrance-abstract-background-png.png","effect":"Has advantage on Persuasion checks for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,perfume","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0089","blueprint":"In Handout","name":"Pole","displayName":"Pole","description":"A Pole is 10 feet long. You can use it to touch something up to 10 feet away. If you must make a Strength (Athletics) check as part of a High or Long Jump, you can use the Pole to vault, giving yourself Advantage on the check.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"utility","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/067/517/317/small/long-wooden-stick-isolated-on-transparent-background-natural-brown-wood-clipping-path-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,pole","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0090","blueprint":"In Handout","name":"Iron Pot","displayName":"Iron Pot","description":"An Iron Pot holds up to 1 gallon.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Camping Gear","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/day-r/images/2/22/Iron_pot.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,camp,pot","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0091","blueprint":"In Handout","name":"Pouch","displayName":"Pouch","description":"A Pouch holds up to 6 pounds within one-fifth of a cubic foot.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://bg3.wiki/w/images/thumb/1/1a/Pouch_A_Faded.webp/300px-Pouch_A_Faded.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,pouch","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0092","blueprint":"In Handout","name":"Priest's Pack","displayName":"Priest's Pack","description":"A Priest’s Pack contains the following items: \nBackpack, \nBlanket, \nHoly Water, \nLamp, \n7 days of Rations, \nRobe, \nand Tinderbox.","quantity":0,"weight":29,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":33,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/985/859/small/leather-backpack-with-rolled-sleeping-bag-atop-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,priests-pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0093","blueprint":"In Handout","name":"Quiver","displayName":"Quiver","description":"A Quiver holds up to 20 Arrows or Bolts.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/054/679/411/small/3d-rendering-adventure-game-icon-concept-3d-render-quiver-icon-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,quiver","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0094","blueprint":"In Handout","name":"Portable Ram","displayName":"Portable Ram","description":"You can use a Portable Ram to break down doors. When doing so, you gain a +4 bonus to the Strength check. One other character can help you use the ram, giving you Advantage on this check.","quantity":0,"weight":35,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Structure","rarity":"common","defaultPrice":4,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/873/381/small_2x/medieval-wooden-siege-battering-ram-with-iron-reinforcements-showcasing-sturdy-craftsmanship-and-historical-design-this-impressive-structure-evokes-sense-of-ancient-warfare-png.png","effect":"Gain a +4 bonus to the Strength check to break down doors.","diceCount":0,"diceSide":0,"bonus":4,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,ram-portable","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0095","blueprint":"In Handout","name":"Rations","displayName":"Rations","description":"Rations consist of travel-ready food, including jerky, dried fruit, hardtack, and nuts. See “Malnutrition” for the risks of not eating.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"food","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://bg3.wiki/w/images/1/13/Heavy_Supply_Pack_Unfaded.png","effect":"Sustains one creature for one day.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,food,rations","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0096","blueprint":"In Handout","name":"Robe","displayName":"Robes","description":"A Robe has vocational or ceremonial significance. Some events and locations admit only people wearing a Robe bearing certain colors or symbols.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"clothing","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/f/f8/Simple_Robe_Flaming_Fist_Faded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Clothing","mastery":"","tags":"gear,clothing,robes","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0097","blueprint":"In Handout","name":"Rope","displayName":"Rope","description":"As a Utilize action, you can tie a knot with Rope if you succeed on a DC 10 Dexterity (Sleight of Hand) check. The Rope can be burst with a successful DC 20 Strength (Athletics) check.\n\nYou can bind an unwilling creature with the Rope only if the creature has the Grappled, Incapacitated, or Restrained condition. If the creature’s legs are bound, the creature has the Restrained condition until it escapes. Escaping the Rope requires the creature to make a successful DC 15 Dexterity (Acrobatics) check as an action.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/rope.png","effect":"Tie a knot or bind an unwilling creature if it has the Grappled, Incapacitated, or Restrained condition.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,rope","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0098","blueprint":"In Handout","name":"Sack","displayName":"Sack","description":"A Sack holds up to 30 pounds within 1 cubic foot.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"container","rarity":"common","defaultPrice":1,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/037/927/120/small/ai-generated-burlap-sack-isolated-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,sack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0099","blueprint":"In Handout","name":"Scholar's Pack","displayName":"Scholar's Pack","description":"A Scholar’s Pack contains the following items: \nBackpack, \nBook, \nInk, \nInk Pen, \nLamp, \n10 flasks of Oil, \n10 sheets of Parchment, \nand Tinderbox.","quantity":0,"weight":22,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":40,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/040/533/638/small_2x/ai-generated-backpack-bag-isolated-on-transparent-background-generative-ai-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,scholars-pack","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0100","blueprint":"In Handout","name":"Shovel","displayName":"Shovel","description":"Working for 1 hour, you can use a Shovel to dig a hole that is 5 feet on each side in soil or similar material.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"tool","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/28/Shovel_Icon.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,tool,shovel","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0101","blueprint":"In Handout","name":"Signal Whistle","displayName":"Signal Whistle","description":"When blown as a Utilize action, a Signal Whistle produces a sound that can be heard up to 600 feet away.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/053/646/932/small/a-wooden-whistle-with-a-rope-attached-to-it-png.png","effect":"Produces a sound that can be heard up to 600 feet away.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,signal-whistle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0102","blueprint":"In Handout","name":"Spell Scroll (Cantrip)","displayName":"Spell Scroll (Cantrip)","description":"Copying a Scroll into a Spellbook. A Wizard spell on a Spell Scroll can be copied into a spellbook. When a spell is copied in this way, the copier must succeed on an Intelligence (Arcana) check with a DC equal to 10 plus the spell’s level. On a successful check, the spell is copied. Whether the check succeeds or fails, the Spell Scroll is destroyed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Spellcasting","rarity":"common","defaultPrice":30,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/067/846/019/small/aged-parchment-scroll-with-ancient-text-showcasing-historical-writing-scroll-is-unrolled-revealing-detailed-script-evoking-sense-of-mystery-and-antiquity-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,spell-scroll","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0103","blueprint":"In Handout","name":"Spell Scroll (Level 1)","displayName":"Spell Scroll (Level 1)","description":"Copying a Scroll into a Spellbook. A Wizard spell on a Spell Scroll can be copied into a spellbook. When a spell is copied in this way, the copier must succeed on an Intelligence (Arcana) check with a DC equal to 10 plus the spell’s level. On a successful check, the spell is copied. Whether the check succeeds or fails, the Spell Scroll is destroyed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Spellcasting","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/067/846/019/small/aged-parchment-scroll-with-ancient-text-showcasing-historical-writing-scroll-is-unrolled-revealing-detailed-script-evoking-sense-of-mystery-and-antiquity-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,spell-scroll","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0104","blueprint":"In Handout","name":"Iron Spike","displayName":"Iron Spike","description":"As a Utilize action, you can use a blunt object, such as a Light Hammer, to hammer a spike into wood, earth, or a similar material. You can do so to jam a door shut or to then tie a Rope or Chain to the Spike.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"Light Hammer","type":"Adventuring Gear","subtype":"trap","rarity":"common","defaultPrice":10,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/previews/060/669/928/non_2x/elegant-abstract-synthetic-thorn-cutout-isolated-grey-sharp-point-exclusive-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,spikes-iron","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0105","blueprint":"In Handout","name":"Spyglass","displayName":"Spyglass","description":"Objects viewed through a Spyglass are magnified to twice their size.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"utility","rarity":"common","defaultPrice":1000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/059/050/041/small/antique-brass-and-wooden-telescope-maritime-spyglass-vintage-nautical-instrument-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,utility,spyglass","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0106","blueprint":"In Handout","name":"String","displayName":"String","description":"String is 10 feet long. You can tie a knot in it as a Utilize action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/046/647/089/small/vintage-brown-rope-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,string","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0107","blueprint":"In Handout","name":"Tent","displayName":"Tent","description":"A Tent sleeps up to two Small or Medium creatures.\n\nA tent shields against extreme cold and wind, reducing the risk of a Constitution save. Without it, a wet night might trigger a DC 10 save or result in a level of exhaustion.\n\nIt negates penalties from wind chill and keeps gear dry.\n\n","quantity":0,"weight":20,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Camping Gear","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/070/054/711/small_2x/triangular-tent-rustic-wood-frame-canvas-shelter-classic-camping-outdoor-adventure-wilderness-cozy-natural-material-vintage-style-survival-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,camp,tent","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0108","blueprint":"In Handout","name":"Tinderbox","displayName":"Tinderbox","description":"A Tinderbox is a small container holding flint, fire steel, and tinder (usually dry cloth soaked in light oil) used to kindle a fire. Using it to light a Candle, Lamp, Bullseye Lantern, Hooded Lantern, or Torch—or anything else with exposed fuel—takes a Bonus Action. Lighting any other fire takes 1 minute.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"fire","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/060/497/358/small/hypnotic-classic-steampunk-lighter-with-intricate-gears-and-a-flint-mechanism-with-transparent-background-genuine-png.png","effect":"Start a fire","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"gear,fire,tinderbox","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0109","blueprint":"In Handout","name":"Torch","displayName":"Torch","description":"A Torch burns for 1 hour, casting Bright Light in a 20-foot radius and Dim Light for an additional 20 feet. When you take the Attack action, you can attack with the Torch, using it as a Simple Melee weapon. On a hit, the target takes 1 Fire damage.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"light","rarity":"common","defaultPrice":1,"defaultPriceType":"cp","imageUrl":"https://files.d20.io/images/367716489/vxGh5Lu8GhF_QS1-xodQ9Q/original.png","effect":"Emits bright light in a 20 ft radius and dim light for an additional 20 ft for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"1","damageType":"Fire","properties":"","mastery":"","tags":"gear,light,torch","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0110","blueprint":"In Handout","name":"Vial","displayName":"Vial","description":"A Vial holds up to 4 ounces.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/075/575/278/small/empty-glass-medical-vial-for-vaccine-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,vial","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0111","blueprint":"In Handout","name":"Waterskin","displayName":"Waterskin","description":"A Waterskin holds up to 4 pints. If you don’t drink sufficient water, you risk dehydration.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Adventuring Gear","subtype":"Container","rarity":"common","defaultPrice":2,"defaultPriceType":"sp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/5/5d/8-full-waterskin.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Container","mastery":"","tags":"gear,container,waterskin","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0112","blueprint":"In Handout","name":"Carriage","displayName":"Carriage","description":"An enclosed land vehicle used to transport passengers and luggage, usually drawn by one or more horses.\n\nProvides land transportation when drawn by suitable animals.\n\nAn animal pulling a carriage, cart, chariot, sled, or wagon can move weight up to five times its base carrying capacity, including the weight of the vehicle. If multiple animals pull the same vehicle, add their carrying capacities together.","quantity":0,"weight":600,"AC":"","modifier":"","debuff":"","requirement":"An animal pulling the carriage","type":"Vehicle","subtype":"Land Vehicle","rarity":"common","defaultPrice":100,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/229/909/small/conestoga-wagon-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"Tack, Harness, and Drawn Vehicles","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0113","blueprint":"In Handout","name":"Cart","displayName":"Cart","description":"A heavy, usually horse-drawn, 2-wheeled vehicle used for farming or transporting freight.\n\nProvides land transportation when drawn by suitable animals.\n\nAn animal pulling a carriage, cart, chariot, sled, or wagon can move weight up to five times its base carrying capacity, including the weight of the vehicle. If multiple animals pull the same vehicle, add their carrying capacities together.","quantity":0,"weight":200,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Land Vehicle","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/069/308/914/small/old-sicilian-cart-with-decorations-and-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"Tack, Harness, and Drawn Vehicles","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0114","blueprint":"In Handout","name":"Chariot","displayName":"Chariot","description":"A lightweight, two-wheeled vehicle designed for speed and maneuverability, usually drawn by one or more horses.\n\nProvides land transportation when drawn by suitable animals.\n\nAn animal pulling a carriage, cart, chariot, sled, or wagon can move weight up to five times its base carrying capacity, including the weight of the vehicle. If multiple animals pull the same vehicle, add their carrying capacities together.","quantity":0,"weight":100,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Land Vehicle","rarity":"common","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/726/448/small/dramatic-abstract-wooden-plow-cutout-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"Tack, Harness, and Drawn Vehicles","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0115","blueprint":"In Handout","name":"Sled","displayName":"Sled","description":"A runner-mounted vehicle designed to carry up to 2 passengers and cargo across snow, ice, or rough terrain when pulled by suitable animals.","quantity":0,"weight":30,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Land Vehicle","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/996/245/small_2x/wooden-sled-with-metal-runners-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,tack,-harness,-and-drawn-vehicles,sled","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0116","blueprint":"In Handout","name":"Wagon","displayName":"Wagon","description":"A four-wheeled vehicle, usually drawn by horse or oxen, primarily used for carrying goods. Most wagons are pulled by a single horse, although 2 horses can pull a wagon as well.\n\nProvides land transportation when drawn by suitable animals.\n\nAn animal pulling a carriage, cart, chariot, sled, or wagon can move weight up to five times its base carrying capacity, including the weight of the vehicle. If multiple animals pull the same vehicle, add their carrying capacities together.","quantity":0,"weight":400,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Land Vehicle","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/130/759/small/ai-generated-old-wooden-cart-isolated-on-transparent-background-vintage-wagon-generative-ai-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,tack,-harness,-and-drawn-vehicles,wagon","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0117","blueprint":"In Handout","name":"Airship","displayName":"Airship","description":"A magical or technologically advanced flying vessels designed for aerial travel, exploration, and combat. \nSpeed: 8 mph\nCrew: 10\nPassengers: 20\nCargo (Tons): 1\nAC: 13\nHP: 300\nDamage Threshold: -\nCost: 40,000 GP","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Flying Vehicle","rarity":"common","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/62750da488ff573e9bdc63c4/ebd6fc97-c728-4d30-b0d2-ba8586bedb96/TC_Bharzul+Airship+01+Top+Deck+Tile_22x15.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Moving Structure","mastery":"","tags":"vehicle,flying,structure","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0118","blueprint":"In Handout","name":"Galley","displayName":"Galley","description":"A large oared sailing vessel used for long-distance travel, naval patrols, trade, or warfare. It can carry crew, passengers, and cargo across seas, rivers, and coastal waters.\n\n\nSpeed: 4 mph\nCrew: 80Passengers: -\nCargo (Tons): 150\nAC: 15\nHP: 500\nDamage Threshold: 20\nCost: 30,000 GP","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Water Vehicle","rarity":"common","defaultPrice":30000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/919/903/small_2x/cartoon-galleon-ship-3d-model-of-a-wooden-sailing-vessel-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,airborne-and-waterborne-vehicles,galley","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0119","blueprint":"In Handout","name":"Keelboat","displayName":"Keelboat","description":"A sturdy river vessel with a shallow hull, used to transport passengers and cargo along rivers, lakes, and coastal waters.\n\nSpeed: 1 mph\nCrew: 1\nPassengers: 6\nCargo (Tons): 1/2\nAC: 15\nHP: 300\nDamage Threshold: 15","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Water Vehicle","rarity":"common","defaultPrice":3000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/460/172/small/stunning-creative-sailboat-on-open-water-white-sails-isolated-high-resolution-png.png","effect":"none","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,airborne-and-waterborne-vehicles,keelboat","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0120","blueprint":"In Handout","name":"Longship","displayName":"Longship","description":"A long, narrow vessel powered by oars and sails, used for swift coastal travel, raids, exploration, and transporting warriors or cargo across open waters.\nSpeed: 3 mph\nCrew: 40\nPassengers: 150\nCargo (Tons): 10\nAC: 15\nHP: 300\nDamage Threshold: 15","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Water Vehicle","rarity":"common","defaultPrice":10000,"defaultPriceType":"gp","imageUrl":"https://t4.ftcdn.net/jpg/15/69/62/71/360_F_1569627150_B0kzZmiKB07BSkt0HOfby8ecjLYOt86m.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,airborne-and-waterborne-vehicles,longship","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0121","blueprint":"In Handout","name":"Rowboat","displayName":"Rowboat","description":"A small boat powered by oars, used to carry a few passengers or light cargo across rivers, lakes, harbors, and calm coastal waters.\nSpeed: 1.5 mph\nCrew: 1\nPassengers: 3\nCargo (Tons): -\nAC: 11\nHP: 50\nDamage Threshold: -","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Water Vehicle","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/621/460/small/stunning-contemporary-wooden-rowboat-isolated-cutout-for-lake-illustrations-detailed-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,airborne-and-waterborne-vehicles,rowboat","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0122","blueprint":"In Handout","name":"Sailing Ship","displayName":"Sailing Ship","description":"A large vessel powered by sails, used to transport passengers, crew, and cargo across seas, coasts, and open waters.\nSpeed: 2 mph\nCrew: 20\nPassengers: 20\nCargo (Tons): 100\nAC: 15\nHP: 300\nDamage Threshold: 15","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Water Vehicle","rarity":"common","defaultPrice":10000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/045/654/070/small/pirate-ship-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,airborne-and-waterborne-vehicles,sailing-ship","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0123","blueprint":"In Handout","name":"Warship","displayName":"Warship","description":"A heavily armed sailing vessel built for naval combat, used to carry soldiers, crew, weapons, and supplies across seas and open waters.\nSpeed: 2.5 mph\nCrew: 60\nPassengers: 60\nCargo (Tons): 200\nAC: 15\nHP: 500\nDamage Threshold: 20","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Vehicle","subtype":"Water Vehicle","rarity":"common","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/060/579/201/small_2x/a-detailed-illustration-of-a-majestic-wooden-sailing-caravel-ship-with-full-sails-against-a-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"service,airborne-and-waterborne-vehicles,warship","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0124","blueprint":"In Handout","name":"Animal Feed","displayName":"Animal Feed","description":"A day’s worth of grain, hay, or similar feed used to sustain a mount or draft animal.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rations","subtype":"Animal Rations","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://static.vecteezy.com/system/resources/previews/055/209/196/non_2x/sack-of-animal-feed-pellets-free-png.png","effect":"Sustains one animal creature for one day.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"animal-feed, rations","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0125","blueprint":"In Handout","name":"Exotic Saddle","displayName":"Exotic Saddle","description":"A saddle comes with a bit, a bridle, reins, and any other equipment needed to use the saddle. An Exotic Saddle is required for riding an aquatic or a flying mount.","quantity":0,"weight":40,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Animal Saddle","rarity":"common","defaultPrice":60,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/075/726/121/small/brown-leather-saddle-with-horn-and-straps-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"saddle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0126","blueprint":"In Handout","name":"Military Saddle","displayName":"Military Saddle","description":"A saddle comes with a bit, a bridle, reins, and any other equipment needed to use the saddle. A Military Saddle gives Advantage on any ability check you make to remain mounted.","quantity":0,"weight":30,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Animal Saddle","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/665/574/small/handmade-leather-saddle-with-intricate-floral-designs-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"saddle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0127","blueprint":"In Handout","name":"Riding Saddle","displayName":"Riding Saddle","description":"A saddle comes with a bit, a bridle, reins, and any other equipment needed to use the saddle.","quantity":0,"weight":25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Animal Saddle","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/067/219/927/non_2x/horse-saddle-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"saddle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0128","blueprint":"In Handout","name":"Camel","displayName":"Camel","description":"Camels have a humped back, short tail, long slim legs, and long neck that dips downward and rises to a small narrow head. As livestock, they provide milk, meat and textiles (fiber and felt from hair). They are also a means of transport and carry cargo.\n\nDiet: Camels are herbivores, consuming desert vegetation, grasses, shrubs, and leaves. They can survive for extended periods without water and are well adapted to sparse, dry environments.\n\nHabitat: Camel habitats span a variety of desert ecosystems, from hot, sandy deserts to cold, mountainous regions.\n\nPredators: Large carnivores such as wolves, lions, and tigers, although these threats vary depending on their geographic location.","quantity":0,"weight":450,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/571/352/small/camel-with-blanket-ai-generative-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,camel","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0129","blueprint":"In Handout","name":"Elephant","displayName":"Elephant","description":"A large land animal, characterized by its long trunk, columnar legs, and huge head with wide, flat ears. Elephants are grayish to brown in color, and their body hair is sparse and coarse. They are used as work animals and mounts. Some are even trained for war. Elephants can be harvested for their tusks, skin and meat.\n\nDiet: Elephants are herbivores, consuming a vast array of vegetation, including grasses, leaves, fruits, and bark (a single adult elephant consumes up to 300 lbs of food per day).\n\nHabitat: Elephants reside in a range of environments, such as savannas, grasslands, forests, and deserts.\n\nPredators: As the largest land mammals, healthy adult elephants face few natural predators due to their size and strength.","quantity":0,"weight":1320,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":200,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/059/695/399/small_2x/a-man-riding-an-elephant-with-a-seat-on-top-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,elephant","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0130","blueprint":"In Handout","name":"Draft Horse","displayName":"Draft Horse","description":"A horse is a four-legged, hoofed herbivorous, primarily used for riding or transport. Horses can be butchered for their hide, meat and hooves.\n\nDiet: Draft horses primarily consume hay, grass, and grains.\n\nHabitat: Draft horses tend to live on farms, in villages, and within the confines of urban centers, typically housed in stables or barns\n\nPredators: While draft horses faced few natural predators due to their immense size, they could still be targeted by wolves, bears, or large cats in some regions.","quantity":0,"weight":540,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/498/893/small/horse-with-flowing-mane-standing-in-a-natural-pose-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,draft-horse","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0131","blueprint":"In Handout","name":"Riding Horse","displayName":"Riding Horse","description":"A horse is a four-legged, hoofed herbivorous, primarily used for riding or transport. Horses can be butchered for their hide, meat and hooves.\n\nDiet: Riding horses primarily consume hay, grass, and grains.\n\nHabitat: Riding horses tend to live on farms, in villages, and within the confines of urban centers, typically housed in stables or barns\n\nPredators: While riding horses faced few natural predators due to their immense size, they could still be targeted by wolves, bears, or large cats in some regions.","quantity":0,"weight":480,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":75,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/072/432/667/small/brown-horse-saddled-ready-riding-gear-isolated-clipart-illustration-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,riding-horse","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0132","blueprint":"In Handout","name":"Mastiff","displayName":"Mastiff","description":"A mastiff is a large and powerful type of dog. Mastiffs are among the largest dogs, and typically have a short coat, a long low-set tail and large feet; the skull is large and bulky, the muzzle broad and short (brachycephalic) and the ears drooping and pendant-shaped. Mastiff are often used as companions and protectors.\n\nDiet: Mastiffs commonly eat meals composed of leftover meats, grains, and vegetables from their owner's table, supplemented by occasional hunting or scavenging.\n\nHabitat: Mastiffs live in domestic environments with their human owners.\n\nPredators: As domesticated animals, mastiffs are not generally subject to natural predators.","quantity":0,"weight":195,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/732/788/small/beautiful-pyrenean-mastiff-dog-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,mastiff","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0133","blueprint":"In Handout","name":"Mule","displayName":"Mule","description":"Donkeys have long ears, a short thick head, a short mane, thin limbs and narrow hooves. Mules (offspring of a male donkey and a female horse) are similar to donkeys but they are larger and taller. These creatures are used as load-bearers, cart-pullers, and even racing mounts. If needed, a donkey/mule can be butchered for its hide and meat.\n\nDiet: Donkeys and mules are herbivores, primarily consuming hay, grass, and grains like oats and barley.\n\nHabitat: Donkeys and mules are found in a variety of environments, from rural farmlands and pastures to mountainous regions and arid landscapes. As domesticated animals, they rely on humans for shelter, food, and care.\n\nPredators: In the wild, donkeys and mules face potential predation from large carnivores such as wolves, bears, and big cats.","quantity":0,"weight":420,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":8,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/059/525/030/small/strong-and-sturdy-mule-hybrid-stands-confidently-showcasing-its-unique-blend-of-horse-and-donkey-traits-this-hardworking-animal-embodies-resilience-and-strength-perfect-for-various-tasks-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,mule","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0134","blueprint":"In Handout","name":"Pony","displayName":"Pony","description":"A pony is smaller than a horse, with shorter legs, although often thicker and sturdier proportionally through the body (note: a pony is not a young horse, but a different animal). They are primarily used for driving, but some can be used as mounts. If needed, a pony can be butchered for its hide, meat and its mane of hair.\n\nDiet: Ponies, like horses, primarily consume a diet consisting of hay, grass, and grain.\n\nHabitat: Ponies can adapt to various habitats, including farmlands, grasslands, and mountainous regions, often living in stables or open pastures alongside other equines.\n\nPredators: Natural predators of ponies include large carnivores like wolves, coyotes, and mountain lions, as well as wild dogs and bears.","quantity":0,"weight":420,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":30,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/065/851/064/small/small-fluffy-brown-pony-with-white-mane-and-tail-stands-against-transparency-background-showcasing-its-gentle-and-friendly-demeanor-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,pony","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0135","blueprint":"In Handout","name":"Warhorse","displayName":"Warhorse","description":"A large, muscular horse that is primarily used as a mount for combat. The horse is trained to be less likely to flee from danger, and is able to trample smaller enemies. A large, well-trained warhorse is considered too valuable to be pastured or butchered.\n\nDiet: Their diet consists of hay, grass, and grains like oats and barley. These horses also require a constant supply of fresh, clean water to maintain proper hydration.\n\nHabitat: War horses live in stables or paddocks near their owners' castles or military encampments, where they were cared for and trained.\n\nPredators: While they have few natural predators, wolves and large cats like cougars could pose a threat to the well-being of a war horse in the wild. However, domesticated horses face additional risks from human-related activities (i.e. injuries sustained during battles, accidents, illnesses).","quantity":0,"weight":540,"AC":"","modifier":"","debuff":"","requirement":"","type":"Mount","subtype":"Mounts and Other Animals","rarity":"common","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/074/675/166/small_2x/majestic-armored-warhorse-with-ornate-medieval-barding-and-saddle-3d-render-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"mount,mounts-and-other-animals,warhorse","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0136","blueprint":"In Handout","name":"Alchemist's Supplies","displayName":"Alchemist's Supplies","description":"Alchemist's supplies enable a character to produce useful concoctions, such as acid or alchemist's fire. Crafting alchemical items can be done by using materials worth half the price of purchasing the item.\n\nThis proficiency gives a character knowledge of chemistry as well as other related sciences. To that end, if firearms are allowed in your game this tool would also allow the creation of gunpowder.\n\nAlchemist's supplies include two glass beakers, a metal frame to hold a beaker in place over an open flame, a glass stirring rod, a small mortar and pestle, and a pouch of common alchemical ingredients, including salt, powdered iron, and purified water.\n\nArcana: Proficiency with alchemist's supplies allows you to unlock more information on Arcana checks involving potions and similar materials.\n\nInvestigation: When you inspect an area for clues, proficiency with alchemist's supplies grants additional insight into any chemicals or other substances that might have been used in the area.\n\nAlchemical Crafting: You can use this tool proficiency to create alchemical items. A character can spend money to collect raw materials, which weigh 1 pound for every 50 gp spent. The DM can allow a character to make a check using the indicated skill with advantage. As part of a long rest, you can use alchemist's supplies to make one dose of acid, alchemist's fire, antitoxin, oil, perfume, or soap. Subtract half the value of the created item from the total gp worth of raw materials you are carrying.\nDC 10 - Create a puff of smoke\nDC 10 - Identify a poison\nDC 15 - Identify a substance\nDC 15 - Start a fire\nDC 20 - Neutralize acid","quantity":0,"weight":8,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"Artisan","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/056/754/357/small_2x/beautiful-traditional-3d-render-of-vintage-alchemy-still-4k-png.png","effect":"Ability: Intelligence, Utilize: Identify a substance (DC 15), or start a fire (DC 15), Craft: Acid, Alchemist’s Fire, Component Pouch, Oil, Paper, Perfume","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,crafting,alchemist","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0137","blueprint":"In Handout","name":"Brewer's Supplies","displayName":"Brewer's Supplies","description":"Brewing is the art of producing beer and other alcoholic beverages. These supplies also allow for the purification and treatment of water, making it safe to drink. Crafting beer takes weeks of fermentation, but only a few hours of work.\n\nBrewer's supplies include a large glass jug , a quantity of hops, a siphon, and several feet of tubing.\n\nHistory: Proficiency with brewer's supplies gives you additional insight on Intelligence (History) checks concerning events that involve alcohol as a significant element.\n\nMedicine: This tool proficiency grants additional insight when you treat anyone suffering from alcohol poisoning or when you can use alcohol to dull pain.\n\nPersuasion: A stiff drink can help soften the hardest heart. Your proficiency with brewer's supplies can help you ply someone with drink, giving them just enough alcohol to mellow their mood.\n\nPotable Water: Your knowledge of brewing enables you to purify water that would otherwise be undrinkable. As part of a long rest, you can purify up to 6 gallons of water, or 1 gallon as part of a short rest.\nDC 15 - Detect poison/impurities in a drink\nDC 10 - Identify alcohol\nDC 20 - Ignore the effects of alcohol","quantity":0,"weight":9,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"Artisan","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/057/652/788/non_2x/magnificent-abstract-home-brewing-equipment-kit-transparent-background-authentic-free-png.png","effect":"Ability: Intelligence, Utilize: Detect poisoned drink (DC 15), or identify alcohol (DC 10), Craft: Antitoxin","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,brewer","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0138","blueprint":"In Handout","name":"Calligrapher's Supplies","displayName":"Calligrapher's Supplies","description":"Calligraphy treats writing as a delicate, beautiful art. Calligraphers produce text that is pleasing to the eye, using a style that is difficult to forge. Their supplies also give them some ability to examine scripts and determine if they are legitimate, since a calligrapher's training involves long hours of studying writing and attempting to replicate its style and design.\n\nCalligrapher's supplies include ink, a dozen sheets of parchment, and three quills.\n\nArcana: Although calligraphy is of little help in deciphering the content of magical writings, proficiency with these supplies can aid in identifying who wrote a script of a magical nature.\n\nHistory This tool proficiency can augment the benefit of successful checks made to analyze or investigate ancient writings, scrolls, or other texts, including runes etched in stone or messages in frescoes or other displays.\n\nDecipher Treasure Map This tool proficiency grants you expertise in examining maps. You can make an Intelligence check to determine a map's age, whether a map includes any hidden messages, or similar facts.\nDC 10 - Identify writer of nonmagical script\nDC 15 - Determine writer's state of mind\nDC 15 - Spot forged text\nDC 20 - Forge a signature","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"Artisan","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/694/742/small_2x/elegant-islamic-calligraphy-tools-set-featuring-pens-and-inkwell-with-arabic-script-png.png","effect":"Ability: Dexterity, Utilize: Write text with impressive flourishes that guard against forgery (DC 15), Craft: Ink, Spell Scroll (Cantrip), Spell Scroll (Level 1)","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,calligrapher","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0139","blueprint":"In Handout","name":"Carpenter's Tools","displayName":"Carpenter's Tools","description":"Skill at carpentry enables a character to construct wooden structures. A carpenter can build a house, a shack, a wooden cabinet, or similar items.\n\nCarpenter's tools include a saw, a hammer, nails, a hatchet, a square, a ruler, an adze, a plane, and a chisel.\n\nHistory: This tool proficiency aids you in identifying the use and the origin of wooden buildings and other large wooden objects.\n\nInvestigation: You gain additional insight when inspecting areas within wooden structures, because you know tricks of construction that can conceal areas from discovery.\n\nPerception: You can spot irregularities in wooden walls or floors, making it easier to find trap doors and secret passages.\n\nStealth: You can quickly assess the weak spots in a wooden floor, making it easier to avoid the places that creak and groan when they're stepped on.\n\nFortify: With 1 minute of work and raw materials, you can make a door or window harder to force open. Increase the DC needed to open it by 5.\n\nTemporary Shelter: As part of a long rest, you can construct a lean-to or a similar shelter to keep your group dry and in the shade for the duration of the rest. Because it was fashioned quickly from whatever wood was available , the shelter collapses 1d3 days after being assembled.\nDC 10 - Build a simple wooden structure\nDC 15 - Design a complex wooden structure\nDC 15 - Find a weak point in a wooden wall\nDC 20 - Pry apart a door","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":8,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/025/757/small/crafting-tools-on-white-background-png.png","effect":"Ability: Strength, Utilize: Seal or pry open a door or container (DC 20), Craft: Club, Greatclub, Quarterstaff, Barrel, Chest, Ladder, Pole, Portable Ram, Torch","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,carpenter","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0140","blueprint":"In Handout","name":"Cartographer's Tools","displayName":"Cartographer's Tools","description":"Using cartographer's tools, you can create accurate maps to make travel easier for yourself and those who come after you. These maps can range from large-scale depictions of mountain ranges to diagrams that show the layout of a dungeon level.\n\nCartographer's tools consist of a quill, ink, parchment, a pair of compasses, calipers, and a ruler.\n\nArcana, History, Religion: You can use your knowledge of maps and locations to unearth more detailed information when you use these skills. For instance, you might spot hidden messages in a map, identify when the map was made to determine if geographical features have changed since then, and so forth.\n\nNature: Your familiarity with physical geography makes it easier for you to answer questions or solve issues relating to the terrain around you.\n\nSurvival: Your understanding of geography makes it easier to find paths to civilization, to predict areas where villages or towns might be found, and to avoid becoming lost. You have studied so many maps that common patterns, such as how trade routes evolve and where settlements a rise in relation to geographic locations, are familiar to you.\n\nCraft a Map: While traveling, you can draw a map as you go in addition to engaging in other activity.\nDC 10 - Determine a map's age & origin\nDC 15 - Estimate direction & distance to a landmark\nDC 15 - Discern that a map is fake\nDC 20 - Fill in a missing part of a map","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/b3b4c39427eb373b13d753ea828cb782.png","effect":"Ability: Wisdom, Utilize: Draft a map of a small area (DC 15), Craft: Map","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,cartographer","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0141","blueprint":"In Handout","name":"Cobbler's Tools","displayName":"Cobbler's Tools","description":"Although the cobbler's trade might seem too humble for an adventurer, a good pair of boots will see a character across rugged wilderness and through deadly dungeons.\n\nCobbler's tools consist of a hammer, an awl, a knife, a s hoe stand, a cutter, spare leather, and thread.\n\nArcana, History: Your knowledge of shoes aids you in identifying the magical properties of enchanted boots or the history of such items.\n\nInvestigation: Footwear holds a surprising number of secrets. You can learn where someone has recently visited by examining the wear and the dirt that has accumulated on their shoes. Your experience in repairing shoes makes it easier for you to identify where damage might come from.\n\nMaintain Shoes: As part of a long rest, you can repair your companions' shoes. For the next 24 hours, up to six creatures of your choice who wear shoes you worked on can travel up to 10 hours a day without making saving throws to avoid exhaustion.\n\nCraft Hidden Compartment: With 8 hours of work, you can add a hidden compartment to a pair of shoes. The compartment can hold an object up to 3 inches long and 1 inch wide and deep. You make an Intelligence check using your tool proficiency to determine the Intelligence (Investigation) check DC needed to find the compartment.\nDC 10 - Determine a shoe's age and origin\nDC 15 - Find a hidden compartment in a boot heel","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/718/395/small_2x/3d-render-of-shoe-repair-tools-on-wooden-sign-illustration-png.png","effect":"Ability: Dexterity, Utilize: Modify footwear to give Advantage on the wearer’s next Dexterity (Acrobatics) check (DC 10), Craft: Climber’s Kit","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,cobbler","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0142","blueprint":"In Handout","name":"Cook's Utensils","displayName":"Cook's Utensils","description":"Adventuring is a hard life. With a cook along on the journey, your meals will be much better than the typical mix of hardtack and dried fruit.\n\nCook's utensils include a metal pot, knives, forks, a stirring spoon, and a ladle.\n\nHistory: Your knowledge of cooking techniques allows you to assess the social patterns involved in a culture's eating habits.\n\nMedicine: When administering treatment, you can transform medicine that is bitter or sour into a pleasing concoction.\n\nSurvival: When foraging for food, you can make do with ingredients you scavenge that others would be unable to transform into nourishing meals.\n\nPrepare Meals: As part of a short rest, you can prepare a tasty meal that helps your companions regain their strength. You and up to five creatures of your choice regain 1 extra hit point per Hit Die spent during a short rest, provided you have access to your cook's utensils and sufficient food.\nDC 10 - Create a typical meal\nDC 10 - Duplicate a meal\nDC 15 - Spot poison or impurities in food\nDC 15 - Create a gourmet meal","quantity":0,"weight":8,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/460/838/small/dramatic-vintage-set-of-silver-kitchen-utensils-cutout-premium-png.png","effect":"Ability: Wisdom, Utilize: Improve food’s flavor (DC 10), or detect spoiled or poisoned food (DC 15), Craft: Rations","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,cook","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0143","blueprint":"In Handout","name":"Glassblower's Tools","displayName":"Glassblower's Tools","description":"Someone proficient with glassblower's tools has not only the ability to shape glass but also specialized knowledge of the methods used to produce glass objects.\n\nThe tools include a blowpipe, a small marver, blocks, and tweezers. You need a source of heat to work glass.\n\nArcana, History: Your knowledge of glassmaking techniques aids you when you examine glass objects, such as potion bottles or glass items found in a treasure hoard. For instance, you can study how a glass potion bottle has been changed by its contents to help determine a potion's effects. (A potion might leave behind a residue, deform the glass, or stain it.)\n\nInvestigation: When you study an area, your knowledge can aid you if the clues include broken glass or glass objects.\n\nIdentify Weakness: With 1 minute of study, you can identify the weak points in a glass object. Any damage dealt to the object by striking a weak spot is doubled.\nDC 10 - Identify source of glass\nDC 15 - Produce a glass item (with a viable heat source)\nDC 20 - Determine what a glass object once held","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":30,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/058/026/492/non_2x/elegant-classic-glassblower-pipe-hot-glass-transparent-background-premium-free-png.png","effect":"Ability: Intelligence, Utilize: Discern what a glass object held in the past 24 hours (DC 15), Craft: Glass Bottle, Magnifying Glass, Spyglass, Vial","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,glassblower","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0144","blueprint":"In Handout","name":"Jeweler's Tools","displayName":"Jeweler's Tools","description":"Training with jeweler's tools includes the basic techniques needed to beautify gems. It also gives you expertise in identifying precious stones.\n\nJeweler's tools consist of a small saw and hammer, files, pliers, and tweezers.\n\nArcana: Proficiency with jeweler's tools grants you knowledge about the reputed mystical uses of gems. This insight proves handy when you make Arcana checks related to gems or gem-encrusted items.\n\nInvestigation: When you inspect jeweled objects, your proficiency with jeweler's tools aids you in picking out clues they might hold.\n\nIdentify Gems: You can identify gems and determine their value at a glance.\nDC 15 - Modify a gem's appearance\nDC 20 - Determine a gem's history","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/166/973/small_2x/golden-long-nose-pliers-precision-tool-luxury-gold-plated-pliers-isolated-transparent-background-png.png","effect":"Ability: Intelligence, Utilize: Discern a gem’s value (DC 15), Craft: Arcane Focus: Crystal, Orb, Rod, Wand, Holy Symbol: Amulet, Emblem, Reliquary","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,jeweler","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0145","blueprint":"In Handout","name":"Leatherworker's Tools","displayName":"Leatherworker's Tools","description":"Knowledge of leatherworking extends to lore concerning animal hides and their properties. It also confers knowledge of leather armor and similar goods.\n\nLeatherworker's tools include a knife, a small mallet, an edger, a hole punch, thread, and leather scraps.\n\nArcana: Your expertise in working with leather grants you added insight when you inspect magic items crafted from leather, such as boots and some cloaks.\n\nInvestigation: You gain added insight when studying leather items or clues related to them, as you draw on your knowledge of leather to pick out details that others would overlook.\n\nIdentify Hides: When looking at a hide or a leather item, you can determine the source of the leather and any special techniques used to treat it. For example, you can spot the difference between leather crafted using dwarven methods and leather crafted using halfling methods.\nDC 10 - Modify a leather item's appearance\nDC 20 - Determine a leather item's history","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/065/690/160/small/red-handled-awl-tool-for-leather-work-and-woodworking-crafts-isolated-on-transparent-background-png.png","effect":"Ability: Dexterity, Utilize: Add a design to a leather item (DC 10), Craft: Sling, Whip, Hide Armor, Leather Armor, Studded Leather Armor, Backpack, Crossbow Bolt Case, Map Case, Scroll Case, Parchment, Pouch, Quiver, Waterskin","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,leatherworker","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0146","blueprint":"In Handout","name":"Mason's Tools","displayName":"Mason's Tools","description":"Mason's tools allow you to craft stone structures, including walls and buildings crafted from brick.\n\nMason's tools consist of a trowel, a hammer, a chisel, brushes, and a square.\n\nHistory: Your expertise aids you in identifying a stone building's date of construction and purpose, a long with insight into who might have built it.\n\nInvestigation: You gain additional insight when inspecting areas within stone structures.\n\nPerception: You can spot irregularities in stone walls or floors, making it easier to find trap doors and secret passages.\n\nDemolition: Your knowledge of masonry allows you to spot weak points in brick walls. You deal double damage to such structures with your weapon attacks.\nDC 10 - Chisel a small hole in a stone wall\nDC 15 - Find a weak point in a stone wall","quantity":0,"weight":8,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/244/904/small/quality-chisel-with-wooden-handle-designed-for-precision-woodworking-tasks-png.png","effect":"Ability: Strength, Utilize: Chisel a symbol or hole in stone (DC 10), Craft: Block and Tackle","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,mason","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0147","blueprint":"In Handout","name":"Painter's Supplies","displayName":"Painter's Supplies","description":"Proficiency with painter's supplies represents your ability to paint and draw. You also acquire an understanding of art history, which can aid you in examining works of art.\n\nPainter's supplies include an easel, canvas, paints, brushes, charcoal sticks, and a palette.\n\nArcana, History, Religion: Your expertise aids you in uncovering lore of any sort that is attached to a work of art, such as the magical properties of a painting or the origins of a strange mural found in a dungeon.\n\nInvestigation, Perception: When you inspect a painting or a similar work of visual art, your knowledge of the practices behind creating it can grant you additional insight.\n\nPainting and Drawing: As part of a short or long rest, you can produce a simple work of art. Although your work might lack precision, you can capture an image or a scene, or make a quick copy of a piece of art you saw.\nDC 10 - Paint an accurate portrait\nDC 20 - Create a painting with a hidden message","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/033/252/197/small/color-palette-and-paintbrush-ai-generated-free-png.png","effect":"Ability: Wisdom, Utilize: Paint a recognizable image of something you’ve seen (DC 10), Craft: Druidic Focus: Sprig of Mistletoe, Yew Wand, Holy Symbol: Amulet, Emblem, Reliquary","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,painter","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0148","blueprint":"In Handout","name":"Potter's Tools","displayName":"Potter's Tools","description":"Potter's tools are used to create a variety of ceramic objects, most typically pots and similar vessels.\n\nPotter's tools include potter's needles, ribs, scrapers, a knife, and calipers.\n\nHistory: Your expertise aids you in identifying ceramic objects, including when they were created and their likely place or culture of origin.\n\nInvestigation, Perception: You gain additional insight when inspecting ceramics, uncovering clues others would overlook by spotting minor irregularities.\n\nReconstruction: By examining pottery shards, you can determine an object's original, intact form and its likely purpose.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/854/084/small/elegant-minimalist-pottery-wheel-spinning-clay-side-view-isolated-premium-png.png","effect":"Ability: Intelligence, Utilize: Discern what a ceramic object held in the past 24 hours (DC 15), Craft: Jug, Lamp","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan's-tools,potters-tools","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0149","blueprint":"In Handout","name":"Smith's Tools","displayName":"Smith's Tools","description":"Smith's tools allow you to work metal, beating it to alter its shape, repair damage, or work raw ingots into useful items.\n\nSmith's tools include hammers, tongs, charcoal, rags, and a whetstone.\n\nArcana and History: Your expertise lends you additional insight when examining metal objects, such as weapons.\n\nInvestigation: You can spot clues and make deductions that others might overlook when an investigation involves armor, weapons, or other metalwork.\n\nRepair: With access to your tools and an open flame hot enough to make metal pliable, you can restore 10 hit points to a damaged metal object for each hour of work.\nDC 10 - Sharpen a dull blade\nDC 15 - Repair a suit of armor\nDC 15 - Sunder a nonmagical metal objectTool set for metalwork.\nWeight: 8","quantity":0,"weight":8,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/060/685/929/small/gorgeous-urban-minimal-isometric-anvil-single-weight-stroke-black-with-scalable-design-professional-png.png","effect":"Ability: Strength, Utilize: Pry open a door or container (DC 20), Craft: Any Melee weapon (except Club, Greatclub, Quarterstaff, and Whip), Medium armor (except Hide), Heavy armor, Ball Bearings, Bucket, Caltrops, Chain, Crowbar, Firearm Bullets, Grappling Hook, Iron Pot, Iron Spikes, Sling Bullets","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,smith","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0150","blueprint":"In Handout","name":"Tinker's Tools","displayName":"Tinker's Tools","description":"A set of tinker's tools is designed to enable you to repair many mundane objects. Though you can't manufacture much with tinker's tools, you can mend torn clothes, sharpen a worn sword, and patch a tattered suit of chain mail.\n\nTinker's tools include a variety of hand tools, thread, needles, a whetstone, scraps of cloth and leather, and a small pot of glue.\n\nHistory: You can determine the age and origin of objects, even if you have only a few pieces remaining from the original.\n\nInvestigation: When you inspect a damaged object, you gain knowledge of how it was damaged and how long ago.\n\nRepair: You can restore 10 hit points to a damaged object for each hour of work. For any object, you need access to the raw materials required to repair it. For metal objects, you need access to an open flame hot enough to make the metal pliable.\nDC 10 - Temporarily repair a disabled device\nDC 15 - Repair an item in half the time\nDC 20 - Improvise a temporary item using scraps","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/052/786/224/small/essential-tool-belt-with-various-tools-ready-for-use-in-workshop-activities-png.png","effect":"Ability: Dexterity, Utilize: Assemble a Tiny item composed of scrap, which falls apart in 1 minute (DC 20), Craft: Musket, Pistol, Bell, Bullseye Lantern, Flask, Hooded Lantern, Hunting Trap, Lock, Manacles, Mirror, Shovel, Signal Whistle, Tinderbox","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,tinker","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0151","blueprint":"In Handout","name":"Weaver's Tools","displayName":"Weaver's Tools","description":"Weaver's tools allow you to create cloth and tailor it into articles of clothing.\n\nWeaver's tools include thread, needles, and scraps of cloth. You know how to work a loom, but such equipment is too large to transport.\n\nArcana, History: Your expertise lends you additional insight when examining cloth objects, including cloaks and robes.\n\nInvestigation: Using your knowledge of the process of creating cloth objects, you can spot clues and make deductions that others would overlook when you examine tapestries, upholstery, clothing, and other woven items.\n\nRepair: As part of a short rest, you can repair a single damaged cloth object.\n\nCraft Clothing: Assuming you have access to sufficient cloth and thread, you can create an outfit for a creature as part of a long rest.\nDC 10 - Repurpose cloth\nDC 10 - Mend a hole in a piece of cloth\nDC 15 - Tailor an outfit","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://goblincoach.com/wp-content/uploads/2023/04/Sigourneys-Weavers-Tools.jpeg","effect":"Ability: Dexterity, Utilize: Mend a tear in clothing (DC 10), or sew a Tiny design (DC 10), Craft: Padded Armor, Basket, Bedroll, Blanket, Fine Clothes, Net, Robe, Rope, Sack, String, Tent, Traveler’s Clothes","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,weaver","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0152","blueprint":"In Handout","name":"Woodcarver's Tools","displayName":"Woodcarver's Tools","description":"Woodcarver's tools allow you to craft intricate objects from wood, such as wooden tokens or arrows.\n\nWoodcarver's tools consist of a knife, a gouge, and a small saw.\n\nArcana, History: Your expertise lends you additional insight when you examine wooden objects, such as figurines or arrows.\n\nNature: Your knowledge of wooden objects gives you some added insight when you examine trees.\n\nRepair: As part of a short rest, you can repair a single damaged wooden object.\n\nCraft Arrows: As part of a short rest, you can craft up to five arrows. As part of a long rest, you can craft up to twenty. You must have enough wood on hand to produce them.\nnDC 10 - Craft a small wooden figurine\nnDC 15 - Carve an intricate pattern in wood","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"artisan","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/057/557/255/non_2x/impressive-contemporary-detailed-wood-carving-tools-isolated-set-original-free-png.png","effect":"Ability: Dexterity, Utilize: Carve a pattern in wood (DC 10), Craft: Club, Greatclub, Quarterstaff, Ranged weapons (except Pistol, Musket, and Sling), Arcane Focus: Crystal, Orb, Rod, Wand, Arrows, Bolts, Druidic Focus: Sprig of Mistletoe, Yew Wand, Ink Pen, Needles","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,artisan,woodcarver","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0153","blueprint":"In Handout","name":"Navigator's Tools","displayName":"Navigator's Tools","description":"Proficiency with navigator's tools helps you determine a true course based on observing the stars. It also grants you insight into charts and maps while developing your sense of direction.\n\nNavigator's tools include a sextant, a compass, calipers, a ruler, parchment, ink, and a quill.\n\nSurvival: Knowledge of navigator's tools helps you avoid becoming lost and also grants you insight into the most likely location for roads and settlements.\n\nSighting: By taking careful measurements, you can determine your position on a nautical chart and the time of day.\nDC 10 - Plot a course\nDC 15 - Discover your position on a nautical chart","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"kit","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/026/691/471/small_2x/map-and-compass-isolated-camping-and-hiking-equipment-summer-camp-and-holiday-vacation-3d-rendering-png.png","effect":"Ability: Wisdom, Utilize: Plot a course (DC 10), or determine position by stargazing (DC 15)","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,kit,navigator","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0154","blueprint":"In Handout","name":"Thieves' Tools","displayName":"Thieves' Tools","description":"Perhaps the most common tools used by adventurers, thieves' tools are designed for picking locks and foiling traps. Proficiency with the tools also grants you a general knowledge of traps and locks.\n\nThieves' tools include a small file, a set of lock picks, a small mirror mounted on a metal handle, a set of narrow-bladed scissors, and a pair of pliers.\n\nHistory: Your knowledge of traps grants you insight when answering questions about locations that are renowned for their traps.\n\nInvestigation and Perception: You gain additional insight when looking for traps, because you have learned a variety of common signs that betray their presence.\n\nSet a Trap: Just as you can disable traps, you can also set them. As part of a short rest, you can create a trap using items you have on hand. The total of your check becomes the DC for someone else's attempt to discover or disable the trap. The trap deals damage appropriate to the materials used in crafting it (such as poison or a weapon) or damage equal to half the total of your check, whichever the DM deems appropriate.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Artisan's Tools","subtype":"kit","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/6d60b500c485613200b6959182a56737.png","effect":"Ability: Dexterity, Utilize: Pick a lock (DC 15), or disarm a trap (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,kit,thieves","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0155","blueprint":"In Handout","name":"Disguise Kit","displayName":"Disguise Kit","description":"The perfect tool for anyone who wants to engage in trickery, a disguise kit enables its owner to adopt a false identity.\n\nA disguise kit includes cosmetics, hair dye, small props, and a few pieces of clothing.\n\nDeception: In certain cases, a disguise can improve your ability to weave convincing lies.\n\nIntimidation: The right disguise can make you look more fearsome, whether you want to scare someone away by posing as a plague victim or intimidate a gang of thugs by taking the appearance of a bully.\n\nPerformance: A cunning disguise can enhance an audience's enjoyment of a performance, provided the disguise is properly designed to evoke the desired reaction.\n\nPersuasion: Folk tend to trust a person in uniform. If you disguise yourself as an authority figure, your efforts to persuade others are often more effective.\n\nCreate Disguise: As part of a long rest, you can create a disguise. It takes you 1 minute to don such a disguise once you have created it. You can carry only one such disguise on you at a time without drawing undue attention, unless you have a bag of holding or a similar method to keep them hidden. Each disguise weighs 1 pound.\n\nAt other times, it takes 10 minutes to craft a disguise that involves moderate changes to your appearance, and 30 minutes for one that requires more extensive changes.\nDC 10 - Cover injuries or distinguishing marks\nDC 15 - Spot a disguise being used by someone else\nDC 20 - Copy a humanoid's appearance","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"kit","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/c/c4/Disguise_Kit_Unfaded.png","effect":"Ability: Charisma, Utilize: Apply makeup (DC 10), Craft: Costume","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,kit,disguise","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0156","blueprint":"In Handout","name":"Forgery Kit","displayName":"Forgery Kit","description":"A forgery kit is designed to duplicate documents and to make it easier to copy a person's seal or signature.\n\nA forgery kit includes several different types of ink, a variety of parchments and papers, several quills, seals and sealing wax, gold and silver leaf, and small tools to sculpt melted wax to mimic a seal.\n\nArcana: A forgery kit can be used in conjunction with the Arcana skill to determine if a magic item is real or fake.\n\nDeception: A well-crafted forgery, such as papers proclaiming you to be a noble or a writ that grants you safe passage, can lend credence to a lie.\n\nHistory: A forgery kit combined with your knowledge of history improves your ability to create fake historical documents or to tell if an old document is authentic.\n\nInvestigation: When you examine objects, proficiency with a forgery kit is useful for determining how an object was made and whether it is genuine.\n\nOther Tools: Knowledge of other tools makes your forgeries that much more believable. For example, you could combine proficiency with a forgery kit and proficiency with cartographer's tools to make a fake map.\n\nQuick Fake: As part of a short rest, you can produce a forged document no more than one page in length. As part of a long rest, you can produce a document that is up to four pages long. Your Intelligence check using a forgery kit determines the DC for someone else's Intelligence (Investigation) check to spot the fake.\nDC 15 - Mimic handwriting\nDC 20 - Duplicate a wax seal","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"kit","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/048/028/849/small/paper-sheet-with-wax-seal-paper-scroll-inkwell-and-quill-pen-calligraphy-writing-clipart-antique-study-elements-hand-drawn-watercolor-illustrations-png.png","effect":"Ability: Dexterity, Utilize: Mimic 10 or fewer words of someone else’s handwriting (DC 15), or duplicate a wax seal (DC 20)","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,kit,forgery","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0157","blueprint":"In Handout","name":"Dice Set","displayName":"Dice Set","description":"Standard gaming dice.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"game","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://paladinroleplaying.com/cdn/shop/files/IMG_8303copy_1200x1200.png","effect":"Ability: Wisdom, Utilize: Discern whether someone is cheating (DC 10), or win the game (DC 20)","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,game,dice","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0158","blueprint":"In Handout","name":"Dragonchess Set","displayName":"Dragonchess Set","description":"Gaming set for dragonchess.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"game","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/054/718/819/small/isometric-3d-chess-game-illustration-png.png","effect":"Ability: Wisdom, Utilize: Discern whether someone is cheating (DC 10), or win the game (DC 20)","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,game,dragonchess","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0159","blueprint":"In Handout","name":"Playing Card Set","displayName":"Playing Cards","description":"Deck of playing cards.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"game","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://icons.iconseeker.com/png/fullsize/poker/deck-cards.png","effect":"Ability: Wisdom, Utilize: Discern whether someone is cheating (DC 10), or win the game (DC 20)","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,game,cards","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0160","blueprint":"In Handout","name":"Herbalism Kit","displayName":"Herbalism Kit","description":"This kit contains a variety of instruments such as clippers, mortar and pestle, and pouches and vials used by herbalists to create remedies and potions. Proficiency with this kit lets you add your proficiency bonus to any Ability Checks you make to Identify or apply herbs. Also, proficiency with this kit is required to create Antitoxin and potions of healing.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"kit","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/056/595/710/small/elegant-rustic-herbal-preparation-mortar-pestle-herbs-garlic-wooden-board-high-resolution-free-png.png","effect":"Ability: Intelligence, Utilize: Identify a plant (DC 10), Craft: Antitoxin, Candle, Healer’s Kit, Potion of Healing","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,kit,herbalism","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0161","blueprint":"In Handout","name":"Poisoner's Kit","displayName":"Poisoner's Kit","description":"A poisoner's kit is a favored resource for thieves, assassins, and others who engage in skulduggery. It allows you to apply poisons and create them from various materials. Your knowledge of poisons also helps you treat them.\n\nA poisoner's kit includes glass vials, a mortar and pestle, chemicals, and a glass stirring rod.\n\nHistory: Your training with poisons can help you when you try to recall facts about infamous poisonings.\n\nInvestigation, Perception: Your knowledge of poisons has taught you to handle those substances carefully, giving you an edge when you inspect poisoned objects or try to extract clues from events that involve poison.\n\nMedicine: When you treat the victim of a poison, your knowledge grants you added insight into how to provide the best care to your patient.\n\nNature, Survival: Working with poisons enables you to acquire lore about which plants and animals are poisonous.\n\nHandle Poison: Your proficiency allows you to handle and apply a poison without risk of exposing yourself to its effects.\nDC 10 - Spot a poisoned object\nDC 20 - Determine the effects of a poison","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Tools","subtype":"kit","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://avowed.wiki.fextralife.com/file/Avowed/poisoners_kit_unique_accessorie_avowed_wiki_guide_200px.png","effect":"Ability: Intelligence, Utilize: Detect a poisoned object (DC 10), Craft: Basic Poison","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,kit,poisoner","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0162","blueprint":"In Handout","name":"Bagpipes","displayName":"Bagpipes","description":"A woodwind instrument using enclosed reeds fed from a constant reservoir of air in the form of a bag.\n\nPlay a known tune (DC 10), or improvise a song (DC 15).","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Air Instrument","rarity":"common","defaultPrice":30,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/403/322/small/wonderful-minimalist-bagpipes-isolated-with-transparent-background-authentic-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,musical-instrument,bagpipes","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0163","blueprint":"In Handout","name":"Drum","displayName":"Drum","description":"A musical percussion instrument consisting of a hollow, usually cylindrical, body covered at one or both ends with a tightly stretched membrane, or head, which is struck with the hand, a stick, or a pair of sticks, and typically produces a booming, tapping, or hollow sound.\n\nPlay a known tune (DC 10), or improvise a song (DC 15).","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Percussion","rarity":"common","defaultPrice":6,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/069/443/281/small/african-drum-rope-musical-instrument-percussion-traditional-handcraft-cultural-heritage-wooden-skin-sound-rhythm-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,instrument,drum","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0164","blueprint":"In Handout","name":"Dulcimer","displayName":"Dulcimer","description":"Tool, kit, gaming set, or musical instrument entry.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Percussion","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/077/944/873/non_2x/wooden-hammered-dulcimer-instrument-on-a-transparent-background-free-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,musical-instrument,dulcimer","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0165","blueprint":"In Handout","name":"Flute","displayName":"Flute","description":"A musical wind instrument consisting of a tube with a series of finger holes or keys.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Air Instrument","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/059/636/876/small/traditional-bamboo-flute-instrument-with-intricate-designs-perfect-for-music-and-cultural-themes-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,instrument,flute","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0166","blueprint":"In Handout","name":"Horn","displayName":"Horn Inst.","description":"A musical horn.\nWeight: 2","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Air Instrument","rarity":"common","defaultPrice":3,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414517929/uf2DPFg3NHEk9DyWVwXW7g/original.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,instrument,horn","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0167","blueprint":"In Handout","name":"Lute","displayName":"Lute","description":"A stringed musical instrument having a long, fretted neck and a hollow, typically pear or oval-shaped body with a vaulted back.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"String Instrument","rarity":"common","defaultPrice":35,"defaultPriceType":"gp","imageUrl":"https://vignette.wikia.nocookie.net/shop-heroes/images/9/9a/Music_Nordic_Lute.png/revision/latest?cb=20151211230351","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,instrument,lute","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0168","blueprint":"In Handout","name":"Lyre","displayName":"Lyre","description":"Tool, kit, gaming set, or musical instrument entry.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"String Instrument","rarity":"common","defaultPrice":0,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/917/648/non_2x/vibrant-abstract-lyre-of-apollo-original-free-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,musical-instrument,lyre","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0169","blueprint":"In Handout","name":"Pan Flute","displayName":"Pan Flute","description":"A musical instrument composed of numerous pipes, lined in a row. The pipes are either of different length or are blocked at different points. The instrument is played by blowing into the pipes.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Air Instrument","rarity":"common","defaultPrice":12,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/936/984/small_2x/traditional-bamboo-pan-flute-instrument-with-decorative-strings-on-a-white-background-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,musical-instrument,pan-flute","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0170","blueprint":"In Handout","name":"Shawm","displayName":"Shawm","description":"A medieval form of the oboe. A shawm is a wind instrument with a conical bore and flaring bell, and is played by blowing through a double reed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"Air Instrument","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/069/443/419/small/wooden-flute-with-intricate-carved-patterns-and-finger-holes-showcasing-traditional-craftsmanship-and-cultural-artistry-in-musical-instrument-design-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,musical-instrument,shawm","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0171","blueprint":"In Handout","name":"Viol","displayName":"Viol","description":"A string instrument that is played with a bow. A viol differs from the violin in having deeper ribs, sloping shoulders, a greater number of strings, usually six, and frets.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Instruments","subtype":"String Instrument","rarity":"common","defaultPrice":0,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/046/438/613/small/violin-instrument-3d-image-free-png.png","effect":"Ability: Charisma, Utilize: Play a known tune (DC 10), or improvise a song (DC 15).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"tool,musical-instrument,viol","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0172","blueprint":"In Handout","name":"Padded Armor","displayName":"Padded Armor","description":"Padded armor consists of quilted layers of cloth and batting (layers or sheets of raw cotton or wool).\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":8,"AC":"11","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0173","blueprint":"In Handout","name":"Padded Armor +1","displayName":"Padded Armor +1","description":"You have a +1 bonus to AC while wearing this armor.\n\nPadded armor consists of quilted layers of cloth and batting (layers or sheets of raw cotton or wool).\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":8,"AC":"12","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"rare","defaultPrice":2000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0174","blueprint":"In Handout","name":"Padded Armor +2","displayName":"Padded Armor +2","description":"You have a +2 bonus to AC while wearing this armor.\n\nPadded armor consists of quilted layers of cloth and batting (layers or sheets of raw cotton or wool).\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":8,"AC":"13","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"very rare","defaultPrice":9000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0175","blueprint":"In Handout","name":"Padded Armor +3","displayName":"Padded Armor +3","description":"You have a +3 bonus to AC while wearing this armor.\n\nPadded armor consists of quilted layers of cloth and batting (layers or sheets of raw cotton or wool).\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":8,"AC":"14","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"legendary","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0176","blueprint":"In Handout","name":"Leather Armor","displayName":"Leather Armor","description":"The breastplate and shoulder protectors of this armor are made of leather that has been stiffened by being boiled in oil. The rest of the armor is made of softer and more flexible materials.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":10,"AC":"11","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0177","blueprint":"In Handout","name":"Leather Armor +1","displayName":"Leather Armor +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nThe breastplate and shoulder protectors of this armor are made of leather that has been stiffened by being boiled in oil. The rest of the armor is made of softer and more flexible materials.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":10,"AC":"12","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"rare","defaultPrice":3000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0178","blueprint":"In Handout","name":"Leather Armor +2","displayName":"Leather Armor +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nThe breastplate and shoulder protectors of this armor are made of leather that has been stiffened by being boiled in oil. The rest of the armor is made of softer and more flexible materials.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":10,"AC":"13","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"very rare","defaultPrice":12000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0179","blueprint":"In Handout","name":"Leather Armor +3","displayName":"Leather Armor +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nThe breastplate and shoulder protectors of this armor are made of leather that has been stiffened by being boiled in oil. The rest of the armor is made of softer and more flexible materials.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":10,"AC":"13","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"legendary","defaultPrice":35000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0180","blueprint":"In Handout","name":"Studded Leather Armor","displayName":"Studded Leather Armor","description":"Made from tough but flexible leather, studded leather is reinforced with close-set rivets or spikes.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":13,"AC":"12","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"common","defaultPrice":45,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430635/VpAFmLvrwv-Nj_ioy6u8mA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0181","blueprint":"In Handout","name":"Studded Leather Armor +1","displayName":"Studded Ltr. Armor +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nMade from tough but flexible leather, studded leather is reinforced with close-set rivets or spikes.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":13,"AC":"13","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"rare","defaultPrice":4500,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430635/VpAFmLvrwv-Nj_ioy6u8mA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0182","blueprint":"In Handout","name":"Studded Leather Armor +2","displayName":"Studded Ltr. Armor +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nMade from tough but flexible leather, studded leather is reinforced with close-set rivets or spikes.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":13,"AC":"14","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"very rare","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430635/VpAFmLvrwv-Nj_ioy6u8mA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0183","blueprint":"In Handout","name":"Studded Leather Armor +3","displayName":"Studded Ltr. Armor +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nMade from tough but flexible leather, studded leather is reinforced with close-set rivets or spikes.\n\nLight Armor (1 Minute to Don or Doff).\n\nIf you wear Light armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":13,"AC":"15","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"light armor","rarity":"legendary","defaultPrice":70000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430635/VpAFmLvrwv-Nj_ioy6u8mA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0184","blueprint":"In Handout","name":"Hide Armor","displayName":"Hide Armor","description":"This crude armor consists of thick furs and pelts. It is commonly worn by barbarian tribes, evil humanoids, and other folk who lack access to the tools and materials needed to create better armor.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":12,"AC":"12","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0185","blueprint":"In Handout","name":"Hide Armor +1","displayName":"Hide Armor +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nThis crude armor consists of thick furs and pelts. It is commonly worn by barbarian tribes, evil humanoids, and other folk who lack access to the tools and materials needed to create better armor.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":12,"AC":"13","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":2500,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0186","blueprint":"In Handout","name":"Hide Armor +2","displayName":"Hide Armor +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nThis crude armor consists of thick furs and pelts. It is commonly worn by barbarian tribes, evil humanoids, and other folk who lack access to the tools and materials needed to create better armor.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":12,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very rare","defaultPrice":9000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0187","blueprint":"In Handout","name":"Hide Armor +3","displayName":"Hide Armor +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nThis crude armor consists of thick furs and pelts. It is commonly worn by barbarian tribes, evil humanoids, and other folk who lack access to the tools and materials needed to create better armor.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":12,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0188","blueprint":"In Handout","name":"Chain Shirt","displayName":"Chain Shirt","description":"Made of interlocking metal rings, a chain shirt is worn between layers of clothing or leather. This armor offers modest protection to the wearer's upper body and allows the sound of the rings rubbing against one another to be muffled by outer layers.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"13","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0189","blueprint":"In Handout","name":"Chain Shirt +1","displayName":"Chain Shirt +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nMade of interlocking metal rings, a chain shirt is worn between layers of clothing or leather. This armor offers modest protection to the wearer's upper body and allows the sound of the rings rubbing against one another to be muffled by outer layers.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4500,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0190","blueprint":"In Handout","name":"Chain Shirt +2","displayName":"Chain Shirt +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nMade of interlocking metal rings, a chain shirt is worn between layers of clothing or leather. This armor offers modest protection to the wearer's upper body and allows the sound of the rings rubbing against one another to be muffled by outer layers.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"15","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very rare","defaultPrice":16000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0191","blueprint":"In Handout","name":"Chain Shirt +3","displayName":"Chain Shirt +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nMade of interlocking metal rings, a chain shirt is worn between layers of clothing or leather. This armor offers modest protection to the wearer's upper body and allows the sound of the rings rubbing against one another to be muffled by outer layers.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"15","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":45000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0192","blueprint":"In Handout","name":"Scale Mail","displayName":"Scale Mail","description":"This armor consists of a coat and leggings (and perhaps a separate skirt) of leather covered with overlapping pieces of metal, much like the scales of a fish. The suit includes gauntlets.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":45,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0193","blueprint":"In Handout","name":"Scale Mail +1","displayName":"Scale Mail +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nThis armor consists of a coat and leggings (and perhaps a separate skirt) of leather covered with overlapping pieces of metal, much like the scales of a fish. The suit includes gauntlets.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":45,"AC":"15","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":6000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0194","blueprint":"In Handout","name":"Scale Mail +2","displayName":"Scale Mail +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nThis armor consists of a coat and leggings (and perhaps a separate skirt) of leather covered with overlapping pieces of metal, much like the scales of a fish. The suit includes gauntlets.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":45,"AC":"16","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0195","blueprint":"In Handout","name":"Scale Mail +3","displayName":"Scale Mail +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nThis armor consists of a coat and leggings (and perhaps a separate skirt) of leather covered with overlapping pieces of metal, much like the scales of a fish. The suit includes gauntlets.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":45,"AC":"17","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":55000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0196","blueprint":"In Handout","name":"Breastplate","displayName":"Breastplate","description":"This armor consists of a fitted metal chest piece worn with supple leather. Although it leaves the legs and arms relatively unprotected, this armor provides good protection for the wearer's vital organs while leaving the wearer relatively unencumbered.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"common","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0197","blueprint":"In Handout","name":"Breastplate +1","displayName":"Breastplate +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nThis armor consists of a fitted metal chest piece worn with supple leather. Although it leaves the legs and arms relatively unprotected, this armor provides good protection for the wearer's vital organs while leaving the wearer relatively unencumbered.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"15","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":7500,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0198","blueprint":"In Handout","name":"Breastplate +2","displayName":"Breastplate +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nThis armor consists of a fitted metal chest piece worn with supple leather. Although it leaves the legs and arms relatively unprotected, this armor provides good protection for the wearer's vital organs while leaving the wearer relatively unencumbered.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"16","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0199","blueprint":"In Handout","name":"Breastplate +3","displayName":"Breastplate +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nThis armor consists of a fitted metal chest piece worn with supple leather. Although it leaves the legs and arms relatively unprotected, this armor provides good protection for the wearer's vital organs while leaving the wearer relatively unencumbered.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":20,"AC":"17","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":70000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0200","blueprint":"In Handout","name":"Half Plate","displayName":"Half Plate","description":"Half plate consists of shaped metal plates that cover most of the wearer's body. It does not include leg protection beyond simple greaves that are attached with leather straps.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"15","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"common","defaultPrice":750,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0201","blueprint":"In Handout","name":"Half Plate +1","displayName":"Half Plate +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nHalf plate consists of shaped metal plates that cover most of the wearer's body. It does not include leg protection beyond simple greaves that are attached with leather straps.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"16","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":10000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0202","blueprint":"In Handout","name":"Half Plate +2","displayName":"Half Plate +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nHalf plate consists of shaped metal plates that cover most of the wearer's body. It does not include leg protection beyond simple greaves that are attached with leather straps.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"17","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very rare","defaultPrice":35000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0203","blueprint":"In Handout","name":"Half Plate +3","displayName":"Half Plate +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nHalf plate consists of shaped metal plates that cover most of the wearer's body. It does not include leg protection beyond simple greaves that are attached with leather straps.\n\nMedium Armor (5 Minutes to Don and 1 Minute to Doff).\n\nIf you wear Medium armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"18","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":90000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0204","blueprint":"In Handout","name":"Ring Mail","displayName":"Ring Mail","description":"This armor is leather armor with heavy rings sewn into it. The rings help reinforce the armor against blows from swords and axes. Ring mail is inferior to chain mail, and it's usually worn only by those who can't afford better armor.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"14","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"common","defaultPrice":30,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0205","blueprint":"In Handout","name":"Ring Mail +1","displayName":"Ring Mail +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nThis armor is leather armor with heavy rings sewn into it. The rings help reinforce the armor against blows from swords and axes. Ring mail is inferior to chain mail, and it's usually worn only by those who can't afford better armor.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"15","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":3000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0206","blueprint":"In Handout","name":"Ring Mail +2","displayName":"Ring Mail +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nThis armor is leather armor with heavy rings sewn into it. The rings help reinforce the armor against blows from swords and axes. Ring mail is inferior to chain mail, and it's usually worn only by those who can't afford better armor.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"16","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"very rare","defaultPrice":12000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0207","blueprint":"In Handout","name":"Ring Mail +3","displayName":"Ring Mail +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nThis armor is leather armor with heavy rings sewn into it. The rings help reinforce the armor against blows from swords and axes. Ring mail is inferior to chain mail, and it's usually worn only by those who can't afford better armor.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":40,"AC":"17","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"legendary","defaultPrice":35000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0208","blueprint":"In Handout","name":"Chain Mail","displayName":"Chain Mail","description":"Made of interlocking metal rings, chain mail includes a layer of quilted fabric worn underneath the mail to prevent chafing and to cushion the impact of blows. The suit includes gauntlets.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":55,"AC":"16","modifier":"","debuff":"","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"common","defaultPrice":75,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0209","blueprint":"In Handout","name":"Chain Mail +1","displayName":"Chain Mail +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nMade of interlocking metal rings, chain mail includes a layer of quilted fabric worn underneath the mail to prevent chafing and to cushion the impact of blows. The suit includes gauntlets.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":55,"AC":"17","modifier":"","debuff":"","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":7000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0210","blueprint":"In Handout","name":"Chain Mail +2","displayName":"Chain Mail +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nMade of interlocking metal rings, chain mail includes a layer of quilted fabric worn underneath the mail to prevent chafing and to cushion the impact of blows. The suit includes gauntlets.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":55,"AC":"18","modifier":"","debuff":"","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"very rare","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0211","blueprint":"In Handout","name":"Chain Mail +3","displayName":"Chain Mail +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nMade of interlocking metal rings, chain mail includes a layer of quilted fabric worn underneath the mail to prevent chafing and to cushion the impact of blows. The suit includes gauntlets.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":55,"AC":"19","modifier":"","debuff":"","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"legendary","defaultPrice":70000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0212","blueprint":"In Handout","name":"Splint Armor","displayName":"Splint Armor","description":"This armor is made of narrow vertical strips of metal riveted to a backing of leather that is worn over cloth padding. Flexible chain mail protects the joints.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":60,"AC":"17","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"common","defaultPrice":200,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0213","blueprint":"In Handout","name":"Splint Armor +1","displayName":"Splint Armor +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nThis armor is made of narrow vertical strips of metal riveted to a backing of leather that is worn over cloth padding. Flexible chain mail protects the joints.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":60,"AC":"18","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":10000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0214","blueprint":"In Handout","name":"Splint Armor +2","displayName":"Splint Armor +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nThis armor is made of narrow vertical strips of metal riveted to a backing of leather that is worn over cloth padding. Flexible chain mail protects the joints.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":60,"AC":"19","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"very rare","defaultPrice":35000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0215","blueprint":"In Handout","name":"Splint Armor +3","displayName":"Splint Armor +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nThis armor is made of narrow vertical strips of metal riveted to a backing of leather that is worn over cloth padding. Flexible chain mail protects the joints.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":60,"AC":"20","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"very rare","defaultPrice":90000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0216","blueprint":"In Handout","name":"Plate Armor","displayName":"Plate Armor","description":"Plate consists of shaped, interlocking metal plates to cover the entire body. A suit of plate includes gauntlets, heavy leather boots, a visored helmet, and thick layers of padding underneath the armor. Buckles and straps distribute the weight over the body.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":65,"AC":"18","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"common","defaultPrice":1500,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0217","blueprint":"In Handout","name":"Plate Armor +1","displayName":"Plate Armor +1","description":"You have a +1 bonus to Armor Class while wearing this armor.\n\nPlate consists of shaped, interlocking metal plates to cover the entire body. A suit of plate includes gauntlets, heavy leather boots, a visored helmet, and thick layers of padding underneath the armor. Buckles and straps distribute the weight over the body.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":65,"AC":"19","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":15000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0218","blueprint":"In Handout","name":"Plate Armor +2","displayName":"Plate Armor +2","description":"You have a +2 bonus to Armor Class while wearing this armor.\n\nPlate consists of shaped, interlocking metal plates to cover the entire body. A suit of plate includes gauntlets, heavy leather boots, a visored helmet, and thick layers of padding underneath the armor. Buckles and straps distribute the weight over the body.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":65,"AC":"20","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"very rare","defaultPrice":50000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0219","blueprint":"In Handout","name":"Plate Armor +3","displayName":"Plate Armor +3","description":"You have a +3 bonus to Armor Class while wearing this armor.\n\nPlate consists of shaped, interlocking metal plates to cover the entire body. A suit of plate includes gauntlets, heavy leather boots, a visored helmet, and thick layers of padding underneath the armor. Buckles and straps distribute the weight over the body.\n\nHeavy Armor (10 Minutes to Don and 5 Minutes to Doff)\n\nIf you wear Heavy armor and lack training with it, you have Disadvantage on any D20 Test that involves Strength or Dexterity, and you can’t cast spells.","quantity":0,"weight":65,"AC":"21","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"legendary","defaultPrice":120000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0220","blueprint":"In Handout","name":"Shield","displayName":"Shield","description":"A shield is made from wood or metal and is carried in one hand. Wielding a shield increases your Armor Class by 2. You can benefit from only one shield at a time.\n\nShield (Utilize Action to Don or Doff).","quantity":0,"weight":6,"AC":"+2","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"shield","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/702/191/small_2x/medieval-round-wooden-shield-with-metal-reinforcement-isolated-on-a-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,shield","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0221","blueprint":"In Handout","name":"Shield +1","displayName":"Shield +1","description":"While holding this Shield, you have a +1 bonus to Armor Class, in addition to the Shield’s normal bonus to AC.\n\nA shield is made from wood or metal and is carried in one hand. Wielding a shield increases your Armor Class by 2. You can benefit from only one shield at a time.\n\nShield (Utilize Action to Don or Doff).","quantity":0,"weight":6,"AC":"+3","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"shield","rarity":"uncommon","defaultPrice":1500,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/702/191/small_2x/medieval-round-wooden-shield-with-metal-reinforcement-isolated-on-a-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,shield","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0222","blueprint":"In Handout","name":"Shield +2","displayName":"Shield +2","description":"While holding this Shield, you have a +2 bonus to Armor Class, in addition to the Shield’s normal bonus to AC.\n\nA shield is made from wood or metal and is carried in one hand. Wielding a shield increases your Armor Class by 2. You can benefit from only one shield at a time.\n\nShield (Utilize Action to Don or Doff).","quantity":0,"weight":6,"AC":"+4","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"shield","rarity":"rare","defaultPrice":5000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/702/191/small_2x/medieval-round-wooden-shield-with-metal-reinforcement-isolated-on-a-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,shield","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0223","blueprint":"In Handout","name":"Shield +3","displayName":"Shield +3","description":"While holding this Shield, you have a +2 bonus to Armor Class, in addition to the Shield’s normal bonus to AC.\n\nA shield is made from wood or metal and is carried in one hand. Wielding a shield increases your Armor Class by 2. You can benefit from only one shield at a time.\n\nShield (Utilize Action to Don or Doff).","quantity":0,"weight":6,"AC":"+5","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"shield","rarity":"very rare","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/058/702/191/small_2x/medieval-round-wooden-shield-with-metal-reinforcement-isolated-on-a-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,shield","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0224","blueprint":"In Handout","name":"Club","displayName":"Club","description":"A short staff or stick, usually made of wood.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0225","blueprint":"In Handout","name":"Club +1","displayName":"Club +1","description":"You have a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nA short staff or stick, usually made of wood.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0226","blueprint":"In Handout","name":"Club +2","displayName":"Club +2","description":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nA short staff or stick, usually made of wood.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":2500,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0227","blueprint":"In Handout","name":"Club +3","displayName":"Club +3","description":"You have a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nA short staff or stick, usually made of wood.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":25000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0228","blueprint":"In Handout","name":"Dagger","displayName":"Dagger","description":"A knife with a very sharp point and usually two sharp edges.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"melee","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"piercing","properties":"Finesse, Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0229","blueprint":"In Handout","name":"Dagger +1","displayName":"Dagger +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA knife with a very sharp point and usually two sharp edges.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0230","blueprint":"In Handout","name":"Dagger +2","displayName":"Dagger +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA knife with a very sharp point and usually two sharp edges.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"piercing","properties":"Finesse, Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0231","blueprint":"In Handout","name":"Dagger +3","displayName":"Dagger +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA knife with a very sharp point and usually two sharp edges.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"piercing","properties":"Finesse, Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0232","blueprint":"In Handout","name":"Greatclub","displayName":"Greatclub","description":"A large heavy shaft, typically made of wood.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":2,"defaultPriceType":"sp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0233","blueprint":"In Handout","name":"Greatclub +1","displayName":"Greatclub +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA large heavy shaft, typically made of wood.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0234","blueprint":"In Handout","name":"Greatclub +2","displayName":"Greatclub +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA large heavy shaft, typically made of wood.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0235","blueprint":"In Handout","name":"Greatclub +3","displayName":"Greatclub +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA large heavy shaft, typically made of wood.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0236","blueprint":"In Handout","name":"Handaxe","displayName":"Handaxe","description":"A wood composite handle with a sharp edged head (called a 'bit'), typically made of iron or steel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Slashing","properties":"Light, Thrown (20/60)","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0237","blueprint":"In Handout","name":"Handaxe +1","displayName":"Handaxe +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA wood composite handle with a sharp edged head (called a 'bit'), typically made of iron or steel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Light, Thrown (20/60)","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0238","blueprint":"In Handout","name":"Handaxe +2","displayName":"Handaxe +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA wood composite handle with a sharp edged head (called a 'bit'), typically made of iron or steel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"slashing","properties":"Light, Thrown (20/60)","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0239","blueprint":"In Handout","name":"Handaxe +3","displayName":"Handaxe +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA wood composite handle with a sharp edged head (called a 'bit'), typically made of iron or steel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"slashing","properties":"Light, Thrown (20/60)","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0240","blueprint":"In Handout","name":"Javelin","displayName":"Javelin","description":"A javelin is a light spear designed primarily to be thrown.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Piercing","properties":"Thrown (30/120)","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0241","blueprint":"In Handout","name":"Javelin +1","displayName":"Javelin +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA javelin is a light spear designed primarily to be thrown.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Piercing","properties":"Thrown (30/120)","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0242","blueprint":"In Handout","name":"Javelin +2","displayName":"Javelin +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA javelin is a light spear designed primarily to be thrown.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Piercing","properties":"Thrown (30/120)","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0243","blueprint":"In Handout","name":"Javelin +3","displayName":"Javelin +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA javelin is a light spear designed primarily to be thrown.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Piercing","properties":"Thrown (30/120)","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0244","blueprint":"In Handout","name":"Light Hammer","displayName":"Light Hammer","description":"The light hammer is a small sledge hammer, usually with a haft made of wood about one and a half feet long. Some have a pick on the back of the hammer head.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"Bludgeoning","properties":"Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0245","blueprint":"In Handout","name":"Light Hammer +1","displayName":"Light Hammer +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nThe light hammer is a small sledge hammer, usually with a haft made of wood about one and a half feet long. Some have a pick on the back of the hammer head.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"Bludgeoning","properties":"Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0246","blueprint":"In Handout","name":"Light Hammer +2","displayName":"Light Hammer +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nThe light hammer is a small sledge hammer, usually with a haft made of wood about one and a half feet long. Some have a pick on the back of the hammer head.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"Bludgeoning","properties":"Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0247","blueprint":"In Handout","name":"Light Hammer +3","displayName":"Light Hammer +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nThe light hammer is a small sledge hammer, usually with a haft made of wood about one and a half feet long. Some have a pick on the back of the hammer head.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"Bludgeoning","properties":"Light, Thrown (20/60)","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0248","blueprint":"In Handout","name":"Mace","displayName":"Mace","description":"A weapon with a heavy head on a solid shaft used to bludgeon opponents.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0249","blueprint":"In Handout","name":"Mace +1","displayName":"Mace +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA weapon with a heavy head on a solid shaft used to bludgeon opponents.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0250","blueprint":"In Handout","name":"Mace +2","displayName":"Mace +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA weapon with a heavy head on a solid shaft used to bludgeon opponents.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0251","blueprint":"In Handout","name":"Mace +3","displayName":"Mace +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA weapon with a heavy head on a solid shaft used to bludgeon opponents.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0252","blueprint":"In Handout","name":"Quarterstaff","displayName":"Quarterstaff","description":"A staff of wood from 6 to 9 feet (about 2 to 3 m) long, used for attack and defense.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":2,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Bludgeoning","properties":"Versatile (1d8)","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0253","blueprint":"In Handout","name":"Quarterstaff +1","displayName":"Quarterstaff +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA staff of wood from 6 to 9 feet (about 2 to 3 m) long, used for attack and defense.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Bludgeoning","properties":"Versatile (1d8)","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0254","blueprint":"In Handout","name":"Quarterstaff +2","displayName":"Quarterstaff +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA staff of wood from 6 to 9 feet (about 2 to 3 m) long, used for attack and defense.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Bludgeoning","properties":"Versatile (1d8)","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0255","blueprint":"In Handout","name":"Quarterstaff +3","displayName":"Quarterstaff +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA staff of wood from 6 to 9 feet (about 2 to 3 m) long, used for attack and defense.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Bludgeoning","properties":"Versatile (1d8)","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0256","blueprint":"In Handout","name":"Sickle","displayName":"Sickle","description":"A short-handled tool with a semicircular blade, typically used by farmers for cutting grain, lopping, or trimming.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"Slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0257","blueprint":"In Handout","name":"Sickle +1","displayName":"Sickle +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA short-handled tool with a semicircular blade, typically used by farmers for cutting grain, lopping, or trimming.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"Slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0258","blueprint":"In Handout","name":"Sickle +2","displayName":"Sickle +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA short-handled tool with a semicircular blade, typically used by farmers for cutting grain, lopping, or trimming.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"Slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0259","blueprint":"In Handout","name":"Sickle +3","displayName":"Sickle +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA short-handled tool with a semicircular blade, typically used by farmers for cutting grain, lopping, or trimming.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"Slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0260","blueprint":"In Handout","name":"Spear","displayName":"Spear","description":"A pole weapon consisting of a shaft, usually of wood, with a pointed head.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":1,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d8)","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0261","blueprint":"In Handout","name":"Spear +1","displayName":"Spear +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA pole weapon consisting of a shaft, usually of wood, with a pointed head.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d8)","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0262","blueprint":"In Handout","name":"Spear +2","displayName":"Spear +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA pole weapon consisting of a shaft, usually of wood, with a pointed head.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d8)","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0263","blueprint":"In Handout","name":"Spear +3","displayName":"Spear +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA pole weapon consisting of a shaft, usually of wood, with a pointed head.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d8)","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0264","blueprint":"In Handout","name":"Dart","displayName":"Dart","description":"Darts are thrown, ranged weapons. They are designed to fly such that a sharp, often weighted point will strike first. They can be distinguished from javelins by the presence of fletching (feathers on the tail) and a shaft that is shorter and/or more flexible. Darts can be palm sized, or several feet long.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"cp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"piercing","properties":"Finesse, Thrown (20/60)","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0265","blueprint":"In Handout","name":"Dart +1","displayName":"Dart +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nDarts are thrown, ranged weapons. They are designed to fly such that a sharp, often weighted point will strike first. They can be distinguished from javelins by the presence of fletching (feathers on the tail) and a shaft that is shorter and/or more flexible. Darts can be palm sized, or several feet long.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Thrown (20/60)","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0266","blueprint":"In Handout","name":"Dart +2","displayName":"Dart +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nDarts are thrown, ranged weapons. They are designed to fly such that a sharp, often weighted point will strike first. They can be distinguished from javelins by the presence of fletching (feathers on the tail) and a shaft that is shorter and/or more flexible. Darts can be palm sized, or several feet long.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"piercing","properties":"Finesse, Thrown (20/60)","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0267","blueprint":"In Handout","name":"Dart +3","displayName":"Dart +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nDarts are thrown, ranged weapons. They are designed to fly such that a sharp, often weighted point will strike first. They can be distinguished from javelins by the presence of fletching (feathers on the tail) and a shaft that is shorter and/or more flexible. Darts can be palm sized, or several feet long.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"piercing","properties":"Finesse, Thrown (20/60)","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0268","blueprint":"In Handout","name":"Light Crossbow","displayName":"Light Crossbow","description":"A ranged weapon that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Piercing","properties":"Ammunition, Loading, Two-Handed, Range (80/320)","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0269","blueprint":"In Handout","name":"Light Crossbow +1","displayName":"Light Crossbow +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA ranged weapon that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Piercing","properties":"Ammunition, Loading, Two-Handed, Range (80/320)","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0270","blueprint":"In Handout","name":"Light Crossbow +2","displayName":"Light Crossbow +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA ranged weapon that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Piercing","properties":"Ammunition, Loading, Two-Handed, Range (80/320)","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0271","blueprint":"In Handout","name":"Light Crossbow +3","displayName":"Light Crossbow +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA ranged weapon that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Piercing","properties":"Ammunition, Loading, Two-Handed, Range (80/320)","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0272","blueprint":"In Handout","name":"Shortbow","displayName":"Shortbow","description":"The shortbow is a flexible shaft of wood (or horn or bone) about 3 to 4 feet long with the ends connected by strong cord or a gut string that is a little shorter than the shaft, causing the wood to bend and keep the string under tension.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Piercing","properties":"Ammunition, Two-Handed, Range (80/320)","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0273","blueprint":"In Handout","name":"Shortbow +1","displayName":"Shortbow +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nThe shortbow is a flexible shaft of wood (or horn or bone) about 3 to 4 feet long with the ends connected by strong cord or a gut string that is a little shorter than the shaft, causing the wood to bend and keep the string under tension.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Piercing","properties":"Ammunition, Two-Handed, Range (80/320)","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0274","blueprint":"In Handout","name":"Shortbow +2","displayName":"Shortbow +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nThe shortbow is a flexible shaft of wood (or horn or bone) about 3 to 4 feet long with the ends connected by strong cord or a gut string that is a little shorter than the shaft, causing the wood to bend and keep the string under tension.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Piercing","properties":"Ammunition, Two-Handed, Range (80/320)","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0275","blueprint":"In Handout","name":"Shortbow +3","displayName":"Shortbow +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nThe shortbow is a flexible shaft of wood (or horn or bone) about 3 to 4 feet long with the ends connected by strong cord or a gut string that is a little shorter than the shaft, causing the wood to bend and keep the string under tension.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Piercing","properties":"Ammunition, Two-Handed, Range (80/320)","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0276","blueprint":"In Handout","name":"Sling","displayName":"Sling","description":"A sling is a projectile weapon typically used to throw a blunt projectile such as a stone, clay, or lead \"sling-bullet\". It is also known as the shepherd's sling.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":1,"defaultPriceType":"sp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"Bludgeoning","properties":"Ammunition, Range (30/120)","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0277","blueprint":"In Handout","name":"Sling +1","displayName":"Sling +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA sling is a projectile weapon typically used to throw a blunt projectile such as a stone, clay, or lead \"sling-bullet\". It is also known as the shepherd's sling.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"Bludgeoning","properties":"Ammunition, Range (30/120)","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0278","blueprint":"In Handout","name":"Sling +2","displayName":"Sling +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA sling is a projectile weapon typically used to throw a blunt projectile such as a stone, clay, or lead \"sling-bullet\". It is also known as the shepherd's sling.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"Bludgeoning","properties":"Ammunition, Range (30/120)","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0279","blueprint":"In Handout","name":"Sling +3","displayName":"Sling +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA sling is a projectile weapon typically used to throw a blunt projectile such as a stone, clay, or lead \"sling-bullet\". It is also known as the shepherd's sling.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"Bludgeoning","properties":"Ammunition, Range (30/120)","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0280","blueprint":"In Handout","name":"Battleaxe","displayName":"Battleaxe","description":"An axe head mounted on a wooden or metal haft about 2.5​ to ​3 feet long. Some battleaxes were known to have a short spike or blade on the back of their axeheads, as well as a spike on the end of their shafts. Some came with belt hooks on the side of their heads.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0281","blueprint":"In Handout","name":"Battleaxe +1","displayName":"Battleaxe +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nAn axe head mounted on a wooden or metal haft about 2.5​ to ​3 feet long. Some battleaxes were known to have a short spike or blade on the back of their axeheads, as well as a spike on the end of their shafts. Some came with belt hooks on the side of their heads.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0282","blueprint":"In Handout","name":"Battleaxe +2","displayName":"Battleaxe +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nAn axe head mounted on a wooden or metal haft about 2.5​ to ​3 feet long. Some battleaxes were known to have a short spike or blade on the back of their axeheads, as well as a spike on the end of their shafts. Some came with belt hooks on the side of their heads.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0283","blueprint":"In Handout","name":"Battleaxe +3","displayName":"Battleaxe +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nAn axe head mounted on a wooden or metal haft about 2.5​ to ​3 feet long. Some battleaxes were known to have a short spike or blade on the back of their axeheads, as well as a spike on the end of their shafts. Some came with belt hooks on the side of their heads.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0284","blueprint":"In Handout","name":"Flail","displayName":"Flail","description":"A flail consists of a 2 feet long haft connected to a chain ending with a heavy metal ball or rod. This ball or rod was often spiked.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0285","blueprint":"In Handout","name":"Flail +1","displayName":"Flail +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA flail consists of a 2 feet long haft connected to a chain ending with a heavy metal ball or rod. This ball or rod was often spiked.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0286","blueprint":"In Handout","name":"Flail +2","displayName":"Flail +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA flail consists of a 2 feet long haft connected to a chain ending with a heavy metal ball or rod. This ball or rod was often spiked.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0287","blueprint":"In Handout","name":"Flail +3","displayName":"Flail +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA flail consists of a 2 feet long haft connected to a chain ending with a heavy metal ball or rod. This ball or rod was often spiked.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0288","blueprint":"In Handout","name":"Glaive","displayName":"Glaive","description":"A glaive (or glave) is a European polearm, consisting of a single-edged blade (about 18 inches long) on the end of a 7-foot pole. Glaive-guisarmes have a small hook on the reverse side of the blade, to better catch riders.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"Slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0289","blueprint":"In Handout","name":"Glaive +1","displayName":"Glaive +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA glaive (or glave) is a European polearm, consisting of a single-edged blade (about 18 inches long) on the end of a 7-foot pole. Glaive-guisarmes have a small hook on the reverse side of the blade, to better catch riders.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"Slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0290","blueprint":"In Handout","name":"Glaive +2","displayName":"Glaive +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA glaive (or glave) is a European polearm, consisting of a single-edged blade (about 18 inches long) on the end of a 7-foot pole. Glaive-guisarmes have a small hook on the reverse side of the blade, to better catch riders.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"Slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0291","blueprint":"In Handout","name":"Glaive +3","displayName":"Glaive +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA glaive (or glave) is a European polearm, consisting of a single-edged blade (about 18 inches long) on the end of a 7-foot pole. Glaive-guisarmes have a small hook on the reverse side of the blade, to better catch riders.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"Slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0292","blueprint":"In Handout","name":"Greataxe","displayName":"Greataxe","description":"A large, heavy battleaxe with a double-bladed head. The shaft was usually constructed of stout wood.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":30,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":0,"rollBonus":0,"area":"single","damage":"1d12","damageType":"Slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0293","blueprint":"In Handout","name":"Greataxe +1","displayName":"Greataxe +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA large, heavy battleaxe with a double-bladed head. The shaft was usually constructed of stout wood.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"single","damage":"1d12+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0294","blueprint":"In Handout","name":"Greataxe +2","displayName":"Greataxe +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA large, heavy battleaxe with a double-bladed head. The shaft was usually constructed of stout wood.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":2,"rollBonus":2,"area":"single","damage":"1d12+2","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0295","blueprint":"In Handout","name":"Greataxe +3","displayName":"Greataxe +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA large, heavy battleaxe with a double-bladed head. The shaft was usually constructed of stout wood.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":3,"rollBonus":3,"area":"single","damage":"1d12+3","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0296","blueprint":"In Handout","name":"Greatsword","displayName":"Greatsword","description":"A large sword that has a double-edged blade and requires two hands to wield, with an elongated hilt to accommodate the extra grip.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0297","blueprint":"In Handout","name":"Greatsword +1","displayName":"Greatsword +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA large sword that has a double-edged blade and requires two hands to wield, with an elongated hilt to accommodate the extra grip.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0298","blueprint":"In Handout","name":"Greatsword +2","displayName":"Greatsword +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA large sword that has a double-edged blade and requires two hands to wield, with an elongated hilt to accommodate the extra grip.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"2d6+2","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0299","blueprint":"In Handout","name":"Greatsword +3","displayName":"Greatsword +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA large sword that has a double-edged blade and requires two hands to wield, with an elongated hilt to accommodate the extra grip.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"2d6+3","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0300","blueprint":"In Handout","name":"Halberd","displayName":"Halberd","description":"A halberd consists of an ax blade balanced by a pick with an elongated pike head at the end of the staff. It is usually about 5 to 6 feet long.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":20,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0301","blueprint":"In Handout","name":"Halberd +1","displayName":"Halberd +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA halberd consists of an ax blade balanced by a pick with an elongated pike head at the end of the staff. It is usually about 5 to 6 feet long.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0302","blueprint":"In Handout","name":"Halberd +2","displayName":"Halberd +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA halberd consists of an ax blade balanced by a pick with an elongated pike head at the end of the staff. It is usually about 5 to 6 feet long.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0303","blueprint":"In Handout","name":"Halberd +3","displayName":"Halberd +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA halberd consists of an ax blade balanced by a pick with an elongated pike head at the end of the staff. It is usually about 5 to 6 feet long.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0304","blueprint":"In Handout","name":"Lance","displayName":"Lance","description":"A spear-like weapon used by cavalry for mounted combat. It usually consists of a long wooden shaft with a sharp metal point.\n\nYou have disadvantage when you use a lance to attack a target within 5 feet of you. Also, a lance requires two hands to wield when you aren't mounted.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"Piercing","properties":"Reach, Special, Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0305","blueprint":"In Handout","name":"Lance +1","displayName":"Lance +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA spear-like weapon used by cavalry for mounted combat. It usually consists of a long wooden shaft with a sharp metal point.\n\nYou have disadvantage when you use a lance to attack a target within 5 feet of you. Also, a lance requires two hands to wield when you aren't mounted.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"Piercing","properties":"Reach, Special, Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0306","blueprint":"In Handout","name":"Lance +2","displayName":"Lance +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA spear-like weapon used by cavalry for mounted combat. It usually consists of a long wooden shaft with a sharp metal point.\n\nYou have disadvantage when you use a lance to attack a target within 5 feet of you. Also, a lance requires two hands to wield when you aren't mounted.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"Piercing","properties":"Reach, Special, Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0307","blueprint":"In Handout","name":"Lance +3","displayName":"Lance +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA spear-like weapon used by cavalry for mounted combat. It usually consists of a long wooden shaft with a sharp metal point.\n\nYou have disadvantage when you use a lance to attack a target within 5 feet of you. Also, a lance requires two hands to wield when you aren't mounted.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"Piercing","properties":"Reach, Special, Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0308","blueprint":"In Handout","name":"Longsword","displayName":"Longsword","description":"A type of European sword characterized as having a cruciform hilt with a grip for two-handed use (6 to 12 inches). It has a straight, double-edged blade about 3 to 4 feet long.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Slashing","properties":"Versatile (1d10)","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0309","blueprint":"In Handout","name":"Longsword +1","displayName":"Longsword +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA type of European sword characterized as having a cruciform hilt with a grip for two-handed use (6 to 12 inches). It has a straight, double-edged blade about 3 to 4 feet long.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Slashing","properties":"Versatile (1d10)","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0310","blueprint":"In Handout","name":"Longsword +2","displayName":"Longsword +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA type of European sword characterized as having a cruciform hilt with a grip for two-handed use (6 to 12 inches). It has a straight, double-edged blade about 3 to 4 feet long.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Slashing","properties":"Versatile (1d10)","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0311","blueprint":"In Handout","name":"Longsword +3","displayName":"Longsword +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA type of European sword characterized as having a cruciform hilt with a grip for two-handed use (6 to 12 inches). It has a straight, double-edged blade about 3 to 4 feet long.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Slashing","properties":"Versatile (1d10)","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0312","blueprint":"In Handout","name":"Maul","displayName":"Maul","description":"A maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"Bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0313","blueprint":"In Handout","name":"Maul +1","displayName":"Maul +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"Bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0314","blueprint":"In Handout","name":"Maul +2","displayName":"Maul +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"2d6+2","damageType":"Bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0315","blueprint":"In Handout","name":"Maul +3","displayName":"Maul +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"2d6+3","damageType":"Bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0316","blueprint":"In Handout","name":"Morningstar","displayName":"Morningstar","description":"A maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0317","blueprint":"In Handout","name":"Morningstar +1","displayName":"Morningstar +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0318","blueprint":"In Handout","name":"Morningstar +2","displayName":"Morningstar +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0319","blueprint":"In Handout","name":"Morningstar +3","displayName":"Morningstar +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA maul is a long-handled hammer with a heavy head, of wood, lead, or iron. Similar in appearance and function to a modern sledgehammer, it is sometimes shown as having a spear-like spike on the fore-end of the haft.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0320","blueprint":"In Handout","name":"Pike","displayName":"Pike","description":"A long spear with a heavy wooden shaft 10 to 20 feet long, tipped with a steel point.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"Piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0321","blueprint":"In Handout","name":"Pike +1","displayName":"Pike +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA long spear with a heavy wooden shaft 10 to 20 feet long, tipped with a steel point.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"Piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0322","blueprint":"In Handout","name":"Pike +2","displayName":"Pike +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA long spear with a heavy wooden shaft 10 to 20 feet long, tipped with a steel point.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"Piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0323","blueprint":"In Handout","name":"Pike +3","displayName":"Pike +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA long spear with a heavy wooden shaft 10 to 20 feet long, tipped with a steel point.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"Piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0324","blueprint":"In Handout","name":"Rapier","displayName":"Rapier","description":"A rapier (or espada ropera) is a type of sword with a slender and sharply-pointed two-edged blade.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0325","blueprint":"In Handout","name":"Rapier +1","displayName":"Rapier +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA rapier (or espada ropera) is a type of sword with a slender and sharply-pointed two-edged blade.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0326","blueprint":"In Handout","name":"Rapier +2","displayName":"Rapier +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA rapier (or espada ropera) is a type of sword with a slender and sharply-pointed two-edged blade.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0327","blueprint":"In Handout","name":"Rapier +3","displayName":"Rapier +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA rapier (or espada ropera) is a type of sword with a slender and sharply-pointed two-edged blade.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0328","blueprint":"In Handout","name":"Scimitar","displayName":"Scimitar","description":"A short sword with a curved blade that broadens toward the point.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":25,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0329","blueprint":"In Handout","name":"Scimitar +1","displayName":"Scimitar +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA short sword with a curved blade that broadens toward the point.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0330","blueprint":"In Handout","name":"Scimitar +2","displayName":"Scimitar +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA short sword with a curved blade that broadens toward the point.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0331","blueprint":"In Handout","name":"Scimitar +3","displayName":"Scimitar +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA short sword with a curved blade that broadens toward the point.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0332","blueprint":"In Handout","name":"Shortsword","displayName":"Shortsword","description":"A smaller version of the longsword, but longer than a dagger or dirk. It has a 12 to 20 inch, double-edged blade that ends in a sharp point. It has a cross-guard, grip, and pommel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0333","blueprint":"In Handout","name":"Shortsword +1","displayName":"Shortsword +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA smaller version of the longsword, but longer than a dagger or dirk. It has a 12 to 20 inch, double-edged blade that ends in a sharp point. It has a cross-guard, grip, and pommel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0334","blueprint":"In Handout","name":"Shortsword +2","displayName":"Shortsword +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA smaller version of the longsword, but longer than a dagger or dirk. It has a 12 to 20 inch, double-edged blade that ends in a sharp point. It has a cross-guard, grip, and pommel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0335","blueprint":"In Handout","name":"Shortsword +3","displayName":"Shortsword +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA smaller version of the longsword, but longer than a dagger or dirk. It has a 12 to 20 inch, double-edged blade that ends in a sharp point. It has a cross-guard, grip, and pommel.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0336","blueprint":"In Handout","name":"Trident","displayName":"Trident","description":"A trident (also called a leister or gig), is a three-pronged spear.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0337","blueprint":"In Handout","name":"Trident +1","displayName":"Trident +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA trident (also called a leister or gig), is a three-pronged spear.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0338","blueprint":"In Handout","name":"Trident +2","displayName":"Trident +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA trident (also called a leister or gig), is a three-pronged spear.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0339","blueprint":"In Handout","name":"Trident +3","displayName":"Trident +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA trident (also called a leister or gig), is a three-pronged spear.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Piercing","properties":"Thrown (20/60), Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0340","blueprint":"In Handout","name":"Warhammer","displayName":"Warhammer","description":"A war hammer consists of a handle and a heavy iron head with a hammer in front, and a spike on the other side.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":15,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Bludgeoning","properties":"Versatile (1d10)","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0341","blueprint":"In Handout","name":"Warhammer +1","displayName":"Warhammer +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA war hammer consists of a handle and a heavy iron head with a hammer in front, and a spike on the other side.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Bludgeoning","properties":"Versatile (1d10)","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0342","blueprint":"In Handout","name":"Warhammer +2","displayName":"Warhammer +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA war hammer consists of a handle and a heavy iron head with a hammer in front, and a spike on the other side.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Bludgeoning","properties":"Versatile (1d10)","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0343","blueprint":"In Handout","name":"Warhammer +3","displayName":"Warhammer +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA war hammer consists of a handle and a heavy iron head with a hammer in front, and a spike on the other side.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Bludgeoning","properties":"Versatile (1d10)","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0344","blueprint":"In Handout","name":"War Pick","displayName":"War Pick","description":"A war pick, also called a horseman's pick, consists of a long shaft, often wood, topped with a small hammer's head with a very long spike on the reverse side. Usually, this spike was slightly curved downwards, much like a miner's pickaxe.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":5,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0345","blueprint":"In Handout","name":"War Pick +1","displayName":"War Pick +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA war pick, also called a horseman's pick, consists of a long shaft, often wood, topped with a small hammer's head with a very long spike on the reverse side. Usually, this spike was slightly curved downwards, much like a miner's pickaxe.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0346","blueprint":"In Handout","name":"War Pick +2","displayName":"War Pick +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA war pick, also called a horseman's pick, consists of a long shaft, often wood, topped with a small hammer's head with a very long spike on the reverse side. Usually, this spike was slightly curved downwards, much like a miner's pickaxe.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0347","blueprint":"In Handout","name":"War Pick +3","displayName":"War Pick +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA war pick, also called a horseman's pick, consists of a long shaft, often wood, topped with a small hammer's head with a very long spike on the reverse side. Usually, this spike was slightly curved downwards, much like a miner's pickaxe.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Piercing","properties":"","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0348","blueprint":"In Handout","name":"Whip","displayName":"Whip","description":"A strip of leather or length of cord fastened to a handle.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"melee","rarity":"common","defaultPrice":2,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"Slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0349","blueprint":"In Handout","name":"Whip +1","displayName":"Whip +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA strip of leather or length of cord fastened to a handle.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"melee","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"Slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0350","blueprint":"In Handout","name":"Whip +2","displayName":"Whip +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA strip of leather or length of cord fastened to a handle.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"melee","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"Slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0351","blueprint":"In Handout","name":"Whip +3","displayName":"Whip +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA strip of leather or length of cord fastened to a handle.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"melee","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"Slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0352","blueprint":"In Handout","name":"Blowgun","displayName":"Blowgun","description":"A simple ranged weapon consisting of a long narrow tube for shooting light projectiles such as small darts.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"","diceCount":1,"diceSide":1,"bonus":0,"rollBonus":0,"area":"single","damage":"1","damageType":"piercing","properties":"Ammunition, Loading, Range (25/100)","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0353","blueprint":"In Handout","name":"Blowgun +1","displayName":"Blowgun +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA simple ranged weapon consisting of a long narrow tube for shooting light projectiles such as small darts.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"","diceCount":1,"diceSide":1,"bonus":1,"rollBonus":1,"area":"single","damage":"2","damageType":"piercing","properties":"Ammunition, Loading, Range (25/100)","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0354","blueprint":"In Handout","name":"Blowgun +2","displayName":"Blowgun +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA simple ranged weapon consisting of a long narrow tube for shooting light projectiles such as small darts.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"dmage","diceCount":1,"diceSide":1,"bonus":2,"rollBonus":2,"area":"single","damage":"3","damageType":"Piercing","properties":"Ammunition, Loading, Range (25/100)","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0355","blueprint":"In Handout","name":"Blowgun +3","displayName":"Blowgun +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA simple ranged weapon consisting of a long narrow tube for shooting light projectiles such as small darts.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"","diceCount":1,"diceSide":1,"bonus":3,"rollBonus":3,"area":"single","damage":"4","damageType":"piercing","properties":"Ammunition, Loading, Range (25/100)","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0356","blueprint":"In Handout","name":"Hand Crossbow","displayName":"Hand Crossbow","description":"A small, light ranged weapon, typically mounted on the back of one's forearm, that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":75,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"Piercing","properties":"Ammunition, Light, Loading, Range (30/120)","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0357","blueprint":"In Handout","name":"Hand Crossbow +1","displayName":"Hand Crossbow +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA small, light ranged weapon, typically mounted on the back of one's forearm, that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"Piercing","properties":"Ammunition, Light, Loading, Range (30/120)","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0358","blueprint":"In Handout","name":"Hand Crossbow +2","displayName":"Hand Crossbow +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA small, light ranged weapon, typically mounted on the back of one's forearm, that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"Piercing","properties":"Ammunition, Light, Loading, Range (30/120)","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0359","blueprint":"In Handout","name":"Hand Crossbow +3","displayName":"Hand Crossbow +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA small, light ranged weapon, typically mounted on the back of one's forearm, that uses an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"Piercing","properties":"Ammunition, Light, Loading, Range (30/120)","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0360","blueprint":"In Handout","name":"Heavy Crossbow","displayName":"Heavy Crossbow","description":"A heavy ranged weapon using an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"Piercing","properties":"Ammunition, Heavy, Loading, Two-Handed, Range (100/400)","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0361","blueprint":"In Handout","name":"Heavy Crossbow +1","displayName":"Heavy Crossbow +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA heavy ranged weapon using an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"Piercing","properties":"Ammunition, Heavy, Loading, Two-Handed, Range (100/400)","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0362","blueprint":"In Handout","name":"Heavy Crossbow +2","displayName":"Heavy Crossbow +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA heavy ranged weapon using an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"Piercing","properties":"Ammunition, Heavy, Loading, Two-Handed, Range (100/400)","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0363","blueprint":"In Handout","name":"Heavy Crossbow +3","displayName":"Heavy Crossbow +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA heavy ranged weapon using an elastic launching device consisting of a bow-like assembly mounted horizontally on a main frame.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"Piercing","properties":"Ammunition, Heavy, Loading, Two-Handed, Range (100/400)","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0364","blueprint":"In Handout","name":"Longbow","displayName":"Longbow","description":"A tall bow – roughly equal to the height of the user – allowing the archer a fairly long draw. Its limbs are relatively narrow and are circular or D-shaped in cross section.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"Piercing","properties":"Ammunition, Heavy, Two-Handed, Range (150/600)","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0365","blueprint":"In Handout","name":"Longbow +1","displayName":"Longbow +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nA tall bow – roughly equal to the height of the user – allowing the archer a fairly long draw. Its limbs are relatively narrow and are circular or D-shaped in cross section.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"Piercing","properties":"Ammunition, Heavy, Two-Handed, Range (150/600)","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0366","blueprint":"In Handout","name":"Longbow +2","displayName":"Longbow +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nA tall bow – roughly equal to the height of the user – allowing the archer a fairly long draw. Its limbs are relatively narrow and are circular or D-shaped in cross section.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"Piercing","properties":"Ammunition, Heavy, Two-Handed, Range (150/600)","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0367","blueprint":"In Handout","name":"Longbow +3","displayName":"Longbow +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nA tall bow – roughly equal to the height of the user – allowing the archer a fairly long draw. Its limbs are relatively narrow and are circular or D-shaped in cross section.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"Piercing","properties":"Ammunition, Heavy, Two-Handed, Range (150/600)","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0368","blueprint":"In Handout","name":"Musket","displayName":"Musket","description":"This is a two-handed weapon that requires significant time to load, often representing early Renaissance technology in fantasy settings.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"common","defaultPrice":500,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":0,"rollBonus":0,"area":"single","damage":"1d12","damageType":"Piercing","properties":"Ammunition (Range 40/120; Bullet), Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0369","blueprint":"In Handout","name":"Musket +1","displayName":"Musket +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\nThis is a two-handed weapon that requires significant time to load, often representing early Renaissance technology in fantasy settings.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"single","damage":"1d12+1","damageType":"Piercing","properties":"Ammunition (Range 40/120; Bullet), Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0370","blueprint":"In Handout","name":"Musket +2","displayName":"Musket +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\nThis is a two-handed weapon that requires significant time to load, often representing early Renaissance technology in fantasy settings.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":2,"rollBonus":2,"area":"single","damage":"1d12+2","damageType":"Piercing","properties":"Ammunition (Range 40/120; Bullet), Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0371","blueprint":"In Handout","name":"Musket +3","displayName":"Musket +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\nThis is a two-handed weapon that requires significant time to load, often representing early Renaissance technology in fantasy settings.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":3,"rollBonus":3,"area":"single","damage":"1d12+3","damageType":"Piercing","properties":"Ammunition (Range 40/120; Bullet), Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0372","blueprint":"In Handout","name":"Pistol","displayName":"Pistol","description":". It is a rare, expensive, and often experimental weapon that brings loud, smoky technology into a world of magic and steel.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"common","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"Piercing","properties":"Ammunition (Range 30/90; Bullet), Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0373","blueprint":"In Handout","name":"Pistol +1","displayName":"Pistol +1","description":"You have a +1 bonus to attack and damage rolls made with this weapon.\n\n. It is a rare, expensive, and often experimental weapon that brings loud, smoky technology into a world of magic and steel.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"Piercing","properties":"Ammunition (Range 30/90; Bullet), Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0374","blueprint":"In Handout","name":"Pistol +2","displayName":"Pistol +2","description":"You have a +2 bonus to attack and damage rolls made with this weapon.\n\n. It is a rare, expensive, and often experimental weapon that brings loud, smoky technology into a world of magic and steel.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"Piercing","properties":"Ammunition (Range 30/90; Bullet), Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0375","blueprint":"In Handout","name":"Pistol +3","displayName":"Pistol +3","description":"You have a +3 bonus to attack and damage rolls made with this weapon.\n\n. It is a rare, expensive, and often experimental weapon that brings loud, smoky technology into a world of magic and steel.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"Piercing","properties":"Ammunition (Range 30/90; Bullet), Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0376","blueprint":"In Handout","name":"Adamantine Breastplate","displayName":"Adamantine Breastplate","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":20,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":900,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0377","blueprint":"In Handout","name":"Adamantine Chain Mail","displayName":"Adamantine Chain Mail","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":55,"AC":"16","modifier":"","debuff":"","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":575,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0378","blueprint":"In Handout","name":"Adamantine Chain Shirt","displayName":"Adamantine Chain Shirt","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":20,"AC":"13","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":550,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0379","blueprint":"In Handout","name":"Adamantine Half Plate","displayName":"Adamantine Half Plate","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":40,"AC":"15","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":1250,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0380","blueprint":"In Handout","name":"Adamantine Plate Armor","displayName":"Adamantine Plate Armor","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":65,"AC":"18","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":2000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0381","blueprint":"In Handout","name":"Adamantine Ring Mail","displayName":"Adamantine Ring Mail","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":40,"AC":"14","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":530,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0382","blueprint":"In Handout","name":"Adamantine Scale Mail","displayName":"Adamantine Scale Mail","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":45,"AC":"14","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":550,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0383","blueprint":"In Handout","name":"Adamantine Splint Armor","displayName":"Adamantine Splint Armor","description":"This suit of armor is reinforced with adamantine, one of the hardest substances in existence. While you’re wearing it, any Critical Hit against you becomes a normal hit.","quantity":0,"weight":60,"AC":"17","modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"common","defaultPrice":700,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0384","blueprint":"In Handout","name":"Amulet of Health","displayName":"Amulet of Health","description":"Your Constitution score is 19 while you wear this amulet. It has no effect on you if your Constitution score is already 19 or higher.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Amulet","rarity":"rare","defaultPrice":5000,"defaultPriceType":"gp","imageUrl":"https://witchoffernisland.wiki.gg/images/thumb/Amulet_health.png/250px-Amulet_health.png","effect":"Increase Constitution to 19","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Ability Modifier, Attunement","mastery":"","tags":"magic,attunement,wondrous,magic,rare","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0385","blueprint":"In Handout","name":"Amulet of Proof against Detection and Location","displayName":"Amulet againts Det. & Loc.","description":"While wearing this amulet, you can’t be targeted by Divination spells or perceived through magical scrying sensors unless you allow it.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Amulet","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://holiviantales.wordpress.com/wp-content/uploads/2015/10/silveramulet1.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Attunement","mastery":"","tags":"magic,attunement,wondrous-item,amulet","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0386","blueprint":"In Handout","name":"Amulet of the Planes","displayName":"Amulet of the Planes","description":"While wearing this amulet, you can take a Magic action to name a location that you are familiar with on another plane of existence. Then make a DC 15 Intelligence (Arcana) check. On a successful check, you cast Plane Shift. On a failed check, you and each creature and object within 15 feet of you travel to a random destination determined by rolling 1d100 and consulting the following table.\n\n1d100 Destination\n01–60 Random location on the plane you named\n61–70 Random location on an Inner Plane determined by rolling 1d6: on a 1, the Plane of Air; on a 2, the Plane of Earth; on a 3, the Plane of Fire; on a 4, the Plane of Water; on a 5, the Feywild; on a 6, the Shadowfell\n71–80 Random location on an Outer Plane determined by rolling 1d8: on a 1, Arborea; on a 2, Arcadia; on a 3, the Beastlands; on a 4, Bytopia; on a 5, Elysium; on a 6, Mechanus; on a 7, Mount Celestia; on an 8, Ysgard\n81–90 Random location on an Outer Plane determined by rolling 1d8: on a 1, the Abyss; on a 2, Acheron; on a 3, Carceri; on a 4, Gehenna; on a 5, Hades; on a 6, Limbo; on a 7, the Nine Hells; on an 8, Pandemonium\n91–00 Random location on the Astral Plane","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Amulet","rarity":"very rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414898845/zoLXfTtfDWOh2_-4RODobQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Attunement","mastery":"","tags":"magic,attunement,wondrous-item,amulet","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0387","blueprint":"In Handout","name":"Animated Shield","displayName":"Animated Shield","description":"While holding this Shield, you can take a Bonus Action to cause it to animate. The Shield leaps into the air and hovers in your space to protect you as if you were wielding it, leaving your hands free. The Shield remains animate for 1 minute, until you take a Bonus Action to end this effect, or until you die or have the Incapacitated condition, at which point the Shield falls to the ground or into your hand if you have one free.\n\nShields require the Utilize action to Don or Doff. You gain the Armor Class benefit of a Shield only if you have training with it.","quantity":0,"weight":6,"AC":"+2","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"shield","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://coldharbour.ru/upload/image/icons/glassshieldofmagicsupp.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Attunement","mastery":"","tags":"magic,attunement,armor,shield","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0388","blueprint":"In Handout","name":"Apparatus of the Crab","displayName":"Apparatus of the Crab","description":"This item first appears to be a sealed iron barrel weighing 500 pounds. The barrel has a hidden catch, which can be found with a successful DC 20 Intelligence (Investigation) check. Releasing the catch unlocks a hatch at one end of the barrel, allowing two Medium or smaller creatures to crawl inside. Ten levers are set in a row at the far end, each in a neutral position, able to move up or down. When certain levers are used, the apparatus transforms to resemble a giant lobster.\n\nThe Apparatus of the Crab is a Large object with the following statistics: AC 20; HP 200; Speed 30 ft., Swim 30 ft. (or 0 ft. for both if the legs aren’t extended); Immunity to Poison and Psychic damage.\n\nTo be used as a vehicle, the apparatus requires one pilot. While the apparatus’s hatch is closed, the compartment is airtight and watertight. The compartment holds enough air for 10 hours of breathing, divided by the number of breathing creatures inside.\n\nThe apparatus floats on water. It can also go underwater to a depth of 900 feet. Below that, the vehicle takes 2d6 Bludgeoning damage each minute from pressure.\n\nA creature in the compartment can take a Utilize action to move as many as two of the apparatus’s levers up or down. After each use, a lever goes back to its neutral position. Each lever, from left to right, functions as shown in the Apparatus of the Crab Levers table.","quantity":0,"weight":500,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"vehicle","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414382077/N8GRd_-o32I7hNAcpBRxKA/med.png?1729515312","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"magic,wondrous-item,vehicle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0389","blueprint":"In Handout","name":"Arrow +1","displayName":"Arrow +1","description":"Magic arrow ammunition. You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"uncommon","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/665/831/small/archery-targeting-arrow-with-wooden-fletching-and-metal-tip-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":1,"rollBonus":1,"area":"single","damage":"+1","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0390","blueprint":"In Handout","name":"Arrow +2","displayName":"Arrow +2","description":"Magic arrow ammunition. You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"rare","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/665/831/small/archery-targeting-arrow-with-wooden-fletching-and-metal-tip-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":2,"rollBonus":2,"area":"single","damage":"+2","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0391","blueprint":"In Handout","name":"Arrow +3","displayName":"Arrow +3","description":"Magic arrow ammunition. You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/665/831/small/archery-targeting-arrow-with-wooden-fletching-and-metal-tip-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":3,"rollBonus":3,"area":"single","damage":"+3","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0392","blueprint":"In Handout","name":"Armor of Invulnerability","displayName":"Armor of Invulnerability","description":"You have Resistance to Bludgeoning, Piercing, and Slashing damage while you wear this armor.\n\nMetal Shell. You can take a Magic action to give yourself Immunity to Bludgeoning, Piercing, and Slashing damage for 10 minutes or until you are no longer wearing the armor. Once this property is used, it can’t be used again until the next dawn.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/431/1000/1000/638657413414178666.png","effect":"Resistance Bludgeoning, Piercing, Slashing","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0393","blueprint":"In Handout","name":"Arrow of Aberration Slaying","displayName":"Arrow of Aberration Slaying","description":"This magic ammunition is meant to slay Aberrations. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0394","blueprint":"In Handout","name":"Arrow of Beast Slaying","displayName":"Arrow of Beast Slaying","description":"This magic ammunition is meant to slay Beasts. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0395","blueprint":"In Handout","name":"Arrow of Celestial Slaying","displayName":"Arrow of Celestial Slaying","description":"This magic ammunition is meant to slay Celestials. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0396","blueprint":"In Handout","name":"Arrow of Construct Slaying","displayName":"Arrow of Construct Slaying","description":"This magic ammunition is meant to slay Constructs. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0397","blueprint":"In Handout","name":"Arrow of Dragon Slaying","displayName":"Arrow of Dragon Slaying","description":"This magic ammunition is meant to slay Dragons. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0398","blueprint":"In Handout","name":"Arrow of Elemental Slaying","displayName":"Arrow of Elemental Slaying","description":"This magic ammunition is meant to slay Elementals. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0399","blueprint":"In Handout","name":"Arrow of Fey Slaying","displayName":"Arrow of Fey Slaying","description":"This magic ammunition is meant to slay Fey. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0400","blueprint":"In Handout","name":"Arrow of Fiend Slaying","displayName":"Arrow of Fiend Slaying","description":"This magic ammunition is meant to slay Fiends. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0401","blueprint":"In Handout","name":"Arrow of Giant Slaying","displayName":"Arrow of Giant Slaying","description":"This magic ammunition is meant to slay Giants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0402","blueprint":"In Handout","name":"Arrow of Humanoid Slaying","displayName":"Arrow of Humanoid Slaying","description":"This magic ammunition is meant to slay Humanoids. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0403","blueprint":"In Handout","name":"Arrow of Monstrosity Slaying","displayName":"Arrow of Monstrosity Slaying","description":"This magic ammunition is meant to slay Monstrosities. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0404","blueprint":"In Handout","name":"Arrow of Ooze Slaying","displayName":"Arrow of Ooze Slaying","description":"This magic ammunition is meant to slay Oozes. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0405","blueprint":"In Handout","name":"Arrow of Plant Slaying","displayName":"Arrow of Plant Slaying","description":"This magic ammunition is meant to slay Plants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0406","blueprint":"In Handout","name":"Arrow of Undead Slaying","displayName":"Arrow of Undead Slaying","description":"This magic ammunition is meant to slay Undead. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.05,"AC":"","modifier":"","debuff":"","requirement":"Quiver","type":"Ammunition","subtype":"bows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0407","blueprint":"In Handout","name":"Arrow-Catching Shield","displayName":"Arrow-Catching Shield","description":"You gain a +2 bonus to Armor Class against ranged attack rolls while you wield this Shield. This bonus is in addition to the Shield’s normal bonus to AC.\n\nWhenever an attacker makes a ranged attack roll against a target within 5 feet of you, you can take a Reaction to become the target of the attack instead.","quantity":0,"weight":6,"AC":"+2","modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"shield","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://2e.aonprd.com/Images/Treasure/Arrow-Catching_Shield.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Attunement","mastery":"","tags":"magic,attunement,armor,shield","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0408","blueprint":"In Handout","name":"Bag of Beans","displayName":"Bag of Beans","description":"This heavy cloth bag contains 3d4 dry beans when found. The bag weighs half a pound regardless of how many beans it contains and becomes a nonmagical item when it no longer contains any beans.\n\nIf you dump one or more beans out of the bag, they explode in a 10-foot-radius Sphere centered on them. All the dumped beans are destroyed in the explosion, and each creature in the Sphere, including you, makes a DC 15 Dexterity saving throw, taking 5d4 Force damage on a failed save or half as much damage on a successful one.\n\nIf you remove a bean from the bag, plant it in dirt or sand, and then water it, the bean disappears as it produces an effect 1 minute later from the ground where it was planted. The DM can choose an effect from the following table or determine it randomly.","quantity":0,"weight":0.5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://preview.redd.it/bag-of-beans-v0-5oacae4i94j91.png?auto=webp&s=4bff035940b0e2b1a1d065919493754b11544c65","effect":"","diceCount":5,"diceSide":4,"bonus":0,"rollBonus":0,"area":"","damage":"5d4","damageType":"force","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0409","blueprint":"In Handout","name":"Bag of Devouring","displayName":"Bag of Devouring","description":"This bag resembles a Bag of Holding but is a feeding orifice for a gigantic extradimensional creature. Turning the bag inside out closes the orifice.\n\nThe extradimensional creature attached to the bag can sense whatever is placed inside the bag. Animal or vegetable matter placed wholly in the bag is devoured and lost forever. When part of a living creature is placed in the bag, as happens when someone reaches inside it, there is a 50 percent chance that the creature is pulled inside the bag. A creature inside the bag can take an action to try to escape, doing so with a successful DC 15 Strength (Athletics) check. Another creature can take an action to reach into the bag to pull a creature out, doing so with a successful DC 20 Strength (Athletics) check, provided the puller isn’t pulled inside the bag first. Any creature that starts its turn inside the bag is devoured, its body destroyed.\n\nInanimate objects can be stored in the bag, which can hold a cubic foot of such material. However, once each day, the bag swallows any objects inside it and spits them out into another plane of existence. The GM determines the time and plane.\n\nIf the bag is pierced or torn, it is destroyed, and anything contained within it is transported to a random location on the Astral Plane.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/7/7b/Bag_of_holding_5e.png","effect":"Store a creature or an inanimate objects in the bag.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Utility, Container","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5ft","consumableRange":"","questItem":false},{"id":"0410","blueprint":"In Handout","name":"Bag of Holding","displayName":"Bag of Holding","description":"This bag has an interior space considerably larger than its outside dimensions—roughly 2 feet square and 4 feet deep on the inside. The bag can hold up to 500 pounds, not exceeding a volume of 64 cubic feet. The bag weighs 5 pounds, regardless of its contents. Retrieving an item from the bag requires a Utilize action.\n\nIf the bag is overloaded, pierced, or torn, it is destroyed, and its contents are scattered in the Astral Plane. If the bag is turned inside out, its contents spill forth unharmed, but the bag must be put right before it can be used again. The bag holds enough air for 10 minutes of breathing, divided by the number of breathing creatures inside.\n\nPlacing a Bag of Holding inside an extradimensional space created by a Handy Haversack, Portable Hole, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within a 10-foot-radius Sphere centered on the gate is sucked through it to a random location on the Astral Plane. The gate then closes. The gate is one-way and can’t be reopened.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/7/7b/Bag_of_holding_5e.png","effect":"Store a creature or an inanimate objects in the bag.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"10 ft Radius","damage":"","damageType":"","properties":"Utility, Container","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0411","blueprint":"In Handout","name":"Battleaxe of Warning","displayName":"Battleaxe of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0412","blueprint":"In Handout","name":"Bead of Force","displayName":"Bead of Force","description":"This small black sphere measures 3/4 of an inch in diameter and weighs an ounce. Typically, 1d4 + 4 Beads of Force are found together.\n\nYou can take a Magic action to throw the bead up to 60 feet. The bead explodes in a 10-foot-radius Sphere on impact and is destroyed. Each creature in the Sphere must succeed on a DC 15 Dexterity saving throw or take 5d4 Force damage. A sphere of transparent force then encloses the area for 1 minute. Any creature that failed the save and is completely within the area is trapped inside this sphere. Creatures that succeeded on the save or are partially within the area are pushed away from the center of the sphere until they are no longer inside it. Only breathable air can pass through the sphere’s wall. No attack or other effect can pass through.\n\nAn enclosed creature can take a Utilize action to push against the sphere’s wall, moving the sphere up to half the creature’s Speed. The sphere can be picked up, and its magic causes it to weigh only 1 pound, regardless of the weight of creatures inside.","quantity":0,"weight":0.0625,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/041/450/868/small/3d-black-ball-geometrical-shape-png.png","effect":"Explodes in a 10-foot-radius Sphere.","diceCount":5,"diceSide":4,"bonus":0,"rollBonus":0,"area":"","damage":"5d4","damageType":"force","properties":"Thrown up to 60ft","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"60 ft","consumableRange":"","questItem":false},{"id":"0413","blueprint":"In Handout","name":"Bead of Nourishment","displayName":"Bead of Nourishment","description":"This flavorless, gelatinous bead dissolves on your tongue and provides as much nourishment as 1 day of Rations.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"common","defaultPrice":10,"defaultPriceType":"sp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/052/559/251/small_2x/abstract-3d-sphere-with-green-and-white-shapes-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0414","blueprint":"In Handout","name":"Belt of Cloud Giant Strength","displayName":"Belt of Cloud Giant Strength","description":"While wearing this belt, your Strength changes to 27. The item has no effect on you if your Strength without the belt is equal to or greater than 27.","quantity":0,"weight":0,"AC":"","modifier":"STR 27","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414904714/yzao4PhBQqHJiq1n99uN_w/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0415","blueprint":"In Handout","name":"Belt of Dwarvenkind","displayName":"Belt of Dwarvenkind","description":"While wearing this belt, you gain the following benefits:\n\nDwarvish. You know Dwarvish.\n\nFriend of Dwarvenkind. You have Advantage on Charisma (Persuasion) checks made to interact with dwarves and duergar.\n\nToughness. Your Constitution increases by 2, to a maximum of 20.\n\nIn addition, while attuned to the belt, you have a 50 percent chance each day at dawn of growing a full beard if you can grow one, or a thicker beard if you already have one.\n\nIf you aren’t a dwarf or duergar, you gain the following additional benefits while wearing the belt:\n\nDarkvision. You have Darkvision with a range of 60 feet.\n\nResilience. You have Resistance to Poison damage. You also have Advantage on saving throws you make to avoid or end the Poisoned condition.","quantity":0,"weight":0,"AC":"","modifier":"CON +2","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414384386/HYbjwdp_4oeu5OX9f0imUg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0416","blueprint":"In Handout","name":"Belt of Fire Giant Strength","displayName":"Belt of Fire Giant Strength","description":"While wearing this belt, your Strength changes to 25. The item has no effect on you if your Strength without the belt is equal to or greater than 25.","quantity":0,"weight":0,"AC":"","modifier":"STR 25","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414905315/xVw8aAaQts26lQb0agn8rA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0417","blueprint":"In Handout","name":"Belt of Frost Giant Strength","displayName":"Belt of Frost Giant Strength","description":"While wearing this belt, your Strength changes to 23. The item has no effect on you if your Strength without the belt is equal to or greater than 23.","quantity":0,"weight":0,"AC":"","modifier":"STR 23","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414904714/yzao4PhBQqHJiq1n99uN_w/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0418","blueprint":"In Handout","name":"Belt of Hill Giant Strength","displayName":"Belt of Hill Giant Strength","description":"While wearing this belt, your Strength changes to 21. The item has no effect on you if your Strength without the belt is equal to or greater than 21.","quantity":0,"weight":0,"AC":"","modifier":"STR 21","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414904714/yzao4PhBQqHJiq1n99uN_w/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0419","blueprint":"In Handout","name":"Belt of Stone Giant Strength","displayName":"Belt of Stone Giant Strength","description":"While wearing this belt, your Strength changes to 23. The item has no effect on you if your Strength without the belt is equal to or greater than 23.","quantity":0,"weight":0,"AC":"","modifier":"STR 23","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414904714/yzao4PhBQqHJiq1n99uN_w/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0420","blueprint":"In Handout","name":"Belt of Storm Giant Strength","displayName":"Belt of Storm Giant Strength","description":"While wearing this belt, your Strength changes to 29. The item has no effect on you if your Strength without the belt is equal to or greater than 29.","quantity":0,"weight":0,"AC":"","modifier":"STR 29","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414904714/yzao4PhBQqHJiq1n99uN_w/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0421","blueprint":"In Handout","name":"Berserker Battleaxe","displayName":"Berserker Battleaxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. In addition, while you are attuned to this weapon, your Hit Point maximum increases by 1 for each level you have attained.\n\nCurse. This weapon is cursed, and becoming attuned to it extends the curse to you. As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\n\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\n\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you’re unable to get close enough to the creature to attack it with the weapon, your turn ends after you’ve used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"Cursed Weapon","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"","damage":"1d8+1","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0422","blueprint":"In Handout","name":"Berserker Greataxe","displayName":"Berserker Greataxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. In addition, while you are attuned to this weapon, your Hit Point maximum increases by 1 for each level you have attained.\n\nCurse. This weapon is cursed, and becoming attuned to it extends the curse to you. As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\n\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\n\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you’re unable to get close enough to the creature to attack it with the weapon, your turn ends after you’ve used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"Cursed Weapon","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"","damage":"1d12+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0423","blueprint":"In Handout","name":"Berserker Halberd","displayName":"Berserker Halberd","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. In addition, while you are attuned to this weapon, your Hit Point maximum increases by 1 for each level you have attained.\n\nCurse. This weapon is cursed, and becoming attuned to it extends the curse to you. As long as you remain cursed, you are unwilling to part with the weapon, keeping it within reach at all times. You also have Disadvantage on attack rolls with weapons other than this one.\n\nWhenever another creature damages you while the weapon is in your possession, you must succeed on a DC 15 Wisdom saving throw or go berserk. This berserk state ends when you start your turn and there are no creatures within 60 feet of you that you can see or hear.\n\nWhile berserk, you regard the creature nearest to you that you can see or hear as your enemy. If there are multiple possible creatures, choose one at random. On each of your turns, you must move as close to the creature as possible and take the Attack action, targeting the creature. If you’re unable to get close enough to the creature to attack it with the weapon, your turn ends after you’ve used up all your available movement. If the creature dies or can no longer be seen or heard by you, the next nearest creature that you can see or hear becomes your new target.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"Cursed Weapon","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0424","blueprint":"In Handout","name":"Black Dragon Scale Mail","displayName":"Black Dragon Scale Mail","description":"Black Dragon Scale Mail is made of the scales of a black dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Black Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Acid damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest black dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0425","blueprint":"In Handout","name":"Blowgun of Warning","displayName":"Blowgun of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.\n","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":1,"bonus":0,"rollBonus":0,"area":"single","damage":"1","damageType":"piercing","properties":"Ammunition, Loading, Range (25/100)","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0426","blueprint":"In Handout","name":"Blue Dragon Scale Mail","displayName":"Blue Dragon Scale Mail","description":"Blue Dragon Scale Mail is made of the scales of a blue dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Blue Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Lightning damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest blue dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0427","blueprint":"In Handout","name":"Bolt +1","displayName":"Bolt +1","description":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"uncommon","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/26b550b2d8b7b03680f99f3d4cda5352.png","effect":"","diceCount":0,"diceSide":0,"bonus":1,"rollBonus":1,"area":"single","damage":"+1","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,bolts,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0428","blueprint":"In Handout","name":"Bolt +2","displayName":"Bolt +2","description":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"rare","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/26b550b2d8b7b03680f99f3d4cda5352.png","effect":"","diceCount":0,"diceSide":0,"bonus":2,"rollBonus":2,"area":"single","damage":"+2","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,bolts,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0429","blueprint":"In Handout","name":"Bolt +3","displayName":"Bolt +3","description":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/26b550b2d8b7b03680f99f3d4cda5352.png","effect":"","diceCount":0,"diceSide":0,"bonus":3,"rollBonus":3,"area":"single","damage":"+3","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,bolts,bundle","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0430","blueprint":"In Handout","name":"Bolt of Aberration Slaying","displayName":"Bolt of Aberration Slaying","description":"This magic ammunition is meant to slay Aberrations. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0431","blueprint":"In Handout","name":"Bolt of Beast Slaying","displayName":"Bolt of Beast Slaying","description":"This magic ammunition is meant to slay Beasts. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0432","blueprint":"In Handout","name":"Bolt of Celestial Slaying","displayName":"Bolt of Celestial Slaying","description":"This magic ammunition is meant to slay Celestials. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0433","blueprint":"In Handout","name":"Bolt of Construct Slaying","displayName":"Bolt of Construct Slaying","description":"This magic ammunition is meant to slay Constructs. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0434","blueprint":"In Handout","name":"Bolt of Dragon Slaying","displayName":"Bolt of Dragon Slaying","description":"This magic ammunition is meant to slay Dragons. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0435","blueprint":"In Handout","name":"Bolt of Elemental Slaying","displayName":"Bolt of Elemental Slaying","description":"This magic ammunition is meant to slay Elementals. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0436","blueprint":"In Handout","name":"Bolt of Fey Slaying","displayName":"Bolt of Fey Slaying","description":"This magic ammunition is meant to slay Fey. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0437","blueprint":"In Handout","name":"Bolt of Fiend Slaying","displayName":"Bolt of Fiend Slaying","description":"This magic ammunition is meant to slay Fiends. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0438","blueprint":"In Handout","name":"Bolt of Giant Slaying","displayName":"Bolt of Giant Slaying","description":"This magic ammunition is meant to slay Giants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0439","blueprint":"In Handout","name":"Bolt of Humanoid Slaying","displayName":"Bolt of Humanoid Slaying","description":"This magic ammunition is meant to slay Humanoids. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0440","blueprint":"In Handout","name":"Bolt of Monstrosity Slaying","displayName":"Bolt of Monstrosity Slaying","description":"This magic ammunition is meant to slay Monstrosities. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0441","blueprint":"In Handout","name":"Bolt of Ooze Slaying","displayName":"Bolt of Ooze Slaying","description":"This magic ammunition is meant to slay Oozes. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0442","blueprint":"In Handout","name":"Bolt of Plant Slaying","displayName":"Bolt of Plant Slaying","description":"This magic ammunition is meant to slay Plants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0443","blueprint":"In Handout","name":"Bolt of Undead Slaying","displayName":"Bolt of Undead Slaying","description":"This magic ammunition is meant to slay Undead. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.075,"AC":"","modifier":"","debuff":"","requirement":"Case","type":"Ammunition","subtype":"crossbows","rarity":"very_rare","defaultPrice":20000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/ec/Arrow_of_Slaying_Faded.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0444","blueprint":"In Handout","name":"Boots of Elvenkind","displayName":"Boots of Elvenkind","description":"While you wear these boots, your steps make no sound, regardless of the surface you are moving across. You also have Advantage on Dexterity (Stealth) checks.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/f/f7/Shoes_E_Faded.png","effect":"Your steps make no sound.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0445","blueprint":"In Handout","name":"Boots of Levitation","displayName":"Boots of Levitation","description":"While you wear these boots, you can cast Levitate on yourself.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/924/1000/1000/638657414293325345.png","effect":"Cast Levitate on yourself.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0446","blueprint":"In Handout","name":"Boots of Speed","displayName":"Boots of Speed","description":"While you wear these boots, you can take a Bonus Action to click the boots’ heels together. If you do, the boots double your Speed, and any creature that makes an Opportunity Attack against you has Disadvantage on the attack roll. If you click your heels together again, you end the effect.\n\nWhen you’ve used the boots’ property for a total of 10 minutes, the magic ceases to function for you until you finish a Long Rest.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414910146/XRoWc5oDY_dog5moG7zrEg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0447","blueprint":"In Handout","name":"Boots of Striding and Springing","displayName":"Boots of Stride and Spring","description":"While you wear these boots, your Speed becomes 30 feet unless your Speed is higher, and your Speed isn’t reduced by you carrying weight in excess of your carrying capacity or wearing Heavy Armor.\n\nOnce on each of your turns, you can jump up to 30 feet by spending only 10 feet of movement.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414910510/zKSjVf8x83rJRXZQ-yypEQ/original.png","effect":"Your Speed becomes 30 feet.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0448","blueprint":"In Handout","name":"Boots of the Winterlands","displayName":"Boots of the Winterlands","description":"These furred boots are snug and feel warm. While wearing them, you gain the following benefits.\n\nCold Resistance. You have Resistance to Cold damage and can tolerate temperatures of 0 degrees Fahrenheit or lower without any additional protection.\n\nWinter Strider. You ignore Difficult Terrain created by ice or snow.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414911303/-bh_8bCEw063sUjrhP1kWA/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0449","blueprint":"In Handout","name":"Bowl of Commanding Water Elementals","displayName":"Bowl of Cmd. Water Element.","description":"While this bowl is filled with water and you are within 5 feet of it, you can take a Magic action to summon a Water Elemental. The elemental appears in an unoccupied space as close to the bowl as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The bowl can’t be used this way again until the next dawn.\n\nThe bowl is about 1 foot in diameter and half as deep. It holds about 3 gallons.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Container","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/4/4e/Bowl_of_commanding_water_elementals_5e.png","effect":"Summon a Water Elemental.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Container, Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0450","blueprint":"In Handout","name":"Bracers of Archery","displayName":"Bracers of Archery","description":"While wearing these bracers, you have proficiency with the Longbow and Shortbow, and you gain a +2 bonus to damage rolls made with such weapons.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414917584/RCkDyKq3rKkSmeDf4aURFA/original.png","effect":"You have proficiency with the Longbow and Shortbow","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"+2","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0451","blueprint":"In Handout","name":"Bracers of Defense","displayName":"Bracers of Defense","description":"While wearing these bracers, you gain a +2 bonus to Armor Class if you are wearing no armor and using no Shield.","quantity":0,"weight":0,"AC":2,"modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Bracers%20of%20Defense.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0452","blueprint":"In Handout","name":"Brass Dragon Scale Mail","displayName":"Brass Dragon Scale Mail","description":"Brass Dragon Scale Mail is made of the scales of a brass dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Brass Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Fire damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest brass dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0453","blueprint":"In Handout","name":"Brass Horn of Valhalla","displayName":"Brass Horn of Valhalla","description":"You can take a Magic action to blow this horn. In response, warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points. The spirits look like living, breathing warriors, and they have Immunity to the Charmed and Frightened conditions. Once you use the horn, it can’t be used again until 7 days have passed.\n\nFour types of Horn of Valhalla are known to exist, each made of a different metal. The horn’s type determines how many spirits it summons, as well as the requirement for its use. The DM chooses the horn’s type or determines it randomly.\n\nIf you blow the horn without meeting its requirement, the summoned spirits attack you. If you meet the requirement, they are Friendly to you and your allies and follow your commands.\n\nHorn Type\n\nSpirits\n\nRequirement\n\nBrass\n\n3\n\nProficiency with all Simple weapons","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"Proficiency with all Simple weapons","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414517929/uf2DPFg3NHEk9DyWVwXW7g/original.png","effect":"Summon spirits from the plane of Ysgard","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60 ft","consumableRange":"","questItem":false},{"id":"0454","blueprint":"In Handout","name":"Brazier of Commanding Fire Elementals","displayName":"Brazier of Cmd. Fire Element.","description":"While you are within 5 feet of this brazier, you can take a Magic action to summon a Fire Elemental. The elemental appears in an unoccupied space as close to the brazier as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The brazier can’t be used this way again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/459/1000/1000/638657413456449224.png","effect":"Summon Fire Elemental","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0455","blueprint":"In Handout","name":"Breastplate of Acid Resistance","displayName":"Breastplate of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0456","blueprint":"In Handout","name":"Breastplate of Cold Resistance","displayName":"Breastplate of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0457","blueprint":"In Handout","name":"Breastplate of Fire Resistance","displayName":"Breastplate of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0458","blueprint":"In Handout","name":"Breastplate of Force Resistance","displayName":"Breastplate of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0459","blueprint":"In Handout","name":"Breastplate of Lightning Resistance","displayName":"Breastplate of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0460","blueprint":"In Handout","name":"Breastplate of Necrotic Resistance","displayName":"Breastplate of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0461","blueprint":"In Handout","name":"Breastplate of Poison Resistance","displayName":"Breastplate of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0462","blueprint":"In Handout","name":"Breastplate of Psychic Resistance","displayName":"Breastplate of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0463","blueprint":"In Handout","name":"Breastplate of Radiant Resistance","displayName":"Breastplate of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0464","blueprint":"In Handout","name":"Breastplate of Thunder Resistance","displayName":"Breastplate of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0465","blueprint":"In Handout","name":"Breastplate of Vulnerability (Bludgeoning)","displayName":"Breastplate of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0466","blueprint":"In Handout","name":"Breastplate of Vulnerability (Piercing)","displayName":"Breastplate of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0467","blueprint":"In Handout","name":"Breastplate of Vulnerability (Slashing)","displayName":"Breastplate of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0468","blueprint":"In Handout","name":"Bronze Dragon Scale Mail","displayName":"Bronze Dragon Scale Mail","description":"Bronze Dragon Scale Mail is made of the scales of a bronze dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Bronze Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Lightning damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest bronze dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0469","blueprint":"In Handout","name":"Bronze Griffon Figurine of Wondrous Power","displayName":"Bronze Griffon Fig. of W. P.","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nBronze Griffon. This bronze statuette is of a griffon rampant. It can become a Griffon for up to 6 hours. Once it has been used, it can’t be used again until 5 days have passed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/947/760/non_2x/a-golden-griffin-statue-wings-spread-majestically-free-png.png","effect":"Becomes a living creature","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60 ft","consumableRange":"","questItem":false},{"id":"0470","blueprint":"In Handout","name":"Bronze Horn of Valhalla","displayName":"Bronze Horn of Valhalla","description":"You can take a Magic action to blow this horn. In response, warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points. The spirits look like living, breathing warriors, and they have Immunity to the Charmed and Frightened conditions. Once you use the horn, it can’t be used again until 7 days have passed.\n\nFour types of Horn of Valhalla are known to exist, each made of a different metal. The horn’s type determines how many spirits it summons, as well as the requirement for its use. The DM chooses the horn’s type or determines it randomly.\n\nIf you blow the horn without meeting its requirement, the summoned spirits attack you. If you meet the requirement, they are Friendly to you and your allies and follow your commands.\n\nHorn Type\n\nSpirits\n\nRequirement\n\nBronze\n\n4\n\nTraining with all Medium armor","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"Training with all Medium armor","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414517929/uf2DPFg3NHEk9DyWVwXW7g/original.png","effect":"Summon spirits from the plane of Ysgard","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60 ft","consumableRange":"","questItem":false},{"id":"0471","blueprint":"In Handout","name":"Brooch of Shielding","displayName":"Brooch of Shielding","description":"While wearing this brooch, you have Resistance to Force damage, and you have Immunity to damage from the Magic Missile spell.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/405/602/small/vibrant-creative-brooch-vintage-style-gold-with-rhinestones-cutout-authentic-png.png","effect":"Resistance to force damage and Immunity to Magic Missile","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0472","blueprint":"In Handout","name":"Broom of Flying","displayName":"Broom of Flying","description":"This wooden broom functions like a mundane broom until you stand astride it and take a Magic action to make it hover beneath you, at which time it can be ridden in the air. It has a Fly Speed of 50 feet. It can carry up to 400 pounds, but its Fly Speed becomes 30 feet while carrying over 200 pounds. The broom stops hovering when you land or when you’re no longer riding it.\n\nAs a Magic action, you can send the broom to travel alone to a destination within 1 mile of you if you name the location and are familiar with it. The broom comes back to you when you take a Magic action and use a command word if the broom is still within 1 mile of you.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Vehicle","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/461/1000/1000/638657413459570767.png","effect":"Fly 50 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Vehicle, Flying","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0473","blueprint":"In Handout","name":"Candle of Invocation","displayName":"Candle of Invocation","description":"This candle’s magic is activated when the candle is lit, which requires a Magic action. After burning for 4 hours, the candle is destroyed. You can snuff it out early for use at a later time. Deduct the time it burned in increments of 1 minute from its total burn time.\n\nWhile lit, the candle sheds Dim Light in a 30-foot radius. While you are within that light, you have Advantage on D20 Tests. In addition, a Cleric or Druid in the light can cast level 1 spells they have prepared without expending spell slots.\n\nAlternatively, when you light the candle for the first time, you can cast Gate with it. Doing so destroys the candle. The portal created by the spell links to a particular Outer Plane chosen by the GM or determined by rolling on the following table.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/49830/519/1000/1000/638857011394269831.png","effect":"Emits bright light in a 30 ft radius and dim light for an additional 30 ft for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0474","blueprint":"In Handout","name":"Cape of the Mountebank","displayName":"Cape of the Mountebank","description":"This cape smells faintly of brimstone. While wearing it, you can use it to cast Dimension Door as a Magic action. This property can’t be used again until the next dawn.\n\nWhen you teleport with that spell, you leave behind a cloud of smoke. The space you left is Lightly Obscured by that smoke until the end of your next turn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Magic Robe","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://2e.aonprd.com/Images/Treasure/Cape_of_the_Mountebank.webp","effect":"Cast Dimension Door as Magic action.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0475","blueprint":"In Handout","name":"Carpet of Flying","displayName":"Carpet of Flying","description":"You can make this carpet hover and fly by taking a Magic action and using the carpet’s command word. It moves according to your directions if you are within 30 feet of it.\n\nFour sizes of Carpet of Flying exist. The GM chooses the size of a given carpet or determines it randomly by rolling on the following table. A carpet can carry up to twice the weight shown on the table, but its Fly Speed is halved if it carries more than its normal capacity.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Vehicle","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/656/522/non_2x/magic-carpet-flight-fantasy-on-transparent-background-free-png.png","effect":"Fly 30 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Vehicle, Flying","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0476","blueprint":"In Handout","name":"Censer of Controlling Air Elementals","displayName":"Censer of Con. Air Elemental.","description":"While gently swinging this censer, you can take a Magic action to summon an Air Elemental. The elemental appears in an unoccupied space as close to the censer as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action. The censer can’t be used this way again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Container","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414922160/hWfckB0C8pKwJkrNoRO1yw/original.png","effect":"Summon an Air Elemental.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0477","blueprint":"In Handout","name":"Chain Mail of Acid Resistance","displayName":"Chain Mail of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0478","blueprint":"In Handout","name":"Chain Mail of Cold Resistance","displayName":"Chain Mail of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0479","blueprint":"In Handout","name":"Chain Mail of Fire Resistance","displayName":"Chain Mail of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0480","blueprint":"In Handout","name":"Chain Mail of Force Resistance","displayName":"Chain Mail of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0481","blueprint":"In Handout","name":"Chain Mail of Lightning Resistance","displayName":"Chain Mail of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0482","blueprint":"In Handout","name":"Chain Mail of Necrotic Resistance","displayName":"Chain Mail of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0483","blueprint":"In Handout","name":"Chain Mail of Poison Resistance","displayName":"Chain Mail of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0484","blueprint":"In Handout","name":"Chain Mail of Psychic Resistance","displayName":"Chain Mail of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0485","blueprint":"In Handout","name":"Chain Mail of Radiant Resistance","displayName":"Chain Mail of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0486","blueprint":"In Handout","name":"Chain Mail of Thunder Resistance","displayName":"Chain Mail of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0487","blueprint":"In Handout","name":"Chain Mail of Vulnerability (Bludgeoning)","displayName":"Chain Mail of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0488","blueprint":"In Handout","name":"Chain Mail of Vulnerability (Piercing)","displayName":"Chain Mail of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0489","blueprint":"In Handout","name":"Chain Mail of Vulnerability (Slashing)","displayName":"Chain Mail of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0490","blueprint":"In Handout","name":"Chain Shirt of Acid Resistance","displayName":"Chain Shirt of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0491","blueprint":"In Handout","name":"Chain Shirt of Cold Resistance","displayName":"Chain Shirt of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0492","blueprint":"In Handout","name":"Chain Shirt of Fire Resistance","displayName":"Chain Shirt of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0493","blueprint":"In Handout","name":"Chain Shirt of Force Resistance","displayName":"Chain Shirt of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0494","blueprint":"In Handout","name":"Chain Shirt of Lightning Resistance","displayName":"Chain Shirt of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0495","blueprint":"In Handout","name":"Chain Shirt of Necrotic Resistance","displayName":"Chain Shirt of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0496","blueprint":"In Handout","name":"Chain Shirt of Poison Resistance","displayName":"Chain Shirt of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0497","blueprint":"In Handout","name":"Chain Shirt of Psychic Resistance","displayName":"Chain Shirt of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0498","blueprint":"In Handout","name":"Chain Shirt of Radiant Resistance","displayName":"Chain Shirt of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0499","blueprint":"In Handout","name":"Chain Shirt of Thunder Resistance","displayName":"Chain Shirt of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0500","blueprint":"In Handout","name":"Chain Shirt of Vulnerability (Bludgeoning)","displayName":"Chain Shirt of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0501","blueprint":"In Handout","name":"Chain Shirt of Vulnerability (Piercing)","displayName":"Chain Shirt of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0502","blueprint":"In Handout","name":"Chain Shirt of Vulnerability (Slashing)","displayName":"Chain Shirt of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0503","blueprint":"In Handout","name":"Chime of Opening","displayName":"Chime of Opening","description":"This hollow metal tube measures about 1 foot long and weighs 1 pound. As a Magic action, you can strike the chime to cast Knock. The spell’s customary knocking sound is replaced by the clear, ringing tone of the chime, which is audible out to 300 feet.\n\nThe chime can be used 10 times. After the tenth time, it cracks and becomes useless.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/5/5d/Chime_of_opening_5e.png","effect":"Cast Knock.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0504","blueprint":"In Handout","name":"Circlet of Blasting","displayName":"Circlet of Blasting","description":"While wearing this circlet, you can cast Scorching Ray with it (+5 to hit). The circlet can’t cast this spell again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Circlet%20of%20Blasting.webp","effect":"Cast Scorching Ray","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":5,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0505","blueprint":"In Handout","name":"Cloak of Arachnida","displayName":"Cloak of Arachnida","description":"This fine garment is made of black silk interwoven with faint, silvery threads. While wearing it, you gain the following benefits.\n\nPoison Resistance. You have Resistance to Poison damage.\n\nSpider Climb. You have a Climb Speed equal to your Speed and can move up, down, and across vertical surfaces and along ceilings, while leaving your hands free.\n\nSpider Walk. You can’t be caught in webs of any sort and can move through webs as if they were Difficult Terrain.\n\nWeb. You can cast Web (save DC 13). The web created by the spell fills twice its normal area. Once used, this property can’t be used again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/OotA/Piwafwi%20(Cloak%20of%20Elvenkind).webp","effect":"Resistance to poison damage, Climb Speed, Can cast Web.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0506","blueprint":"In Handout","name":"Cloak of Displacement","displayName":"Cloak of Displacement","description":"While you wear this cloak, it magically projects an illusion that makes you appear to be standing in a place near your actual location, causing any creature to have Disadvantage on attack rolls against you. If you take damage, the property ceases to function until the start of your next turn. This property is suppressed while your Speed is 0.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/5/5e/Cloak_of_displacement_bg3.png","effect":"Disadvantage on attack rolls against you.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Warding, Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0507","blueprint":"In Handout","name":"Cloak of Elvenkind","displayName":"Cloak of Elvenkind","description":"While you wear this cloak, Wisdom (Perception) checks made to perceive you have Disadvantage, and you have Advantage on Dexterity (Stealth) checks.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414392829/ggM34528CFYOE3mukoQcFw/original.png","effect":"Perception disadvantage to perceive you, Advantage on stealth checks.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0508","blueprint":"In Handout","name":"Cloak of Invisibility","displayName":"Cloak of Invisibility","description":"This cloak has 3 charges and regains 1d3 expended charges daily at dawn. While wearing the cloak, you can take a Magic action to pull its hood over your head and expend 1 charge to give yourself the Invisible condition for 1 hour. The effect ends early if you pull the hood down (no action required) or cease wearing the cloak.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://cdn.gamestegy.com/baldurs-gate-3/tooltip-icons/Generated_MAG_CQCaster_TempHPAfterCast_Cloak_Magic.png","effect":"Give yourself Invisibility for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0509","blueprint":"In Handout","name":"Cloak of Protection","displayName":"Cloak of Protection","description":"You gain a +1 bonus to Armor Class and saving throws while you wear this cloak.","quantity":0,"weight":0,"AC":1,"modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414925833/OgBkXx65yTec27oM8fNJqw/original.png?1729896065","effect":"Saving Throws +1","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":1,"area":"","damage":"","damageType":"","properties":"Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0510","blueprint":"In Handout","name":"Cloak of the Bat","displayName":"Cloak of the Bat","description":"While wearing this cloak, you have Advantage on Dexterity (Stealth) checks. In an area of Dim Light or Darkness, you can grip the edges of the cloak and use it to gain a Fly Speed of 40 feet. If you ever fail to grip the cloak’s edges while flying in this way, or if you are no longer in Dim Light or Darkness, you lose this Fly Speed.\n\nWhile wearing the cloak in an area of Dim Light or Darkness, you can cast Polymorph on yourself, shape-shifting into a Bat. While in that form, you retain your Intelligence, Wisdom, and Charisma scores. The cloak can’t be used this way again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"Fly speed 40 ft.","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/pdheraldchronicles/images/6/6e/Cloak_of_the_Bat.png","effect":"Advantage on stealth checks in dim light or darkness and fly 40ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0511","blueprint":"In Handout","name":"Cloak of the Manta Ray","displayName":"Cloak of the Manta Ray","description":"While wearing this cloak, you can breathe underwater, and you have a Swim Speed of 60 feet.","quantity":0,"weight":0,"AC":"","modifier":"Swim speed 60 ft.","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414926289/naLpgyTW31Hxf6TEeSMcmQ/original.png","effect":"You can breath underwater and swim 60 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Outerwear, Clothing","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0512","blueprint":"In Handout","name":"Club of Warning","displayName":"Club of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0513","blueprint":"In Handout","name":"Copper Dragon Scale Mail","displayName":"Copper Dragon Scale Mail","description":"Copper Dragon Scale Mail is made of the scales of a copper dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Copper Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Acid damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest copper dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0514","blueprint":"In Handout","name":"Crystal Ball","displayName":"Crystal Ball","description":"While touching this crystal orb, you can cast Scrying (save DC 17) with it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/3/34/Crystal_Ball_Faded.png","effect":"You can cast Scrying.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0515","blueprint":"In Handout","name":"Crystal Ball of Mind Reading","displayName":"Crystal Ball of Mind Reading","description":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you can cast Detect Thoughts (save DC 17) targeting creatures you can see within 30 feet of the spell’s sensor. You don’t need to concentrate on this Detect Thoughts spell to maintain it during its duration, but it ends if the Scrying spell ends.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/055/180/706/non_2x/mystic-glass-orb-future-visions-free-png.png","effect":"Cast Scrying or Detect Thoughts.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":true,"useRange":"30 ft","consumableRange":"","questItem":false},{"id":"0516","blueprint":"In Handout","name":"Crystal Ball of Telepathy","displayName":"Crystal Ball of Telepathy","description":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you can communicate telepathically with creatures you can see within 30 feet of the spell’s sensor. You can also cast Suggestion (save DC 17) through the sensor on one of those creatures. You don’t need to concentrate on this Suggestion to maintain it during its duration, but it ends if Scrying ends. You can’t cast Suggestion in this way again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/055/392/851/non_2x/crystal-ball-prediction-fortune-teller-magic-mystical-sphere-vision-seer-free-png.png","effect":"Cast Scrying or communicate telepathically with creatures or Cast suggestion.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":true,"useRange":"30 ft","consumableRange":"","questItem":false},{"id":"0517","blueprint":"In Handout","name":"Crystal Ball of True Seeing","displayName":"Crystal Ball of True Seeing","description":"While touching this crystal orb, you can cast Scrying (save DC 17) with it. In addition, you have Truesight with a range of 120 feet centered on the spell’s sensor.","quantity":0,"weight":0,"AC":"","modifier":"Truesight 120 ft.","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/055/062/407/non_2x/a-crystal-ball-on-a-transparent-background-free-png.png","effect":"Cast Scrying and have Truesight 120 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0518","blueprint":"In Handout","name":"https://www.dndbeyond.com/avatars/thumbnails/45205/493/1000/1000/638657413512791071.pnghttps://www.dndbeyond.com/avatars/thumbnails/45205/493/1000/1000/638657413512791071.png","displayName":"Cube of Force","description":"This cube is about an inch across. Each face has a distinct marking on it. You can press one of those faces, expend the number of charges required for it, and thereby cast the spell associated with it (save DC 17), as shown in the Cube of Force Faces table.\n\nThe cube starts with 10 charges, and it regains 1d6 expended charges daily at dawn.\n\nCube of Force Faces\n\nSpell [Charge Cost]\nMage Armor [1]\nShield [1]\nTiny Hut [3]\nPrivate Sanctum [4]\nResilient Sphere [4]\nWall of Force [5]","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"sp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/493/1000/1000/638657413512791071.png","effect":"Comsume charges to cast a Spell.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0519","blueprint":"In Handout","name":"Cubic Gate","displayName":"Cubic Gate","description":"This cube is 3 inches across and radiates palpable magical energy. The six sides of the cube are each keyed to a different plane of existence, one of which is the Material Plane. The other sides are linked to planes determined by the GM.\n\nThe cube has 3 charges and regains 1d3 expended charges daily at dawn. As a Magic action, you can expend 1 of the cube’s charges to cast one of the following spells using the cube.\n\nGate. Pressing one side of the cube, you cast Gate, opening a portal to the plane of existence keyed to that side.\n\nPlane Shift. Pressing one side of the cube twice, you cast Plane Shift, transporting the targets to the plane of existence keyed to that side.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414494600/r773QuAQJiydU8Pvfaxf1A/original.png","effect":"Expend 1 charge to cast Gate or Plane Shift.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"","questItem":false},{"id":"0520","blueprint":"In Handout","name":"Dagger of Venom","displayName":"Dagger of Venom","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nYou can take a Bonus Action to magically coat the blade with poison. The poison remains for 1 minute or until an attack using this weapon hits a creature. That creature must succeed on a DC 15 Constitution saving throw or take 2d10 Poison damage and have the Poisoned condition for 1 minute. The weapon can’t be used this way again until the next dawn.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0521","blueprint":"In Handout","name":"Dagger of Warning","displayName":"Dagger of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0522","blueprint":"In Handout","name":"Dancing Greatsword","displayName":"Dancing Greatsword","description":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\n\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\n\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"Graze","damage":"2d6","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0523","blueprint":"In Handout","name":"Dancing Longsword","displayName":"Dancing Longsword","description":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\n\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\n\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169431578/85UHcqgNUTMnoYau8ikNnw/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Sap","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0524","blueprint":"In Handout","name":"Dancing Rapier","displayName":"Dancing Rapier","description":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\n\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\n\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0525","blueprint":"In Handout","name":"Dancing Scimitar","displayName":"Dancing Scimitar","description":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\n\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\n\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0526","blueprint":"In Handout","name":"Dancing Shortsword","displayName":"Dancing Shortsword","description":"You can take a Bonus Action to toss this magic weapon into the air. When you do so, the weapon begins to hover, flies up to 30 feet, and attacks one creature of your choice within 5 feet of itself. The weapon uses your attack roll and adds your ability modifier to damage rolls.\n\nWhile the weapon hovers, you can take a Bonus Action to cause it to fly up to 30 feet to another spot within 30 feet of you. As part of the same Bonus Action, you can cause the weapon to attack one creature within 5 feet of the weapon.\n\nAfter the hovering weapon attacks for the fourth time, it flies back to you and tries to return to your hand. If you have no hand free, the weapon falls to the ground in your space. If the weapon has no unobstructed path to you, it moves as close to you as it can and then falls to the ground. It also ceases to hover if you grasp it or are more than 30 feet away from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0527","blueprint":"In Handout","name":"Dart of Warning","displayName":"Dart of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n\n","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"piercing","properties":"Finesse, Thrown (20/60)","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0528","blueprint":"In Handout","name":"Decanter of Endless Water","displayName":"Decanter of Endless Water","description":"This stoppered flask sloshes when shaken, as if it contains water. The decanter weighs 2 pounds.\n\nYou can take a Magic action to remove the stopper and issue one of three command words, whereupon an amount of fresh water or salt water (your choice) pours out of the flask. The water stops pouring out at the start of your next turn. Choose from the following command words:\n\nSplash. The decanter produces 1 gallon of water.\n\nFountain. The decanter produces 5 gallons of water.\n\nGeyser. The decanter produces 30 gallons of water that gushes forth in a Line 30 feet long and 1 foot wide. If you’re holding the decanter, you can aim the geyser in one direction (no action required). One creature of your choice in the Line must succeed on a DC 13 Strength saving throw or take 1d4 Bludgeoning damage and have the Prone condition. Instead of a creature, you can target one object in the Line that isn’t being worn or carried and that weighs no more than 200 pounds. The object is knocked over by the geyser.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Decanter%20of%20Endless%20Water.webp","effect":"Produce up to 5 Gallons of water or Aim a Geyser againts a creature (STR DC 13).","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"bludgeoning","properties":"Container, Utility","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":true,"useRange":"30 ft","consumableRange":"","questItem":false},{"id":"0529","blueprint":"In Handout","name":"Defender Battleaxe","displayName":"Defender Battleaxe","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/defender-greataxe-final-release-bg3-wiki-guide.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"slashing","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0530","blueprint":"In Handout","name":"Defender Club","displayName":"Defender Club","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0531","blueprint":"In Handout","name":"Defender Dagger","displayName":"Defender Dagger","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0532","blueprint":"In Handout","name":"Defender Flail","displayName":"Defender Flail","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0533","blueprint":"In Handout","name":"Defender Glaive","displayName":"Defender Glaive","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0534","blueprint":"In Handout","name":"Defender Greataxe","displayName":"Defender Greataxe","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":3,"rollBonus":3,"area":"single","damage":"1d12+3","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0535","blueprint":"In Handout","name":"Defender Greatclub","displayName":"Defender Greatclub","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0536","blueprint":"In Handout","name":"Defender Greatsword","displayName":"Defender Greatsword","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"2d6+3","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0537","blueprint":"In Handout","name":"Defender Halberd","displayName":"Defender Halberd","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0538","blueprint":"In Handout","name":"Defender Handaxe","displayName":"Defender Handaxe","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"slashing","properties":"Light, Thrown","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0539","blueprint":"In Handout","name":"Defender Javelin","displayName":"Defender Javelin","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Thrown (30/120)","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0540","blueprint":"In Handout","name":"Defender Lance","displayName":"Defender Lance","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0541","blueprint":"In Handout","name":"Defender Light Hammer","displayName":"Defender Light Hammer","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0542","blueprint":"In Handout","name":"Defender Longsword","displayName":"Defender Longsword","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0543","blueprint":"In Handout","name":"Defender Mace","displayName":"Defender Mace","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0544","blueprint":"In Handout","name":"Defender Maul","displayName":"Defender Maul","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"2d6+3","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0545","blueprint":"In Handout","name":"Defender Morningstar","displayName":"Defender Morningstar","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0546","blueprint":"In Handout","name":"Defender Pike","displayName":"Defender Pike","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0547","blueprint":"In Handout","name":"Defender Quarterstaff","displayName":"Defender Quarterstaff","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0548","blueprint":"In Handout","name":"Defender Rapier","displayName":"Defender Rapier","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0549","blueprint":"In Handout","name":"Defender Scimitar","displayName":"Defender Scimitar","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0550","blueprint":"In Handout","name":"Defender Shortsword","displayName":"Defender Shortsword","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0551","blueprint":"In Handout","name":"Defender Sickle","displayName":"Defender Sickle","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0552","blueprint":"In Handout","name":"Defender Spear","displayName":"Defender Spear","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0553","blueprint":"In Handout","name":"Defender Trident","displayName":"Defender Trident","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0554","blueprint":"In Handout","name":"Defender War Pick","displayName":"Defender War Pick","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0555","blueprint":"In Handout","name":"Defender Warhammer","displayName":"Defender Warhammer","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"Versatile","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0556","blueprint":"In Handout","name":"Defender Whip","displayName":"Defender Whip","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe first time you attack with the weapon on each of your turns, you can transfer some or all of the weapon’s bonus to your Armor Class. For example, you could reduce the bonus to your attack rolls and damage rolls to +1 and gain a +2 bonus to Armor Class. The adjusted bonuses remain in effect until the start of your next turn, although you must hold the weapon to gain a bonus to AC from it.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0557","blueprint":"In Handout","name":"Demon Breastplate","displayName":"Demon Breastplate","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":20,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8=1","damageType":"slashing","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0558","blueprint":"In Handout","name":"Demon Chain Mail","displayName":"Demon Chain Mail","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":55,"AC":"16+1","modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8=1","damageType":"slashing","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0559","blueprint":"In Handout","name":"Demon Chain Shirt","displayName":"Demon Chain Shirt","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":20,"AC":"13+1","modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0560","blueprint":"In Handout","name":"Demon Half Plate","displayName":"Demon Half Plate","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":40,"AC":"15+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0561","blueprint":"In Handout","name":"Demon Hide Armor","displayName":"Demon Hide Armor","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":12,"AC":"12+1","modifier":"Dex (max:2)","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0562","blueprint":"In Handout","name":"Demon Leather Armor","displayName":"Demon Leather Armor","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":10,"AC":"11+1","modifier":"Dex","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0563","blueprint":"In Handout","name":"Demon Padded Armor","displayName":"Demon Padded Armor","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":8,"AC":"11+1","modifier":"Dex","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0564","blueprint":"In Handout","name":"Demon Plate Armor","displayName":"Demon Plate Armor","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":65,"AC":"18+1","modifier":"","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0565","blueprint":"In Handout","name":"Demon Ring Mail","displayName":"Demon Ring Mail","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":40,"AC":"14+1","modifier":"","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0566","blueprint":"In Handout","name":"Demon Scale Mail","displayName":"Demon Scale Mail","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0567","blueprint":"In Handout","name":"Demon Splint Armor","displayName":"Demon Splint Armor","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":60,"AC":"17+1","modifier":"","debuff":"Stealth Disadvantage, Cursed Armor","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0568","blueprint":"In Handout","name":"Demon Studded Leather Armor","displayName":"Demon St. Lth. Armor","description":"While wearing this armor, you gain a +1 bonus to Armor Class, and you know Abyssal. In addition, the armor’s clawed gauntlets allow your Unarmed Strikes to deal 1d8 Slashing damage instead of the usual Bludgeoning damage, and you gain a +1 bonus to the attack and damage rolls of your Unarmed Strikes.\n\nCurse. Once you don this cursed armor, you can’t doff it unless you are targeted by a Remove Curse spell or similar magic. While wearing the armor, you have Disadvantage on attack rolls against demons and on saving throws against their spells and special abilities.","quantity":0,"weight":13,"AC":"12+1","modifier":"Dex","debuff":"Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430635/VpAFmLvrwv-Nj_ioy6u8mA/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0569","blueprint":"In Handout","name":"Dimensional Shackles","displayName":"Dimensional Shackles","description":"You can take a Utilize action to place these shackles on a creature that has the Incapacitated condition. The shackles adjust to fit a creature of Small to Large size. The shackles prevent a creature bound by them from using any method of extradimensional movement, including teleportation or travel to a different plane of existence. They don’t prevent the creature from passing through an interdimensional portal.\n\nYou and any creature you designate when you use the shackles can take a Utilize action to remove them. Once every 30 days, the bound creature can make a DC 30 Strength (Athletics) check. On a successful check, the creature breaks free and destroys the shackles.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"common","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414929820/gGcm-tdqQ0DDRlJjxE7-nw/original.png","effect":"Put the Shackles to an incapacitated creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0570","blueprint":"In Handout","name":"Dragon Orb","displayName":"Dragon Orb","description":"An orb is an etched crystal globe about 10 inches in diameter. When used, it grows to about 20 inches in diameter, and mist swirls inside it.\n\nWhile attuned to an orb, you can take a Magic action to peer into the orb’s depths. You must then make a DC 15 Charisma saving throw. On a successful save, you control the orb for as long as you remain attuned to it. On a failed save, the orb imposes the Charmed condition on you for as long as you remain attuned to it.\n\nWhile you are Charmed by the orb, you can’t voluntarily end your Attunement to it, and the orb casts Suggestion on you at will (save DC 18), urging you to work toward the evil ends it desires. The dragon essence within the orb might want many things: the annihilation of a particular society or organization, freedom from the orb, to spread suffering in the world, to advance the worship of Tiamat, or something else the GM decides.\n\nSpells. The orb has 7 charges and regains 1d4 + 3 expended charges daily at dawn. If you control the orb, you can cast one of the spells on the following table from it. The table indicates how many charges you must expend to cast the spell.\n\nSpell [Charge Cost]\nCure Wounds (level 9 version) [4]\nDaylight [1]\nDeath Ward [2]\nDetect Magic [0]\nScrying (save DC 18) [3]","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"artifact","defaultPrice":2000000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/4/44/Dragon_Orb_of_Istar.png","effect":"Expend Charges to cast a Spell.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0571","blueprint":"In Handout","name":"Dragon Slayer Battleaxe","displayName":"Dragon Slayer Battleaxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Versatile (1d10)","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0572","blueprint":"In Handout","name":"Dragon Slayer Blowgun","displayName":"Dragon Slayer Blowgun","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"Deals and extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":1,"bonus":1,"rollBonus":1,"area":"single","damage":"+1","damageType":"piercing","properties":"Ammunition, Loading, Range (25/100)","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0573","blueprint":"In Handout","name":"Dragon Slayer Club","displayName":"Dragon Slayer Club","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0574","blueprint":"In Handout","name":"Dragon Slayer Dagger","displayName":"Dragon Slayer Dagger","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0575","blueprint":"In Handout","name":"Dragon Slayer Dart","displayName":"Dragon Slayer Dart","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Thrown (20/60)","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0576","blueprint":"In Handout","name":"Dragon Slayer Flail","displayName":"Dragon Slayer Flail","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0577","blueprint":"In Handout","name":"Dragon Slayer Glaive","displayName":"Dragon Slayer Glaive","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0578","blueprint":"In Handout","name":"Dragon Slayer Greataxe","displayName":"Dragon Slayer Greataxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"single","damage":"1d12+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0579","blueprint":"In Handout","name":"Dragon Slayer Greatclub","displayName":"Dragon Slayer Greatclub","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0580","blueprint":"In Handout","name":"Dragon Slayer Greatsword","displayName":"Dragon Slayer Greatsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0581","blueprint":"In Handout","name":"Dragon Slayer Halberd","displayName":"Dragon Slayer Halberd","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0582","blueprint":"In Handout","name":"Dragon Slayer Hand Crossbow","displayName":"Dragon Slayer Hand C.bow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Ammunition, Light, Loading, Range (30/120)","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0583","blueprint":"In Handout","name":"Dragon Slayer Handaxe","displayName":"Dragon Slayer Handaxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Light, Thrown (20/60)","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0584","blueprint":"In Handout","name":"Dragon Slayer Heavy Crossbow","displayName":"Dragon Slayer Heavy C.bow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Ammunition, Heavy, Loading, Two-Handed, Range (100/400)","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0585","blueprint":"In Handout","name":"Dragon Slayer Javelin","displayName":"Dragon Slayer Javelin","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Thrown (30/120)","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0586","blueprint":"In Handout","name":"Dragon Slayer Lance","displayName":"Dragon Slayer Lance","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0587","blueprint":"In Handout","name":"Dragon Slayer Light Crossbow","displayName":"Dragon Slayer L. Crossbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed, Range (80/320)","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0588","blueprint":"In Handout","name":"Dragon Slayer Light Hammer","displayName":"Dragon Slayer Light Hammer","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0589","blueprint":"In Handout","name":"Dragon Slayer Longbow","displayName":"Dragon Slayer Longbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Ammunition, Heavy, Two-Handed, Range","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0590","blueprint":"In Handout","name":"Dragon Slayer Longsword","displayName":"Dragon Slayer Longsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0591","blueprint":"In Handout","name":"Dragon Slayer Mace","displayName":"Dragon Slayer Mace","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0592","blueprint":"In Handout","name":"Dragon Slayer Maul","displayName":"Dragon Slayer Maul","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0593","blueprint":"In Handout","name":"Dragon Slayer Morningstar","displayName":"Dragon Slayer Morningstar","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0594","blueprint":"In Handout","name":"Dragon Slayer Musket","displayName":"Dragon Slayer Musket","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"single","damage":"1d12+1","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed, Range","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0595","blueprint":"In Handout","name":"Dragon Slayer Pike","displayName":"Dragon Slayer Pike","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0596","blueprint":"In Handout","name":"Dragon Slayer Pistol","displayName":"Dragon Slayer Pistol","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Ammunition, Loading, Range","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0597","blueprint":"In Handout","name":"Dragon Slayer Quarterstaff","displayName":"Dragon Slayer Quarterstaff","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0598","blueprint":"In Handout","name":"Dragon Slayer Rapier","displayName":"Dragon Slayer Rapier","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0599","blueprint":"In Handout","name":"Dragon Slayer Scimitar","displayName":"Dragon Slayer Scimitar","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0600","blueprint":"In Handout","name":"Dragon Slayer Shortbow","displayName":"Dragon Slayer Shortbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Ammunition, Two-Handed, Range","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0601","blueprint":"In Handout","name":"Dragon Slayer Shortsword","displayName":"Dragon Slayer Shortsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0602","blueprint":"In Handout","name":"Dragon Slayer Sickle","displayName":"Dragon Slayer Sickle","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0603","blueprint":"In Handout","name":"Dragon Slayer Sling","displayName":"Dragon Slayer Sling","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Ammunition, Range","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0604","blueprint":"In Handout","name":"Dragon Slayer Spear","displayName":"Dragon Slayer Spear","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0605","blueprint":"In Handout","name":"Dragon Slayer Trident","displayName":"Dragon Slayer Trident","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0606","blueprint":"In Handout","name":"Dragon Slayer War Pick","displayName":"Dragon Slayer War Pick","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0607","blueprint":"In Handout","name":"Dragon Slayer Warhammer","displayName":"Dragon Slayer Warhammer","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"Versatile","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0608","blueprint":"In Handout","name":"Dragon Slayer Whip","displayName":"Dragon Slayer Whip","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon deals an extra 3d6 damage of the weapon’s type if the target is a Dragon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"Deals an extra 3d6 if the target is a Dragon.","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0609","blueprint":"In Handout","name":"Dust of Disappearance","displayName":"Dust of Disappearance","description":"This powder resembles fine sand. There is enough of it for one use. When you take a Utilize action to throw the dust into the air, you and each creature and object within a 10-foot Emanation originating from you have the Invisible condition for 2d4 minutes. The duration is the same for all subjects, and the dust is consumed when its magic takes effect. Immediately after an affected creature makes an attack roll, deals damage, or casts a spell, the Invisible condition ends for that creature.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Dust%20of%20Disappearance.webp","effect":"Apply invisibility condition to each creature and object within 10 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0610","blueprint":"In Handout","name":"Dust of Dryness","displayName":"Dust of Dryness","description":"This small packet contains 1d6 + 4 pinches of dust. As a Utilize action, you can sprinkle a pinch of the dust over water, turning up to a 15-foot Cube of water into one marble-sized pellet, which floats or rests near where the dust was sprinkled. The pellet’s weight is negligible. A creature can take a Utilize action to smash the pellet against a hard surface, causing the pellet to shatter and release the water the dust absorbed. Doing so destroys the pellet and ends its magic.\n\nAs a Utilize action, you can sprinkle a pinch of the dust on an Elemental within 5 feet of yourself that is composed mostly of water (such as a Water Elemental). Such a creature exposed to a pinch of the dust makes a DC 13 Constitution saving throw, taking 10d6 Necrotic damage on a failed save or half as much damage on a successful one.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/052/658/520/small/dust-cloud-forms-in-dry-conditions-png.png","effect":"Sprinkle a pinch of the dust.","diceCount":10,"diceSide":6,"bonus":0,"rollBonus":0,"area":"","damage":"10d6","damageType":"necrotic","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0611","blueprint":"In Handout","name":"Dust of Sneezing and Choking","displayName":"Dust of Sneezing and Choking","description":"Found in a small container, this powder resembles Dust of Disappearance, and Identify reveals it to be such. There is enough of it for one use.\n\nAs a Utilize action, you can throw the dust into the air, forcing yourself and every creature in a 30-foot Emanation originating from you to make a DC 15 Constitution saving throw. Constructs, Elementals, Oozes, Plants, and Undead succeed on the save automatically.\n\nOn a failed save, a creature begins sneezing uncontrollably; it has the Incapacitated condition and is suffocating. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success. The effect also ends on any creature targeted by a Lesser Restoration spell.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414502101/j2qdcA1tYZ-y11FGsTNrVA/original.png","effect":"Throw dust into the air, each creature in 30 ft must succeed CON S.T. DC15","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0612","blueprint":"In Handout","name":"Dwarven Half Plate Armor","displayName":"Dwarven Half Plate","description":"While wearing this armor, you gain a +2 bonus to Armor Class. In addition, if an effect moves you against your will along the ground, you can take a Reaction to reduce the distance you are moved by up to 10 feet.","quantity":0,"weight":40,"AC":"15+2","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/552/1000/1000/638657413616456841.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0613","blueprint":"In Handout","name":"Dwarven Plate Armor","displayName":"Dwarven Plate Armor","description":"While wearing this armor, you gain a +2 bonus to Armor Class. In addition, if an effect moves you against your will along the ground, you can take a Reaction to reduce the distance you are moved by up to 10 feet.","quantity":0,"weight":65,"AC":"18+2","modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0614","blueprint":"In Handout","name":"Dwarven Thrower","displayName":"Dwarven Thrower","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. It has the Thrown property with a normal range of 20 feet and a long range of 60 feet. When you hit with a ranged attack using this weapon, it deals an extra 1d8 Force damage, or an extra 2d8 Force damage if the target is a Giant. Immediately after hitting or missing, the weapon flies back to your hand.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/d1/Warhammer_PlusOne_Icon.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"","damage":"1d8+3","damageType":"bludgeoning","properties":"Versatile, Thrown","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0615","blueprint":"In Handout","name":"Ebony Fly Figurine of Wondrous Power","displayName":"Ebony Fly Fig. of W. Power","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nEbony Fly. This ebony statuette, carved in the likeness of a horsefly, can become a Giant Fly for up to 12 hours and can be ridden as a mount. Once it has been used, it can’t be used again until 2 days have passed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414505478/vXhYo3DC1KILXQUkvco5Sg/original.png","effect":"Becomes a living creature","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60 ft","consumableRange":"","questItem":false},{"id":"0616","blueprint":"In Handout","name":"Efficient Quiver","displayName":"Efficient Quiver","description":"Each of the quiver’s three compartments connects to an extradimensional space that allows the quiver to hold numerous items while never weighing more than 2 pounds. The shortest compartment can hold up to 60 Arrows, Bolts, or similar objects. The midsize compartment holds up to 18 Javelins or similar objects. The longest compartment holds up to 6 long objects, such as bows, Quarterstaffs, or Spears.\n\nYou can draw any item the quiver contains as if doing so from a regular quiver or scabbard.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414423405/sLF_MKcvPZPYd_WYgeAvfQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Dimensional Container","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0617","blueprint":"In Handout","name":"Efreeti Bottle","displayName":"Efreeti Bottle","description":"When you take a Magic action to remove the stopper of this painted brass bottle, a cloud of thick smoke flows out of it. At the end of your turn, the smoke disappears with a flash of harmless fire, and an Efreeti appears in an unoccupied space within 30 feet of you.\n\nThe first time the bottle is opened, the GM rolls on the following table to determine what happens. [1d10]\n\n1:\nThe efreeti attacks you. After fighting for 5 rounds, the efreeti disappears, and the bottle loses its magic.\n\n2–9:\nThe efreeti understands your languages and obeys your commands for 1 hour, after which it returns to the bottle, and a new stopper contains it. The stopper can’t be removed for 24 hours. The next two times the bottle is opened, the same effect occurs. If the bottle is opened a fourth time, the efreeti escapes and disappears, and the bottle loses its magic.\n\n10:\nThe efreeti understands your languages and can cast Wish once for you. It disappears when it grants the wish or after 1 hour, and the bottle loses its magic.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Efreeti%20Bottle.webp","effect":"Summons an Efreeti.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Container, Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"30 ft","consumableRange":"","questItem":false},{"id":"0618","blueprint":"In Handout","name":"Efreeti Chain Mail","displayName":"Efreeti Chain Mail","description":"While wearing this armor, you gain a +3 bonus to Armor Class, you have Immunity to Fire damage, and you know Primordial. In addition, you can stand on and move across molten rock as if it were solid ground.","quantity":0,"weight":55,"AC":"16+3","modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414502518/MP7lSXXcfZRv5mpFcSLJcw/original.png","effect":"Immunity to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0619","blueprint":"In Handout","name":"Efreeti Chain Shirt","displayName":"Efreeti Chain Shirt","description":"While wearing this armor, you gain a +3 bonus to Armor Class, you have Immunity to Fire damage, and you know Primordial. In addition, you can stand on and move across molten rock as if it were solid ground.","quantity":0,"weight":20,"AC":"13+3","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414502518/MP7lSXXcfZRv5mpFcSLJcw/original.png","effect":"Immunity to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0620","blueprint":"In Handout","name":"Blue Sapphire Elemental Gem","displayName":"Blue Sapphire E. Gem","description":"This gem contains a mote of elemental energy. When you take a Utilize action to break the gem, an Air Elemental is summoned (see \"Monsters\" for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414502989/VD003WNlcfRs1qSdmPNCNw/original.png","effect":"Summoning an Air Elemental.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0621","blueprint":"In Handout","name":"Emerald Elemental Gem","displayName":"Emerald Elemental Gem","description":"This gem contains a mote of elemental energy. When you take a Utilize action to break the gem, an Water Elemental is summoned (see \"Monsters\" for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414503134/YNvjel0j3IgfKTRc6ffO_g/original.png","effect":"Summoning an Water Elemental.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0622","blueprint":"In Handout","name":"Red Corundum Elemental Gem","displayName":"Red Corundum E. Gem","description":"This gem contains a mote of elemental energy. When you take a Utilize action to break the gem, an Fire Elemental is summoned (see \"Monsters\" for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414503226/pB_55ZFvrsHuo7naKAkRsw/original.png","effect":"Summoning a Fire Elemental.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0623","blueprint":"In Handout","name":"Yellow Diamond Elemental Gem","displayName":"Yellow Diamond E. Gem","description":"This gem contains a mote of elemental energy. When you take a Utilize action to break the gem, an Earth Elemental is summoned (see \"Monsters\" for its stat block), and the gem ceases to be magical. The elemental appears in an unoccupied space as close to the broken gem as possible, understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. The elemental disappears after 1 hour, when it dies, or when you dismiss it as a Bonus Action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414503312/6jQgrF4gP2QkqHasirireg/original.png","effect":"Summoning an Earth Elemental.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0624","blueprint":"In Handout","name":"Elixir of Health","displayName":"Elixir of Health","description":"When you drink this potion, you are cured of all magical contagions. In addition, the following conditions end on you: Blinded, Deafened, Paralyzed, and Poisoned.\n\nThe clear, red liquid has tiny bubbles of light in it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/2/2e/PhilterofHealth.png","effect":"Cure all of magical contagions.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0625","blueprint":"In Handout","name":"Elven Chain Mail","displayName":"Elven Chain Mail","description":"You gain a +1 bonus to Armor Class while you wear this armor. You are considered trained with this armor even if you lack training with Medium or Heavy armor.","quantity":0,"weight":55,"AC":"16+1","modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414503436/PuRbhIIsEN2f6ykSgeFFOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0626","blueprint":"In Handout","name":"Elven Chain Shirt","displayName":"Elven Chain Shirt","description":"You gain a +1 bonus to Armor Class while you wear this armor. You are considered trained with this armor even if you lack training with Medium or Heavy armor.","quantity":0,"weight":20,"AC":"13+1","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414503436/PuRbhIIsEN2f6ykSgeFFOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0627","blueprint":"In Handout","name":"Energy Longbow","displayName":"Energy Longbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon, which has no string. Each time you pull your arm back in a firing motion, a magical arrow made of golden energy appears nocked and ready to fire. An arrow produced by this weapon deals Force damage instead of Piercing damage on a hit, and it disappears after it hits or misses its target. Until it disappears, the arrow emits Bright Light in a 20-foot radius and Dim Light for an additional 20 feet.\n\nThis weapon has the following additional properties.\n\nArrow of Restraint. Whenever you use this weapon to make a ranged attack against a creature, you can try to restrain the target instead of dealing damage to it. If the arrow hits, the target must succeed on a DC 15 Strength saving throw or have the Restrained condition for 1 minute. As an action, a creature Restrained by an arrow can make a DC 20 Strength (Athletics) check to try to break the restraint, ending the effect on itself on a successful check.\n\nArrow of Transport. As a Magic action, you can fire one energy arrow from this weapon at a target you can see within 60 feet of yourself. The target can be either a willing Medium or smaller creature or an object that isn’t being worn or carried, provided the object is small enough to fit inside a 5-foot Cube. The arrow teleports the target to an unoccupied space you can see within 10 feet of you.\n\nEnergy Ladder. As a Magic action, you can loose a flurry of energy arrows from this weapon at a wall up to 60 feet away from yourself. The arrows become glowing rungs that stick out of the wall, forming a magical ladder up to 60 feet long on the wall. This ladder lasts for 1 minute before disappearing.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/elderscrolls/images/5/56/Auriels_bow.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"force","properties":"Ammunition, Heavy, Two-Handed","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0628","blueprint":"In Handout","name":"Energy Shortbow","displayName":"Energy Shortbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon, which has no string. Each time you pull your arm back in a firing motion, a magical arrow made of golden energy appears nocked and ready to fire. An arrow produced by this weapon deals Force damage instead of Piercing damage on a hit, and it disappears after it hits or misses its target. Until it disappears, the arrow emits Bright Light in a 20-foot radius and Dim Light for an additional 20 feet.\n\nThis weapon has the following additional properties.\n\nArrow of Restraint. Whenever you use this weapon to make a ranged attack against a creature, you can try to restrain the target instead of dealing damage to it. If the arrow hits, the target must succeed on a DC 15 Strength saving throw or have the Restrained condition for 1 minute. As an action, a creature Restrained by an arrow can make a DC 20 Strength (Athletics) check to try to break the restraint, ending the effect on itself on a successful check.\n\nArrow of Transport. As a Magic action, you can fire one energy arrow from this weapon at a target you can see within 60 feet of yourself. The target can be either a willing Medium or smaller creature or an object that isn’t being worn or carried, provided the object is small enough to fit inside a 5-foot Cube. The arrow teleports the target to an unoccupied space you can see within 10 feet of you.\n\nEnergy Ladder. As a Magic action, you can loose a flurry of energy arrows from this weapon at a wall up to 60 feet away from yourself. The arrows become glowing rungs that stick out of the wall, forming a magical ladder up to 60 feet long on the wall. This ladder lasts for 1 minute before disappearing.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/runescape2/images/4/4e/Elder_shortbow_detail.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"force","properties":"Ammunition, Two-Handed","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0629","blueprint":"In Handout","name":"Eversmoking Bottle","displayName":"Eversmoking Bottle","description":"As a Magic action, you can open or close this bottle.\n\nOpening the bottle causes thick smoke to billow out, forming a cloud that fills a 60-foot Emanation originating from the bottle. The area within the smoke is Heavily Obscured.\n\nEach minute the bottle remains open, the size of the Emanation increases by 10 feet until it reaches its maximum size of 120 feet.\n\nClosing the bottle causes the cloud to become fixed in place until it disperses after 10 minutes. A strong wind (such as that created by the Gust of Wind spell) disperses the cloud after 1 minute.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414503842/5e4JwtEh3EpFAGPxcyq8jg/original.png","effect":"Open or Close the bottle.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"60 ft Radius","damage":"","damageType":"","properties":"Container","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0630","blueprint":"In Handout","name":"Eyes of Charming","displayName":"Eyes of Charming","description":"These crystal lenses fit over the eyes. They have 3 charges. While wearing them, you can expend 1 or more charges to cast Charm Person (save DC 13). For 1 charge, you cast the level 1 version of the spell. You increase the spell’s level by one for each additional charge you expend. The lenses regain all expended charges daily at dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Eyes%20of%20Charming.webp","effect":"Expend a charge to cast Charm Person (DC 13).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0631","blueprint":"In Handout","name":"Eyes of Minute Seeing","displayName":"Eyes of Minute Seeing","description":"These crystal lenses fit over the eyes. While wearing them, your vision improves significantly out to a range of 1 foot, granting you Darkvision within that range and Advantage on Intelligence (Investigation) checks made to examine something within that range.","quantity":0,"weight":0,"AC":"","modifier":"Darkvision 1 ft","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://wyrmworkspublishing.com/wp-content/uploads/2022/01/generic-magic-item.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0632","blueprint":"In Handout","name":"Eyes of the Eagle","displayName":"Eyes of the Eagle","description":"These crystal lenses fit over the eyes. While wearing them, you have Advantage on Wisdom (Perception) checks that rely on sight. In conditions of clear visibility, you can make out details of even extremely distant creatures and objects as small as 2 feet across.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/47823/317/1000/1000/638769641163616732.png","effect":"Advantage on perception checks that rely on sight.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0633","blueprint":"In Handout","name":"Feather Token (Anchor)","displayName":"Feather Token (Anchor)","description":"This object looks like a feather. Different types of feather tokens exist, each with a different single-use effect. The GM chooses the kind of token or determines it randomly.\n\nAnchor. You can take a Magic action to touch the token to a boat or ship. For the next 24 hours, the vessel can’t be moved by any means. Touching the token to the vessel again ends the effect. When the effect ends, the token disappears.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414425021/3gJOzdK3qSDSnFlp363Pyg/original.png","effect":"Anchor a Boat of Ship for 24 Hours.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Utility","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0634","blueprint":"In Handout","name":"Feather Token (Bird)","displayName":"Feather Token (Bird)","description":"This object looks like a feather. Different types of feather tokens exist, each with a different single-use effect. The GM chooses the kind of token or determines it randomly.\n\nBird. You can take a Magic action to toss the token 5 feet into the air. The token disappears and an enormous, multicolored bird takes its place. The bird has the statistics of a Roc, but it can’t attack. It obeys your simple commands and can carry up to 500 pounds while flying at its maximum speed (16 miles per hour for a maximum of 144 miles per day, with a 1-hour rest for every 3 hours of flying) or 1,000 pounds at half that speed. The bird disappears after flying its maximum distance for a day or if it drops to 0 Hit Points. You can dismiss the bird as a Magic action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414425021/3gJOzdK3qSDSnFlp363Pyg/original.png","effect":"Summoning a multicolored bird.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Utility, Summoning.","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0635","blueprint":"In Handout","name":"Feather Token (Fan)","displayName":"Feather Token (Fan)","description":"This object looks like a feather. Different types of feather tokens exist, each with a different single-use effect. The GM chooses the kind of token or determines it randomly.\n\nFan. If you are on a boat or ship, you can take a Magic action to toss the token up to 10 feet in the air. The token disappears, and a giant flapping fan takes its place. The fan floats and creates a strong wind. This wind can fill the sails of one ship, increasing its speed by 5 miles per hour for 8 hours. You can dismiss the fan as a Magic action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414425021/3gJOzdK3qSDSnFlp363Pyg/original.png","effect":"Summoning a giant flapping fan to fill the sails of one ship.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Utility, Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0636","blueprint":"In Handout","name":"Feather Token (Swan Boat)","displayName":"Feather Token (Swan Boat)","description":"This object looks like a feather. Different types of feather tokens exist, each with a different single-use effect. The GM chooses the kind of token or determines it randomly.\n\nSwan Boat. You can take a Magic action to touch the token to a body of water at least 60 feet in diameter. The token disappears, and a 50-foot-long, 20-foot-wide boat shaped like a swan takes its place. The boat is self-propelled and moves across water at a speed of 6 miles per hour. You can take a Magic action while on the boat to command it to move or to turn up to 90 degrees. The boat remains for 24 hours and then disappears. You can dismiss the boat as a Magic action.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414425021/3gJOzdK3qSDSnFlp363Pyg/original.png","effect":"Summoning a Swan shaped boat.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Utility, Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0637","blueprint":"In Handout","name":"Feather Token (Tree)","displayName":"Feather Token (Tree)","description":"This object looks like a feather. Different types of feather tokens exist, each with a different single-use effect. The GM chooses the kind of token or determines it randomly.\n\nTree. You must be outdoors to use this token. You can take a Magic action to touch it to an unoccupied space on the ground. The token disappears, and in its place a nonmagical oak tree springs into existence. The tree is 60 feet tall and has a 5-foot-diameter trunk, and its branches at the top spread out in a 20-foot radius.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414425021/3gJOzdK3qSDSnFlp363Pyg/original.png","effect":"Summoning a 60ft tall Tree.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Utility, Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0638","blueprint":"In Handout","name":"Feather Token (Whip)","displayName":"Feather Token (Whip)","description":"This object looks like a feather. Different types of feather tokens exist, each with a different single-use effect. The GM chooses the kind of token or determines it randomly.\n\nWhip. You can take a Magic action to throw the token to a point within 10 feet of yourself. The token disappears, and a floating whip takes its place. You can then take a Bonus Action to make a melee spell attack against a creature within 10 feet of the whip, with an attack bonus of +9. On a hit, the target takes 1d6 + 5 Force damage.\n\nAs a Bonus Action, you can direct the whip to fly up to 20 feet and repeat the attack against a creature within 10 feet of the whip. The whip disappears after 1 hour, when you take a Magic action to dismiss it, or when you die or have the Incapacitated condition.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414425021/3gJOzdK3qSDSnFlp363Pyg/original.png","effect":"Summoning a 60 ft tall Tree.","diceCount":1,"diceSide":6,"bonus":5,"rollBonus":9,"area":"","damage":"1d6+5","damageType":"force","properties":"Utility, Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"","questItem":false},{"id":"0639","blueprint":"In Handout","name":"Firearm Bullet +1","displayName":"Firearm Bullet +1","description":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"uncommon","defaultPrice":10,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":1,"rollBonus":1,"area":"single","damage":"+1","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0640","blueprint":"In Handout","name":"Firearm Bullet +2","displayName":"Firearm Bullet +2","description":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"rare","defaultPrice":50,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":2,"rollBonus":2,"area":"single","damage":"+2","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0641","blueprint":"In Handout","name":"Firearm Bullet +3","displayName":"Firearm Bullet +3","description":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":250,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":3,"rollBonus":3,"area":"single","damage":"+3","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0642","blueprint":"In Handout","name":"Firearm Bullet of Aberration Slaying","displayName":"Firearm B. of Aberration S.","description":"This magic ammunition is meant to slay Aberrations. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0643","blueprint":"In Handout","name":"Firearm Bullet of Beast Slaying","displayName":"Firearm B. of Beast Slaying","description":"This magic ammunition is meant to slay Beasts. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0644","blueprint":"In Handout","name":"Firearm Bullet of Celestial Slaying","displayName":"Firearm B. of Celestial S.","description":"This magic ammunition is meant to slay Celestials. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0645","blueprint":"In Handout","name":"Firearm Bullet of Construct Slaying","displayName":"Firearm B. of Construct S.","description":"This magic ammunition is meant to slay Constructs. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0646","blueprint":"In Handout","name":"Firearm Bullet of Dragon Slaying","displayName":"Firearm B. of Dragon Slaying","description":"This magic ammunition is meant to slay Dragons. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0647","blueprint":"In Handout","name":"Firearm Bullet of Elemental Slaying","displayName":"Firearm B. of Elemental S.","description":"This magic ammunition is meant to slay Elementals. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0648","blueprint":"In Handout","name":"Firearm Bullet of Fey Slaying","displayName":"Firearm B. of Fey Slaying","description":"This magic ammunition is meant to slay Fey. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0649","blueprint":"In Handout","name":"Firearm Bullet of Fiend Slaying","displayName":"Firearm B. of Fiend Slaying","description":"This magic ammunition is meant to slay Fiends. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0650","blueprint":"In Handout","name":"Firearm Bullet of Giant Slaying","displayName":"Firearm B. of Giant Slaying","description":"This magic ammunition is meant to slay Giants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0651","blueprint":"In Handout","name":"Firearm Bullet of Humanoid Slaying","displayName":"Firearm B. of Humanoid S.","description":"This magic ammunition is meant to slay Humanoids. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0652","blueprint":"In Handout","name":"Firearm Bullet of Monstrosity Slaying","displayName":"Firearm B. of Monstrosity S.","description":"This magic ammunition is meant to slay Monstrosities. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0653","blueprint":"In Handout","name":"Firearm Bullet of Ooze Slaying","displayName":"Firearm B. of Ooze Slaying","description":"This magic ammunition is meant to slay Oozes. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0654","blueprint":"In Handout","name":"Firearm Bullet of Plant Slaying","displayName":"Firearm B. of Plant Slaying","description":"This magic ammunition is meant to slay Plants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0655","blueprint":"In Handout","name":"Firearm Bullet of Undead Slaying","displayName":"Firearm B. of Undead Slaying","description":"This magic ammunition is meant to slay Undead. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.2,"AC":"","modifier":"","debuff":"","requirement":"Pouch","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/044/279/704/small/riffle-bullet-on-isolated-background-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":3,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammunition,firearm-bullets","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"Ammo","consumableRange":"Ammo","questItem":false},{"id":"0656","blueprint":"In Handout","name":"Flail of Warning","displayName":"Flail of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0657","blueprint":"In Handout","name":"Flame Tongue Battleaxe","displayName":"Flame Tongue Battleaxe","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.\n","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"slashing","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0658","blueprint":"In Handout","name":"Flame Tongue Club","displayName":"Flame Tongue Club","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.\n\n","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0659","blueprint":"In Handout","name":"Flame Tongue Dagger","displayName":"Flame Tongue Dagger","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4 + 2d6 Fire Damage","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0660","blueprint":"In Handout","name":"Flame Tongue Flail","displayName":"Flame Tongue Flail","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0661","blueprint":"In Handout","name":"Flame Tongue Glaive","displayName":"Flame Tongue Glaive","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10 + 2d6 Fire Damage","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0662","blueprint":"In Handout","name":"Flame Tongue Greataxe","displayName":"Flame Tongue Greataxe","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":12,"bonus":0,"rollBonus":0,"area":"single","damage":"1d12 + 2d6 Fire Damage","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0663","blueprint":"In Handout","name":"Flame Tongue Greatclub","displayName":"Flame Tongue Greatclub","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0664","blueprint":"In Handout","name":"Flame Tongue Greatsword","displayName":"Flame Tongue Greatsword","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6 + 2d6 Fire Damage","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0665","blueprint":"In Handout","name":"Flame Tongue Halberd","displayName":"Flame Tongue Halberd","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10 + 2d6 Fire Damage","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0666","blueprint":"In Handout","name":"Flame Tongue Handaxe","displayName":"Flame Tongue Handaxe","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"slashing","properties":"Light, Thrown","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0667","blueprint":"In Handout","name":"Flame Tongue Javelin","displayName":"Flame Tongue Javelin","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"piercing","properties":"Thrown","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0668","blueprint":"In Handout","name":"Flame Tongue Lance","displayName":"Flame Tongue Lance","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10 + 2d6 Fire Damage","damageType":"piercing","properties":"Reach, Special","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0669","blueprint":"In Handout","name":"Flame Tongue Light Hammer","displayName":"Flame Tongue Light Hammer","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0670","blueprint":"In Handout","name":"Flame Tongue Longsword","displayName":"Flame Tongue Longsword","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0671","blueprint":"In Handout","name":"Flame Tongue Mace","displayName":"Flame Tongue Mace","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0672","blueprint":"In Handout","name":"Flame Tongue Maul","displayName":"Flame Tongue Maul","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0673","blueprint":"In Handout","name":"Flame Tongue Morningstar","displayName":"F. Tongue Morningstar","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0674","blueprint":"In Handout","name":"Flame Tongue Pike","displayName":"Flame Tongue Pike","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10 + 2d6 Fire Damage","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0675","blueprint":"In Handout","name":"Flame Tongue Quarterstaff","displayName":"Flame Tongue Quarterstaff","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0676","blueprint":"In Handout","name":"Flame Tongue Rapier","displayName":"Flame Tongue Rapier","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0677","blueprint":"In Handout","name":"Flame Tongue Scimitar","displayName":"Flame Tongue Scimitar","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0678","blueprint":"In Handout","name":"Flame Tongue Shortsword","displayName":"Flame Tongue Shortsword","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0679","blueprint":"In Handout","name":"Flame Tongue Sickle","displayName":"Flame Tongue Sickle","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4 + 2d6 Fire Damage","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0680","blueprint":"In Handout","name":"Flame Tongue Spear","displayName":"Flame Tongue Spear","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 2d6 Fire Damage","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0681","blueprint":"In Handout","name":"Flame Tongue Trident","displayName":"Flame Tongue Trident","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0682","blueprint":"In Handout","name":"Flame Tongue War Pick","displayName":"Flame Tongue War Pick","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"piercing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0683","blueprint":"In Handout","name":"Flame Tongue Warhammer","displayName":"Flame Tongue Warhammer","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 2d6 Fire Damage","damageType":"bludgeoning","properties":"Versatile","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0684","blueprint":"In Handout","name":"Flame Tongue Whip","displayName":"Flame Tongue Whip","description":"While holding this magic weapon, you can take a Bonus Action and use a command word to cause flames to engulf the damage-dealing part of the weapon. These flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet. While the weapon is ablaze, it deals an extra 2d6 Fire damage on a hit. The flames last until you take a Bonus Action to issue the command again or until you drop, stow, or sheathe the weapon.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"Emits bright light in a 40 ft radius and dim light for an additional 40 ft.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4 + 2d6 Fire Damage","damageType":"slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0685","blueprint":"In Handout","name":"Folding Boat","displayName":"Folding Boat","description":"This object appears as a wooden box that measures 12 inches long, 6 inches wide, and 6 inches deep. It weighs 4 pounds and floats. It can be opened to store items inside. This item also has three command words, each requiring a Magic action to use:\n\nFirst Command Word. The box unfolds into a Rowboat.\n\nSecond Command Word. The box unfolds into a Keelboat.\n\nThird Command Word. The Folding Boat folds back into a box if no creatures are aboard. Any objects in the vessel that can’t fit inside the box remain outside the box as it folds. Any objects in the vessel that can fit inside the box do so.\n\nWhen the box becomes a vessel, its weight becomes that of a normal vessel its size, and anything that was stored in the box remains in the boat.\n\nStatistics for the Rowboat and Keelboat appear in the \"Equipment\". If either vessel is reduced to 0 Hit Points, the Folding Boat is destroyed.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Folding%20Boat.webp","effect":"Summoning a boat.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"","consumableRange":"","questItem":false},{"id":"0686","blueprint":"In Handout","name":"Frost Brand Glaive","displayName":"Frost Brand Glaive","description":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\n\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\n\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can’t be used again for 1 hour.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"Resistance to fire damage.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10 + 1d6 Cold Damage","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0687","blueprint":"In Handout","name":"Frost Brand Greatsword","displayName":"Frost Brand Greatsword","description":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\n\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\n\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can’t be used again for 1 hour.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"Resistance to fire damage.","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6 + 1d6 Cold Damage","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0688","blueprint":"In Handout","name":"Frost Brand Longsword","displayName":"Frost Brand Longsword","description":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\n\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\n\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can’t be used again for 1 hour.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"Resistance to fire damage.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 1d6 Cold Damage","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0689","blueprint":"In Handout","name":"Frost Brand Rapier","displayName":"Frost Brand Rapier","description":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\n\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\n\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can’t be used again for 1 hour.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"Resistance to fire damage.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8 + 1d6 Cold Damage","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0690","blueprint":"In Handout","name":"Frost Brand Scimitar","displayName":"Frost Brand Scimitar","description":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\n\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\n\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can’t be used again for 1 hour.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"Resistance to fire damage.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 1d6 Cold Damage","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0691","blueprint":"In Handout","name":"Frost Brand Shortsword","displayName":"Frost Brand Shortsword","description":"When you hit with an attack roll using this magic weapon, the target takes an extra 1d6 Cold damage. In addition, while you hold the weapon, you have Resistance to Fire damage.\n\nIn freezing temperatures, the weapon sheds Bright Light in a 10-foot radius and Dim Light for an additional 10 feet.\n\nWhen you draw this weapon, you can extinguish all nonmagical flames within 30 feet of yourself. Once used, this property can’t be used again for 1 hour.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"Resistance to fire damage.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6 + 1d6 Cold Damage","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0692","blueprint":"In Handout","name":"Gauntlets of Ogre Power","displayName":"Gauntlets of Ogre Power","description":"Your Strength is 19 while you wear these gauntlets. They have no effect on you if your Strength is 19 or higher without them.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static0.fextralifeimages.com/file/solastacrownofthemagister/0/01/Gauntlets-of-ogre-power-accessories-armor-solasta-wiki-guide.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0693","blueprint":"In Handout","name":"Gem of Brightness","displayName":"Gem of Brightness","description":"This prism has 50 charges. While you are holding it, you can take a Magic action and use one of three command words to cause one of the following effects:\n\nFirst Command Word. The gem sheds Bright Light in a 30-foot radius and Dim Light for an additional 30 feet. This effect doesn’t expend a charge. It lasts until you take a Bonus Action to repeat the command word or until you use another function of the gem.\n\nSecond Command Word. You expend 1 charge and cause the gem to fire a brilliant beam of light at one creature you can see within 60 feet of yourself. The creature must succeed on a DC 15 Constitution saving throw or have the Blinded condition for 1 minute. The creature repeats the save at the end of each of its turns, ending the effect on itself on a success.\n\nThird Command Word. You expend 5 charges and cause the gem to flare with intense light in a 30-foot Cone. Each creature in the Cone makes a saving throw as if struck by the beam created with the second command word.\n\nWhen all of the gem’s charges are expended, the gem becomes a nonmagical jewel worth 50 GP.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/600/1000/1000/638657413697933403.png","effect":"Expend a charge to use a command word.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60 ft","consumableRange":"60 ft","questItem":false},{"id":"0694","blueprint":"In Handout","name":"Gem of Seeing","displayName":"Gem of Seeing","description":"This gem has 3 charges. As a Magic action, you can expend 1 charge. For the next 10 minutes, you have Truesight out to 120 feet when you peer through the gem.\n\nThe gem regains 1d3 expended charges daily at dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414507551/a3lnQ2RrHe4Wsq_Gj1E8_g/original.png","effect":"Expend a charge and gain Truesight 120 ft for 10 minutes.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0695","blueprint":"In Handout","name":"Giant Slayer Battleaxe","displayName":"Giant Slayer Battleaxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0696","blueprint":"In Handout","name":"Giant Slayer Blowgun","displayName":"Giant Slayer Blowgun","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"","diceCount":1,"diceSide":1,"bonus":1,"rollBonus":1,"area":"single","damage":"+1","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0697","blueprint":"In Handout","name":"Giant Slayer Club","displayName":"Giant Slayer Club","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0698","blueprint":"In Handout","name":"Giant Slayer Dagger","displayName":"Giant Slayer Dagger","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0699","blueprint":"In Handout","name":"Giant Slayer Dart","displayName":"Giant Slayer Dart","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"piercing","properties":"Finesse, Thrown","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0700","blueprint":"In Handout","name":"Giant Slayer Flail","displayName":"Giant Slayer Flail","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0701","blueprint":"In Handout","name":"Giant Slayer Glaive","displayName":"Giant Slayer Glaive","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0702","blueprint":"In Handout","name":"Giant Slayer Greataxe","displayName":"Giant Slayer Greataxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"single","damage":"1d12+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0703","blueprint":"In Handout","name":"Giant Slayer Greatclub","displayName":"Giant Slayer Greatclub","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0704","blueprint":"In Handout","name":"Giant Slayer Greatsword","displayName":"Giant Slayer Greatsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0705","blueprint":"In Handout","name":"Giant Slayer Halberd","displayName":"Giant Slayer Halberd","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0706","blueprint":"In Handout","name":"Giant Slayer Hand Crossbow","displayName":"Giant Slayer Hand Crossbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Light, Thrown","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0707","blueprint":"In Handout","name":"Giant Slayer Handaxe","displayName":"Giant Slayer Handaxe","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0708","blueprint":"In Handout","name":"Giant Slayer Heavy Crossbow","displayName":"Giant Slayer Heavy Crossbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Ammunition, Heavy, Loading, Two-Handed","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0709","blueprint":"In Handout","name":"Giant Slayer Javelin","displayName":"Giant Slayer Javelin","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Thrown","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0710","blueprint":"In Handout","name":"Giant Slayer Lance","displayName":"Giant Slayer Lance","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Reach, Two-Handed","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0711","blueprint":"In Handout","name":"Giant Slayer Light Crossbow","displayName":"Giant Slayer Light Crossbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0712","blueprint":"In Handout","name":"Giant Slayer Light Hammer","displayName":"Giant Slayer Light Hammer","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0713","blueprint":"In Handout","name":"Giant Slayer Longbow","displayName":"Giant Slayer Longbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Ammunition, Heavy, Two-Handed","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0714","blueprint":"In Handout","name":"Giant Slayer Longsword","displayName":"Giant Slayer Longsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0715","blueprint":"In Handout","name":"Giant Slayer Mace","displayName":"Giant Slayer Mace","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0716","blueprint":"In Handout","name":"Giant Slayer Maul","displayName":"Giant Slayer Maul","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0717","blueprint":"In Handout","name":"Giant Slayer Morningstar","displayName":"Giant Slayer Morningstar","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0718","blueprint":"In Handout","name":"Giant Slayer Musket","displayName":"Giant Slayer Musket","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":1,"rollBonus":1,"area":"single","damage":"1d12+1","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0719","blueprint":"In Handout","name":"Giant Slayer Pike","displayName":"Giant Slayer Pike","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0720","blueprint":"In Handout","name":"Giant Slayer Pistol","displayName":"Giant Slayer Pistol","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0721","blueprint":"In Handout","name":"Giant Slayer Quarterstaff","displayName":"Giant Slayer Quarterstaff","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0722","blueprint":"In Handout","name":"Giant Slayer Rapier","displayName":"Giant Slayer Rapier","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0723","blueprint":"In Handout","name":"Giant Slayer Scimitar","displayName":"Giant Slayer Scimitar","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0724","blueprint":"In Handout","name":"Giant Slayer Shortbow","displayName":"Giant Slayer Shortbow","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Ammunition, Two-Handed","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0725","blueprint":"In Handout","name":"Giant Slayer Shortsword","displayName":"Giant Slayer Shortsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0726","blueprint":"In Handout","name":"Giant Slayer Sickle","displayName":"Giant Slayer Sickle","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0727","blueprint":"In Handout","name":"Giant Slayer Sling","displayName":"Giant Slayer Sling","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"bludgeoning","properties":"Ammunition","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0728","blueprint":"In Handout","name":"Giant Slayer Spear","displayName":"Giant Slayer Spear","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0729","blueprint":"In Handout","name":"Giant Slayer Trident","displayName":"Giant Slayer Trident","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0730","blueprint":"In Handout","name":"Giant Slayer War Pick","displayName":"Giant Slayer War Pick","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0731","blueprint":"In Handout","name":"Giant Slayer Warhammer","displayName":"Giant Slayer Warhammer","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"bludgeoning","properties":"Versatile","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0732","blueprint":"In Handout","name":"Giant Slayer Whip","displayName":"Giant Slayer Whip","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhen you hit a Giant with this weapon, the Giant takes an extra 2d6 damage of the weapon’s type and must succeed on a DC 15 Strength saving throw or have the Prone condition.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0733","blueprint":"In Handout","name":"Glaive of Life Stealing","displayName":"Glaive of Life Stealing","description":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn’t a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0734","blueprint":"In Handout","name":"Glaive of Sharpness","displayName":"Glaive of Sharpness","description":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\n\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0735","blueprint":"In Handout","name":"Glaive of Warning","displayName":"Glaive of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n\n","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0736","blueprint":"In Handout","name":"Glaive of Wounding","displayName":"Glaive of Wounding","description":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0737","blueprint":"In Handout","name":"Glamoured Studded Leather","displayName":"Glamoured Studded Leather","description":"While wearing this armor, you gain a +1 bonus to Armor Class. You can also take a Bonus Action to cause the armor to assume the appearance of a normal set of clothing or some other kind of armor. You decide what it looks like—including color, style, and accessories—but the armor retains its normal bulk and weight. The illusory appearance lasts until you use this property again or doff the armor.","quantity":0,"weight":13,"AC":"12+1","modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430635/VpAFmLvrwv-Nj_ioy6u8mA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0738","blueprint":"In Handout","name":"Gloves of Missile Snaring","displayName":"Gloves of Missile Snaring","description":"If you’re hit by an attack roll made with a Ranged or Thrown weapon while wearing these gloves, you can take a Reaction to reduce the damage by 1d10 plus your Dexterity modifier if you have a free hand. If you reduce the damage to 0, you can catch the ammunition or weapon if it is small enough for you to hold in that hand.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/3/3a/Gloves_of_Missile_Snaring_Icon.png/300px-Gloves_of_Missile_Snaring_Icon.png.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0739","blueprint":"In Handout","name":"Gloves of Swimming and Climbing","displayName":"Gloves of Swim. and Climb.","description":"While wearing these gloves, you have a Climb Speed and a Swim Speed equal to your Speed, and you gain a +5 bonus to Strength (Athletics) checks made to climb or swim.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://dnd.su/gallery/items/170_1_1539745087_s.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0740","blueprint":"In Handout","name":"Gloves of Thievery","displayName":"Gloves of Thievery","description":"These gloves are imperceptible while worn. While wearing them, you gain a +5 bonus to Dexterity (Sleight of Hand) checks.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/a/a9/Gloves_of_Thievery_Icon.png/300px-Gloves_of_Thievery_Icon.png.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0741","blueprint":"In Handout","name":"Goggles of Night","displayName":"Goggles of Night","description":"While wearing these dark lenses, you have Darkvision out to 60 feet. If you already have Darkvision, wearing the goggles increases its range by 60 feet.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414507653/2jBuAwBN97gI2dha8NCSHg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0742","blueprint":"In Handout","name":"Gold Dragon Scale Mail","displayName":"Gold Dragon Scale Mail","description":"Gold Dragon Scale Mail is made of the scales of a gold dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Gold Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Fire damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest gold dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0743","blueprint":"In Handout","name":"Golden Lions Figurine of Wondrous Power","displayName":"Golden Lions Fig. of W. Power","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nGolden Lions. These gold statuettes of lions are always created in pairs. You can use one figurine or both simultaneously. Each can become a Lion for up to 1 hour. Once a lion has been used, it can’t be used again until 7 days have passed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414505579/BxfZHTxSPP7Jyk68GZN5Dw/original.png","effect":"Becomes a living creature","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0744","blueprint":"In Handout","name":"Gray Bag of Tricks","displayName":"Gray Bag of Tricks","description":"This bag made from gray cloth appears empty. Reaching inside the bag, however, reveals the presence of a small, fuzzy object.\n\nYou can take a Magic action to pull the fuzzy object from the bag and throw it up to 20 feet. When the object lands, it transforms into a creature you determine by rolling on the table below. See \"Monsters\" for the creature’s stat block. The creature vanishes at the next dawn or when it is reduced to 0 Hit Points.\n\nThe creature is Friendly to you and your allies, and it acts immediately after you on your Initiative count. You can take a Bonus Action to command how the creature moves and what action it takes on its next turn, such as attacking an enemy. In the absence of such orders, the creature acts in a fashion appropriate to its nature.\n\nOnce three fuzzy objects have been pulled from the bag, the bag can’t be used again until the next dawn.\n\nGray Bag of Tricks\n\n1d8\n\nCreature\n\n1\n\nWeasel\n\n2\n\nGiant Rat\n\n3\n\nBadger\n\n4\n\nBoar\n\n5\n\nPanther\n\n6\n\nGiant Badger\n\n7\n\nDire Wolf\n\n8\n\nGiant Elk","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/445/1000/1000/638657413435464767.png","effect":"Transform the bag into a creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"20 ft","consumableRange":"20 ft","questItem":false},{"id":"0745","blueprint":"In Handout","name":"Greataxe of Warning","displayName":"Greataxe of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n","diceCount":1,"diceSide":12,"bonus":0,"rollBonus":0,"area":"single","damage":"1d12","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0746","blueprint":"In Handout","name":"Greatclub of Warning","displayName":"Greatclub of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0747","blueprint":"In Handout","name":"Greatsword of Life Stealing","displayName":"Greatsword of Life Stealing","description":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn’t a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0748","blueprint":"In Handout","name":"Greatsword of Sharpness","displayName":"Greatsword of Sharpness","description":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\n\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0749","blueprint":"In Handout","name":"Greatsword of Warning","displayName":"Greatsword of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0750","blueprint":"In Handout","name":"Greatsword of Wounding","displayName":"Greatsword of Wounding","description":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0751","blueprint":"In Handout","name":"Green Dragon Scale Mail","displayName":"Green Dragon Scale Mail","description":"Green Dragon Scale Mail is made of the scales of a green dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Green Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Poison damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest green dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0752","blueprint":"In Handout","name":"Halberd of Warning","displayName":"Halberd of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0753","blueprint":"In Handout","name":"Half Plate Armor of Acid Resistance","displayName":"Half Plate of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0754","blueprint":"In Handout","name":"Half Plate Armor of Cold Resistance","displayName":"Half Plate of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0755","blueprint":"In Handout","name":"Half Plate Armor of Etherealness","displayName":"Half Plate of Etherealness","description":"While you’re wearing this armor, you can take a Magic action and use a command word to gain the effect of the Etherealness spell. The spell ends immediately if you remove the armor or take a Magic action to repeat the command word. This property of the armor can’t be used again until the next dawn.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0756","blueprint":"In Handout","name":"Half Plate Armor of Fire Resistance","displayName":"Half Plate of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0757","blueprint":"In Handout","name":"Half Plate Armor of Force Resistance","displayName":"Half Plate of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0758","blueprint":"In Handout","name":"Half Plate Armor of Lightning Resistance","displayName":"Half Plate of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0759","blueprint":"In Handout","name":"Half Plate Armor of Necrotic Resistance","displayName":"Half Plate of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0760","blueprint":"In Handout","name":"Half Plate Armor of Poison Resistance","displayName":"Half Plate of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0761","blueprint":"In Handout","name":"Half Plate Armor of Psychic Resistance","displayName":"Half Plate of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0762","blueprint":"In Handout","name":"Half Plate Armor of Radiant Resistance","displayName":"Half Plate of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0763","blueprint":"In Handout","name":"Half Plate Armor of Thunder Resistance","displayName":"Half Plate of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0764","blueprint":"In Handout","name":"Half Plate Armor of Vulnerability (Bludgeoning)","displayName":"Half Plate of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage, Vulnerability to slashing damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0765","blueprint":"In Handout","name":"Half Plate Armor of Vulnerability (Piercing)","displayName":"Half Plate of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to slashing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0766","blueprint":"In Handout","name":"Half Plate Armor of Vulnerability (Slashing)","displayName":"Half Plate of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0767","blueprint":"In Handout","name":"Hand Crossbow of Warning","displayName":"Hand C.bow of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0768","blueprint":"In Handout","name":"Handaxe of Warning","displayName":"Handaxe of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"slashing","properties":"Light, Thrown","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0769","blueprint":"In Handout","name":"Handy Haversack","displayName":"Handy Haversack","description":"This backpack has a central pouch and two side pouches, each of which is an extradimensional space. Each side pouch can hold up to 200 pounds of material, not exceeding a volume of 25 cubic feet. The central pouch can hold up to 500 pounds of material, not exceeding a volume of 64 cubic feet. The haversack always weighs 5 pounds, regardless of its contents.\n\nRetrieving an item from the haversack requires a Utilize action or a Bonus Action (your choice). When you reach into the haversack for a specific item, the item is always magically on top.\n\nIf any of its pouches is overloaded, pierced, or torn, the haversack ruptures and is destroyed. If the haversack is destroyed, its contents are lost forever, although an Artifact always turns up again somewhere. If the haversack is turned inside out, its contents spill forth unharmed, and the haversack must be put right before it can be used again.\n\nEach pouch of the haversack holds enough air for 10 minutes of breathing, divided by the number of breathing creatures inside.\n\nPlacing the haversack inside an extradimensional space created by a Bag of Holding, Portable Hole, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within 10 feet of the gate and not behind Total Cover is sucked through it and deposited in a random location on the Astral Plane. The gate then closes. The gate is one-way only and can’t be reopened.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/443/1000/1000/638657413430473951.png","effect":"Use a extradimensional space.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0770","blueprint":"In Handout","name":"Hat of Disguise","displayName":"Hat of Disguise","description":"While wearing this hat, you can cast the Disguise Self spell. The spell ends if the hat is removed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.wikitide.net/criticalrolewiki/thumb/9/97/Hat_of_Disguise_-_Ana_Fedina.png/280px-Hat_of_Disguise_-_Ana_Fedina.png","effect":"Cast Disguise Self.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0771","blueprint":"In Handout","name":"Hat of Many Spells","displayName":"Hat of Many Spells","description":"This pointed hat has the following properties.\n\nSpellcasting Focus. While holding the hat, you can use it as a Spellcasting Focus for your Wizard spells. Any spell you cast using the hat gains a special Somatic component: you must reach into the hat and “pull” the spell out of it.\n\nUnknown Spell. While holding the hat, you can try to cast a level 1+ spell you don’t know. The spell must be on the Wizard spell list, it must be of a level you can cast, and it can’t have Material components costing more than 1,000 GP. Once you decide on the spell, you must expend a spell slot of the spell’s level. Then, to determine whether you cast the spell, make an Intelligence (Arcana) check (DC 10 plus the spell’s level). On a successful check, you cast the spell using its normal casting time, and you can’t use this property again until you finish a Short or Long Rest. On a failed check, you fail to cast the spell and a random effect occurs instead, determined by rolling on the following table.\n\nAny spell you cast from the hat uses your spell save DC and spell attack bonus.\n\n1d100\n\nEffect\n\n01–50\n\nYou cast a random spell determined by rolling 1d10: on a 1, Enlarge/Reduce (enlarge effect); on a 2, Enlarge/Reduce (reduce effect); on a 3, Faerie Fire; on a 4, Fireball; on a 5, Gust of Wind; on a 6, Invisibility (cast on yourself); on a 7, Lightning Bolt; on an 8, Phantasmal Force; on a 9, Polymorph; on a 10, Stinking Cloud.\n\n51–55\n\nYou have the Stunned condition until the end of your next turn, believing something awesome just happened.\n\n56–60\n\nA harmless swarm of butterflies fills a 10- foot Cube within 30 feet of yourself. The swarm disperses after 1 minute.\n\n61–65\n\nYou pull a nonmagical object out of the hat. Roll 1d4 to determine the object: on a 1, a vial of Acid; on a 2, a flask of Alchemist’s Fire; on a 3, a Crowbar; on a 4, a lit Torch.\n\n66–70\n\nYou suffer a bout of “magic sickness” and have the Poisoned condition for 1 hour.\n\n71–75\n\nYou have the Petrified condition until the end of your next turn.\n\n76–80\n\nYou pull a nonmagical object out of the hat. Roll 1d4 to determine the object: on a 1, a Dagger; on a 2, a Rope with a Grappling Hook tied to one end; on a 3, a bag of Caltrops; on a 4, a gem worth 50 GP.\n\n81–85\n\nA creature appears in an unoccupied space as close to you as possible. The creature isn’t under your control and acts as it normally would, and it disappears after 1 hour or when it drops to 0 Hit Points. Roll 1d4 to determine the creature: on a 1, a Camel; on a 2, a Constrictor Snake; on a 3, an Elephant; on a 4, a Mule.\n\n86–90\n\nA Hostile Swarm of Bats flies out of the hat, occupies your space, and attacks you.\n\n91–95\n\nA vertical, 10-foot-diameter, two-way portal to another plane of existence opens in an unoccupied space within 30 feet of you and remains open until the end of your next turn. The DM determines where it leads.\n\n96–00\n\nYou pull a magic item out of the hat. Roll 1d6 to determine the item’s rarity: on a 1–3, Common; on a 4–5, Uncommon; on a 6, Rare. The DM chooses the item, which disappears after 1 hour if it’s not consumed or destroyed before then.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Arcane Spell Focus","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/c/ca/Generated_ARM_Hat_Wizard_A.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30ft","consumableRange":"30ft","questItem":false},{"id":"0772","blueprint":"In Handout","name":"Headband of Intellect","displayName":"Headband of Intellect","description":"Your Intelligence is 19 while you wear this headband. It has no effect on you if your Intelligence is 19 or higher without it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/5/5f/Headband_of_Intellect.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0773","blueprint":"In Handout","name":"Heavy Crossbow of Warning","displayName":"Heavy C.bow of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"piercing","properties":"Ammunition, Heavy, Loading, Two-Handed","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0774","blueprint":"In Handout","name":"Helm of Brilliance","displayName":"Helm of Brilliance","description":"This helm is set with 1d10 diamonds, 2d10 rubies, 3d10 fire opals, and 4d10 opals. Any gem pried from the helm crumbles to dust. When all the gems are removed or destroyed, the helm loses its magic.\n\nYou gain the following benefits while wearing the helm.\n\nDiamond Light. As long as it has at least one diamond, the helm emits a 30-foot Emanation. When at least one Undead is within that area, the Emanation is filled with Dim Light. Any Undead that starts its turn in that area takes 1d6 Radiant damage.\n\nFire Opal Flames. As long as the helm has at least one fire opal, you can take a Magic action to cause one weapon you are holding to burst into flames. The flames emit Bright Light in a 10-foot radius and Dim Light for an additional 10 feet. The flames are harmless to you and the weapon. When you hit with an attack using the blazing weapon, the target takes an extra 1d6 Fire damage. The flames last until you take a Bonus Action to extinguish them or until you drop or stow the weapon.\n\nRuby Resistance. As long as the helm has at least one ruby, you have Resistance to Fire damage.\n\nSpells. You can cast one of the following spells (save DC 18), using one of the helm’s gems of the specified type as a component: Daylight (opal), Fireball (fire opal), Prismatic Spray (diamond), or Wall of Fire (ruby). The gem is destroyed when the spell is cast and disappears from the helm.\n\nTaking Fire Damage. Roll 1d20 if you are wearing the helm and take Fire damage as a result of failing a saving throw against a spell. On a roll of 1, the helm emits beams of light from its remaining gems and is then destroyed. Each creature within a 60-foot Emanation originating from you must succeed on a DC 17 Dexterity saving throw or be struck by a beam, taking Radiant damage equal to the number of gems in the helm.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/059/928/654/small/dramatic-rustic-helm-of-darkness-hades-helmet-premium-free-png.png","effect":"Resistance to fire damage.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"","damage":"1d6","damageType":"radiant","properties":"Headwear","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0775","blueprint":"In Handout","name":"Helm of Comprehending Languages","displayName":"Helm of Comp. Lang.","description":"While wearing this helm, you can cast Comprehend Languages from it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.worldanvil.com/uploads/images/afca3285d17fff5ce89196d668735f7f.png","effect":"Cast Comprehend Languages.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Headwear","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0776","blueprint":"In Handout","name":"Helm of Telepathy","displayName":"Helm of Telepathy","description":"While wearing this helm, you have telepathy with a range of 30 feet, and you can cast Detect Thoughts or Suggestion (save DC 13) from the helm. Once either spell is cast from the helm, that spell can’t be cast from it again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414516397/XJff6iWDPRJ3cVIlKHV8cA/med.png","effect":"Have telepathy and can cast Detect Thooughts or Suggestion.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Headwear","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"30 ft","consumableRange":"30 ft","questItem":false},{"id":"0777","blueprint":"In Handout","name":"Helm of Teleportation","displayName":"Helm of Teleportation","description":"This helm has 3 charges. While wearing it, you can expend 1 charge to cast Teleport from it. The helm regains 1d3 expended charges daily at dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/065/755/507/small_2x/samurai-warrior-with-red-eyes-and-intricate-helmet-design-on-transparent-background-png.png","effect":"Expend 1 chart to cast Teleport.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Headwear","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0778","blueprint":"In Handout","name":"Hide Armor of Acid Resistance","displayName":"Hide Armor of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":12,"AC":"12","modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0779","blueprint":"In Handout","name":"Hide Armor of Cold Resistance","displayName":"Hide Armor of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0780","blueprint":"In Handout","name":"Hide Armor of Fire Resistance","displayName":"Hide Armor of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0781","blueprint":"In Handout","name":"Hide Armor of Force Resistance","displayName":"Hide Armor of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0782","blueprint":"In Handout","name":"Hide Armor of Lightning Resistance","displayName":"Hide Armor of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0783","blueprint":"In Handout","name":"Hide Armor of Necrotic Resistance","displayName":"Hide Armor of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0784","blueprint":"In Handout","name":"Hide Armor of Poison Resistance","displayName":"Hide Armor of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0785","blueprint":"In Handout","name":"Hide Armor of Psychic Resistance","displayName":"Hide Armor of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0786","blueprint":"In Handout","name":"Hide Armor of Radiant Resistance","displayName":"Hide Armor of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0787","blueprint":"In Handout","name":"Hide Armor of Thunder Resistance","displayName":"Hide Armor of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0788","blueprint":"In Handout","name":"Hide Armor of Vulnerability (Bludgeoning)","displayName":"Hide Armor of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"Vulnerability to slashing damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0789","blueprint":"In Handout","name":"Hide Armor of Vulnerability (Piercing)","displayName":"Hide Armor of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"Vulnerability to bludgeoning damage, Vulnerability to slashing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0790","blueprint":"In Handout","name":"Hide Armor of Vulnerability (Slashing)","displayName":"Hide Armor of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":12,"AC":12,"modifier":"Dex (max:2)","debuff":"Vulnerability to bludgeoning damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430658/7N9eNsfRnJv1VbBfKsYQKg/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":12,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,hide","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0791","blueprint":"In Handout","name":"Holy Avenger Battleaxe","displayName":"Holy Avenger Battleaxe","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"slashing","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0792","blueprint":"In Handout","name":"Holy Avenger Blowgun","displayName":"Holy Avenger Blowgun","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"","diceCount":1,"diceSide":1,"bonus":3,"rollBonus":3,"area":"single","damage":"+3","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0793","blueprint":"In Handout","name":"Holy Avenger Club","displayName":"Holy Avenger Club","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0794","blueprint":"In Handout","name":"Holy Avenger Dagger","displayName":"Holy Avenger Dagger","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0795","blueprint":"In Handout","name":"Holy Avenger Dart","displayName":"Holy Avenger Dart","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"piercing","properties":"Finesse, Thrown","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0796","blueprint":"In Handout","name":"Holy Avenger Flail","displayName":"Holy Avenger Flail","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0797","blueprint":"In Handout","name":"Holy Avenger Glaive","displayName":"Holy Avenger Glaive","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0798","blueprint":"In Handout","name":"Holy Avenger Greataxe","displayName":"Holy Avenger Greataxe","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":3,"rollBonus":3,"area":"single","damage":"1d12+3","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0799","blueprint":"In Handout","name":"Holy Avenger Greatclub","displayName":"Holy Avenger Greatclub","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0800","blueprint":"In Handout","name":"Holy Avenger Greatsword","displayName":"Holy Avenger Greatsword","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"2d6+3","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0801","blueprint":"In Handout","name":"Holy Avenger Halberd","displayName":"Holy Avenger Halberd","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0802","blueprint":"In Handout","name":"Holy Avenger Hand Crossbow","displayName":"Holy Avenger Hand Crossbow","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Light, Thrown","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0803","blueprint":"In Handout","name":"Holy Avenger Handaxe","displayName":"Holy Avenger Handaxe","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"slashing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0804","blueprint":"In Handout","name":"Holy Avenger Heavy Crossbow","displayName":"Holy Avenger Heavy Crossbow","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"piercing","properties":"Ammunition, Heavy, Loading, Two-Handed","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0805","blueprint":"In Handout","name":"Holy Avenger Javelin","displayName":"Holy Avenger Javelin","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Thrown","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0806","blueprint":"In Handout","name":"Holy Avenger Lance","displayName":"Holy Avenger Lance","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"piercing","properties":"Reach, Two-Handed (unless mounted)","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0807","blueprint":"In Handout","name":"Holy Avenger Light Crossbow","displayName":"Holy Avenger Light Crossbow","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0808","blueprint":"In Handout","name":"Holy Avenger Light Hammer","displayName":"Holy Avenger Light Hammer","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0809","blueprint":"In Handout","name":"Holy Avenger Longbow","displayName":"Holy Avenger Longbow","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Ammunition, Heavy, Two-Handed","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0810","blueprint":"In Handout","name":"Holy Avenger Longsword","displayName":"Holy Avenger Longsword","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0811","blueprint":"In Handout","name":"Holy Avenger Mace","displayName":"Holy Avenger Mace","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0812","blueprint":"In Handout","name":"Holy Avenger Maul","displayName":"Holy Avenger Maul","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"2d6+3","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0813","blueprint":"In Handout","name":"Holy Avenger Morningstar","displayName":"Holy Avenger Morningstar","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0814","blueprint":"In Handout","name":"Holy Avenger Musket","displayName":"Holy Avenger Musket","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":3,"rollBonus":3,"area":"single","damage":"1d12+3","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0815","blueprint":"In Handout","name":"Holy Avenger Pike","displayName":"Holy Avenger Pike","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0816","blueprint":"In Handout","name":"Holy Avenger Pistol","displayName":"Holy Avenger Pistol","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":3,"rollBonus":3,"area":"single","damage":"1d10+3","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0817","blueprint":"In Handout","name":"Holy Avenger Quarterstaff","displayName":"Holy Avenger Quarterstaff","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0818","blueprint":"In Handout","name":"Holy Avenger Rapier","displayName":"Holy Avenger Rapier","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0819","blueprint":"In Handout","name":"Holy Avenger Scimitar","displayName":"Holy Avenger Scimitar","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0820","blueprint":"In Handout","name":"Holy Avenger Shortbow","displayName":"Holy Avenger Shortbow","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Ammunition, Two-Handed","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0821","blueprint":"In Handout","name":"Holy Avenger Shortsword","displayName":"Holy Avenger Shortsword","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0822","blueprint":"In Handout","name":"Holy Avenger Sickle","displayName":"Holy Avenger Sickle","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0823","blueprint":"In Handout","name":"Holy Avenger Sling","displayName":"Holy Avenger Sling","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"bludgeoning","properties":"Ammunition","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0824","blueprint":"In Handout","name":"Holy Avenger Spear","displayName":"Holy Avenger Spear","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"single","damage":"1d6+3","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0825","blueprint":"In Handout","name":"Holy Avenger Trident","displayName":"Holy Avenger Trident","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0826","blueprint":"In Handout","name":"Holy Avenger War Pick","displayName":"Holy Avenger War Pick","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"piercing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0827","blueprint":"In Handout","name":"Holy Avenger Warhammer","displayName":"Holy Avenger Warhammer","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":3,"rollBonus":3,"area":"single","damage":"1d8+3","damageType":"bludgeoning","properties":"Versatile","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0828","blueprint":"In Handout","name":"Holy Avenger Whip","displayName":"Holy Avenger Whip","description":"You gain a +3 bonus to attack rolls and damage rolls made with this magic weapon. When you hit a Fiend or an Undead with it, that creature takes an extra 2d10 Radiant damage.\n\nWhile you hold the drawn weapon, it creates a 10-foot Emanation originating from you. You and all creatures Friendly to you in the Emanation have Advantage on saving throws against spells and other magical effects. If you have 17 or more levels in the Paladin class, the size of the Emanation increases to 30 feet.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":3,"rollBonus":3,"area":"single","damage":"1d4+3","damageType":"slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0829","blueprint":"In Handout","name":"Horn of Blasting","displayName":"Horn of Blasting","description":"You can take a Magic action to blow the horn, which emits a thunderous blast in a 30-foot Cone that is audible out to 600 feet. Each creature in the Cone makes a DC 15 Constitution saving throw. On a failed save, a creature takes 5d8 Thunder damage and has the Deafened condition for 1 minute. On a successful save, a creature takes half as much damage only. Glass or crystal objects in the Cone that aren’t being worn or carried take 10d8 Thunder damage.\n\nEach use of the horn’s magic has a 20 percent chance of causing the horn to explode. The explosion deals 10d6 Force damage to the user and destroys the horn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414517702/NzQRm8dJ6JXL_wKRuwCpjg/original.png","effect":"Blow the horn, emits a thunderous blast in 30 ft Cone.","diceCount":5,"diceSide":8,"bonus":0,"rollBonus":0,"area":"","damage":"5d8","damageType":"thunder","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0830","blueprint":"In Handout","name":"Horseshoes of a Zephyr","displayName":"Horseshoes of a Zephyr","description":"These horseshoes come in a set of four. As a Magic action, you can touch one of the horseshoes to the hoof of a horse or similar creature, whereupon the horseshoe affixes itself to the hoof. Removing a horseshoe also takes a Magic action.\n\nWhile all four shoes are affixed to the hooves of a horse or similar creature, they allow the creature to move normally while floating 4 inches above a surface. This effect means the creature can cross or stand above nonsolid or unstable surfaces, such as water or lava. The creature leaves no tracks and ignores Difficult Terrain. In addition, the creature can travel for up to 12 hours a day without gaining Exhaustion levels from extended travel.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/069/099/897/small/steel-horseshoe-isolated-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0831","blueprint":"In Handout","name":"Horseshoes of Speed","displayName":"Horseshoes of Speed","description":"These horseshoes come in a set of four. As a Magic action, you can touch one of the horseshoes to the hoof of a horse or similar creature, whereupon the horseshoe affixes itself to the hoof. Removing a horseshoe also takes a Magic action.\n\nWhile all four horseshoes are attached to the same creature, its Speed is increased by 30 feet.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/069/099/897/small/steel-horseshoe-isolated-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0832","blueprint":"In Handout","name":"Immovable Rod","displayName":"Immovable Rod","description":"This iron rod has a button on one end. You can take a Utilize action to press the button, which causes the rod to become magically fixed in place. Until you or another creature takes a Utilize action to push the button again, the rod doesn’t move, even if it defies gravity. The rod can hold up to 8,000 pounds of weight. More weight causes the rod to deactivate and fall. A creature can take a Utilize action to make a DC 30 Strength (Athletics) check, moving the fixed rod up to 10 feet on a successful check.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/645/1000/1000/638657413763817339.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Arcane Focus","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0833","blueprint":"In Handout","name":"Instant Fortress","displayName":"Instant Fortress","description":"As a Magic action, you can place this 1-inch adamantine statuette on the ground and, using a command word, cause it to grow rapidly into a square adamantine tower. Repeating the command word causes the tower to revert to statuette form, which works only if the tower is empty. Each creature in the area where the tower appears is pushed to an unoccupied space outside but next to the tower. Objects in the area that aren’t being worn or carried are also pushed clear of the tower.\n\nThe tower is 20 feet on a side and 30 feet high, with arrow slits on all sides and a battlement atop it. Its interior is divided into two floors, with a ladder, staircase, or ramp (your choice) connecting them. This ladder, staircase, or ramp ends at a trapdoor leading to the roof. When created, the tower has a single door at ground level on the side facing you. The door opens only at your command, which you can issue as a Bonus Action. It is immune to the Knock spell and similar magic.\n\nMagic prevents the tower from being tipped over. The roof, the door, and the walls each have AC 20; HP 100; Immunity to Bludgeoning, Piercing, and Slashing damage except that which is dealt by siege equipment; and Resistance to all other damage. Shrinking the tower back down to statuette form doesn’t repair damage to the tower. Only a Wish spell can repair the tower (this use of the spell counts as replicating a spell of level 8 or lower). Each casting of Wish causes the tower to regain all its Hit Points.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414494736/AmclGCsAZWDPiO9G8v682g/original.png","effect":"Immunity to bludgeoning damage, Immunity to piercing damage, Immunity to damage, Immunity to slashing damage, Resistance to all other damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0834","blueprint":"In Handout","name":"Iron Bands","displayName":"Iron Bands","description":"This rusty iron sphere measures 3 inches in diameter and weighs 1 pound. You can take a Magic action to throw the sphere at a Huge or smaller creature you can see within 60 feet of yourself. As the sphere moves through the air, it opens into a tangle of metal bands.\n\nMake a ranged attack roll with an attack bonus equal to your Dexterity modifier plus your Proficiency Bonus. On a hit, the target has the Restrained condition until you take a Bonus Action to issue a command that releases it. Doing so or missing with the attack causes the bands to contract and become a sphere once more.\n\nA creature that can touch the bands, including the one Restrained, can take an action to make a DC 20 Strength (Athletics) check to break the iron bands. On a successful check, the item is destroyed, and the Restrained creature is freed. On a failed check, any further attempts made by that creature automatically fail until 24 hours have elapsed.\n\nOnce the bands are used, they can’t be used again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414522449/D6vXQn9p6wwS5V_1SkzVKA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0835","blueprint":"In Handout","name":"Iron Flask","displayName":"Iron Flask","description":"While holding this brass-stoppered iron flask, you can take a Magic action to target a creature that you can see within 60 feet of yourself. If the flask is empty and the target is native to a plane of existence other than the one you’re on, the target must succeed on a DC 17 Wisdom saving throw or be trapped in the flask. If the target has been trapped by the flask before, it has Advantage on the save. Once trapped, a creature remains in the flask until released. The flask can hold only one creature at a time. A creature trapped in the flask doesn’t age and doesn’t need to breathe, eat, or drink.\n\nYou can take a Magic action to remove the flask’s stopper and release the creature in the flask. The creature then obeys your commands for 1 hour, understanding those commands even if it doesn’t know the language in which the commands are given. If you issue no commands or give the creature a command that is likely to result in its death or imprisonment, it defends itself but otherwise takes no actions. At the end of the duration, the creature acts in accordance with its normal disposition and alignment.\n\nAn Identify spell reveals if the flask contains a creature, but the only way to determine the type of creature is to open the flask. A newly discovered Iron Flask might already contain a creature chosen by the GM or determined randomly by rolling on the following table (see \"Monsters\" for the creature’s stat block).","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/5/5d/Iron_flask_bg3.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0836","blueprint":"In Handout","name":"Iron Horn of Valhalla","displayName":"Iron Horn of Valhalla","description":"You can take a Magic action to blow this horn. In response, warrior spirits from the plane of Ysgard appear in unoccupied spaces within 60 feet of you. Each spirit uses the Berserker stat block and returns to Ysgard after 1 hour or when it drops to 0 Hit Points. The spirits look like living, breathing warriors, and they have Immunity to the Charmed and Frightened conditions. Once you use the horn, it can’t be used again until 7 days have passed.\n\nFour types of Horn of Valhalla are known to exist, each made of a different metal. The horn’s type determines how many spirits it summons, as well as the requirement for its use. The DM chooses the horn’s type or determines it randomly.\n\nIf you blow the horn without meeting its requirement, the summoned spirits attack you. If you meet the requirement, they are Friendly to you and your allies and follow your commands.\n\nHorn Type\n\nSpirits\n\nRequirement\n\nIron\n\n5\n\nProficiency with all Martial weapons","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414517929/uf2DPFg3NHEk9DyWVwXW7g/original.png","effect":"Summon spirits from the plane of Ysgard","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0837","blueprint":"In Handout","name":"Ivory Goats Figurine of Wondrous Power","displayName":"Ivory Goats Fig. of W. Power","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nIvory Goats. These ivory statuettes of goats are always created in sets of three. Each goat looks unique and functions differently from the others. Their properties are as follows:\n\nGoat of Terror. This figurine can become a Giant Goat for up to 3 hours. The goat can’t attack, but you can (harmlessly) remove its horns and use them as weapons. One horn becomes a +1 Lance, and the other becomes a +2 Longsword. Removing a horn requires a Magic action, and the weapons disappear and the horns return when the goat reverts to figurine form. While you ride the goat, any Hostile creature that starts its turn within a 30-foot Emanation originating from the goat must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute, until you are no longer riding the goat, or until the goat reverts to figurine form. The Frightened creature repeats the save at the end of each of its turns, ending the effect on itself on a success. Once it succeeds on the save, a creature is immune to this effect for the next 24 hours. Once the figurine has been used, it can’t be used again until 15 days have passed.\n\nGoat of Traveling. This figurine can become a Large goat with the same statistics as a Riding Horse. It has 24 charges, and each hour or portion thereof it spends in goat form costs 1 charge. While it has charges, you can use it as often as you wish. When it runs out of charges, it reverts to a figurine and can’t be used again until 7 days have passed, when it regains all expended charges.\n\nGoat of Travail. This figurine can become a Giant Goat for up to 3 hours. Once it has been used, it can’t be used again until 30 days have passed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414506113/R4o4y_1p2rny_cbKiUxLog/original.png","effect":"Becomes a living creature","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"","damage":"1d10","damageType":"piercing","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0838","blueprint":"In Handout","name":"Javelin of Lightning","displayName":"Javelin of Lightning","description":"Each time you make an attack roll with this magic weapon and hit, you can have it deal Lightning damage instead of Piercing damage.\n\nLightning Bolt. When you throw this weapon at a target no farther than 120 feet from you, you can forgo making a ranged attack roll and instead turn the weapon into a bolt of lightning. This bolt forms a 5-foot-wide Line between you and the target. The target and each other creature in the Line (excluding you) makes a DC 13 Dexterity saving throw, taking 4d6 Lightning damage on a failed save or half as much damage on a successful one. Immediately after dealing this damage, the weapon reappears in your hand. This property can’t be used again until the next dawn.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"piercing","properties":"Thrown","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0839","blueprint":"In Handout","name":"Javelin of Warning","displayName":"Javelin of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"piercing","properties":"Thrown","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0840","blueprint":"In Handout","name":"Lance of Warning","displayName":"Lance of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"piercing","properties":"Reach, Two-Handed (unless mounted)","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0841","blueprint":"In Handout","name":"Lantern of Revealing","displayName":"Lantern of Revealing","description":"While lit, this hooded lantern burns for 6 hours on 1 pint of oil, shedding Bright Light in a 30-foot radius and Dim Light for an additional 30 feet. Invisible creatures and objects are visible as long as they are in the lantern’s Bright Light. You can take a Utilize action to lower the hood, reducing the lantern’s light to Dim Light in a 5-foot radius.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414523853/QCyP8tv0dFoHitoTPenvvQ/original.png","effect":"Emits bright light in a 30 ft cone and dim light for an additional 30 ft.\n","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0842","blueprint":"In Handout","name":"Leather Armor of Acid Resistance","displayName":"Leather Armor of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0843","blueprint":"In Handout","name":"Leather Armor of Cold Resistance","displayName":"Leather Armor of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0844","blueprint":"In Handout","name":"Leather Armor of Fire Resistance","displayName":"Leather Armor of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0845","blueprint":"In Handout","name":"Leather Armor of Force Resistance","displayName":"Leather Armor of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0846","blueprint":"In Handout","name":"Leather Armor of Lightning Resistance","displayName":"Leather Armor of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0847","blueprint":"In Handout","name":"Leather Armor of Necrotic Resistance","displayName":"Leather Armor of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0848","blueprint":"In Handout","name":"Leather Armor of Poison Resistance","displayName":"Leather Armor of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0849","blueprint":"In Handout","name":"Leather Armor of Psychic Resistance","displayName":"Leather Armor of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0850","blueprint":"In Handout","name":"Leather Armor of Radiant Resistance","displayName":"Leather Armor of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0851","blueprint":"In Handout","name":"Leather Armor of Thunder Resistance","displayName":"Leather Armor of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0852","blueprint":"In Handout","name":"Leather Armor of Vulnerability (Bludgeoning)","displayName":"Lth. Armor of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"Vulnerability to slashing damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0853","blueprint":"In Handout","name":"Leather Armor of Vulnerability (Piercing)","displayName":"Leather Armor of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"Vulnerability to bludgeoning damage, Vulnerability to slashing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0854","blueprint":"In Handout","name":"Leather Armor of Vulnerability (Slashing)","displayName":"Leather Armor of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":10,"AC":11,"modifier":"Dex","debuff":"Vulnerability to bludgeoning damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430006/OJ3yJOR5kbFRL_X5t2jiHQ/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,light,leather","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0855","blueprint":"In Handout","name":"Light Crossbow of Warning","displayName":"Light Crossbow of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.\n","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0856","blueprint":"In Handout","name":"Light Hammer of Warning","displayName":"Light Hammer of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":4,"bonus":0,"rollBonus":0,"area":"single","damage":"1d4","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0857","blueprint":"In Handout","name":"Longbow of Warning","displayName":"Longbow of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Ammunition, Heavy, Two-Handed","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0858","blueprint":"In Handout","name":"Longsword of Life Stealing","displayName":"Longsword of Life Stealing","description":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn’t a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0859","blueprint":"In Handout","name":"Longsword of Sharpness","displayName":"Longsword of Sharpness","description":"When you attack an object with this magic weapon and hit, maximize your weapon damage dice against the target.\n\nWhen you attack a creature with this weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 14 Slashing damage and gains 1 Exhaustion level.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0860","blueprint":"In Handout","name":"Longsword of Warning","displayName":"Longsword of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0861","blueprint":"In Handout","name":"Longsword of Wounding","displayName":"Longsword of Wounding","description":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0862","blueprint":"In Handout","name":"Luck Blade Glaive","displayName":"Luck Blade Glaive","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":1,"rollBonus":1,"area":"single","damage":"1d10+1","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0863","blueprint":"In Handout","name":"Luck Blade Greatsword","displayName":"Luck Blade Greatsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0864","blueprint":"In Handout","name":"Luck Blade Longsword","displayName":"Luck Blade Longsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0865","blueprint":"In Handout","name":"Luck Blade Rapier","displayName":"Luck Blade Rapier","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":1,"rollBonus":1,"area":"single","damage":"1d8+1","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0866","blueprint":"In Handout","name":"Luck Blade Scimitar","displayName":"Luck Blade Scimitar","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0867","blueprint":"In Handout","name":"Luck Blade Shortsword","displayName":"Luck Blade Shortsword","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0868","blueprint":"In Handout","name":"Luck Blade Sickle","displayName":"Luck Blade Sickle","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. While the weapon is on your person, you also gain a +1 bonus to saving throws.\n\nLuck. If the weapon is on your person, you can call on its luck (no action required) to reroll one failed D20 Test if you don’t have the Incapacitated condition. You must use the second roll. Once used, this property can’t be used again until the next dawn.\n\nWish. The weapon has 1d3 charges. While holding it, you can expend 1 charge and cast Wish from it. Once used, this property can’t be used again until the next dawn. The weapon loses this property if it has no charges.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":1,"rollBonus":1,"area":"single","damage":"1d4+1","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0869","blueprint":"In Handout","name":"Mace of Disruption","displayName":"Mace of Disruption","description":"When you hit a Fiend or an Undead with this magic weapon, that creature takes an extra 2d6 Radiant damage. If the target has 25 Hit Points or fewer after taking this damage, it must succeed on a DC 15 Wisdom saving throw or be destroyed. On a successful save, the creature has the Frightened condition until the end of your next turn.\n\nLight. While you hold this weapon, it sheds Bright Light in a 20-foot radius and Dim Light for an additional 20 feet.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"Emits bright light in a 20 ft radius and dim light for an additional 20 ft for 1 hour.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0870","blueprint":"In Handout","name":"Mace of Smiting","displayName":"Mace of Smiting","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon. The bonus increases to +3 when you use the weapon to attack a Construct.\n\nWhen you roll a 20 on an attack roll made with this weapon, the target takes an extra 7 Bludgeoning damage, or 14 Bludgeoning damage if it’s a Construct. If a Construct has 25 Hit Points or fewer after taking this damage, it is destroyed.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"1d6+1","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0871","blueprint":"In Handout","name":"Mace of Terror","displayName":"Mace of Terror","description":"This magic weapon has 3 charges and regains 1d3 expended charges daily at dawn. While holding the weapon, you can take a Magic action and expend 1 charge to release a wave of terror from it. Each creature of your choice within 30 feet of you must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute. While Frightened in this way, a creature must spend its turns trying to move as far away from you as it can, and it can’t make Opportunity Attacks. For its action, it can use only the Dash action or try to escape from an effect that prevents it from moving. If it has nowhere it can move, the creature can take the Dodge action. At the end of each of its turns, a creature repeats the save, ending the effect on itself on a success.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0872","blueprint":"In Handout","name":"Mace of Warning","displayName":"Mace of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0873","blueprint":"In Handout","name":"Mantle of Spell Resistance","displayName":"Mantle of Spell Resistance","description":"You have Advantage on saving throws against spells while you wear this cloak.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/4/40/Robe_of_Spell_Resistance_Faded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0874","blueprint":"In Handout","name":"Manual of Bodily Health","displayName":"Manual of Bodily Health","description":"This book contains health and nutrition tips, and its words are charged with magic. If you spend 48 hours over a period of 6 days or fewer studying the book’s contents and practicing its guidelines, your Constitution increases by 2, to a maximum of 30. The manual then loses its magic but regains it in a century.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Manual%20of%20Bodily%20Health.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0875","blueprint":"In Handout","name":"Manual of Gainful Exercise","displayName":"Manual of Gainful Exercise","description":"This book describes fitness exercises, and its words are charged with magic. If you spend 48 hours over a period of 6 days or fewer studying the book’s contents and practicing its guidelines, your Strength increases by 2, to a maximum of 30. The manual then loses its magic but regains it in a century.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/pathfinderkingmaker_gamepedia_en/images/2/2d/GenericBook02.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0876","blueprint":"In Handout","name":"Manual of Golems","displayName":"Manual of Golems","description":"This tome contains information and incantations necessary to make a particular type of golem. The GM chooses the type or determines it randomly by rolling on the accompanying table. To decipher and use the manual, you must be a spellcaster with at least two level 5 spell slots. A creature that can’t use a Manual of Golems and attempts to read it takes 6d6 Psychic damage.\n\nTo create a golem, you must spend the time shown on the table, working without interruption with the manual at hand and resting no more than 8 hours per day. You must also pay the specified cost to purchase supplies.\n\nOnce you finish creating the golem, the book is consumed in eldritch flames. The golem becomes animate when the ashes of the manual are sprinkled on it. See \"Monsters\" for the golem’s stat block. The golem is under your control, and it understands and obeys your commands.\n\n1d20\n\nGolem\n\nTime\n\nCost\n\n1–5\n\nClay Golem\n\n30 days\n\n65,000 GP\n\n6–17\n\nFlesh Golem\n\n60 days\n\n50,000 GP\n\n18\n\nIron Golem\n\n120 days\n\n100,000 GP\n\n19–20\n\nStone Golem\n\n90 days\n\n80,000 GP","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414444948/3-uMmSsG00BAH5Ch8nK1WQ/original.png","effect":"Summoning a golem.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0877","blueprint":"In Handout","name":"Manual of Quick. of Action","displayName":"Manual of Quickness of Action","description":"This book contains coordination and balance exercises, and its words are charged with magic. If you spend 48 hours over a period of 6 days or fewer studying the book’s contents and practicing its guidelines, your Dexterity increases by 2, to a maximum of 30. The manual then loses its magic but regains it in a century.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Manual%20of%20Quickness%20of%20Action.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0878","blueprint":"In Handout","name":"Marble Elephant Figurine of Wondrous Power","displayName":"Marble Elephant Fig. of W. P.","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nMarble Elephant. This marble statuette resembles a trumpeting elephant. It can become an Elephant for up to 24 hours. Once it has been used, it can’t be used again until 7 days have passed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414505691/jqJVoqEZlpLT39VX8he0Rw/original.png","effect":"Becomes a living creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0879","blueprint":"In Handout","name":"Marvelous Pigments","displayName":"Marvelous Pigments","description":"This fine wooden box contains 1d4 pots of pigment and a brush (weighing 1 pound in total).\n\nUsing the brush and expending 1 pot of pigment, you can paint any number of three-dimensional objects and terrain features (such as walls, doors, trees, flowers, weapons, webs, and pits), provided these elements are all confined to a 20-foot Cube. The effort takes 10 minutes (regardless of the number of elements you create), during which time you must remain in the Cube, and requires Concentration. If your Concentration is broken or you leave the Cube before the work is done, all the painted elements vanish, and the pot of pigment is wasted.\n\nWhen the work is done, all the painted objects and terrain features become real. Thus, painting a door on a wall creates an actual door, which can be opened to whatever is beyond. Painting a pit creates a real pit, the entire depth of which must lie within the 20-foot Cube.\n\nNo object created by a pot of pigment can have a value greater than 25 GP, and the total value of all objects created by a pot of pigment can’t exceed 500 GP. If you paint objects of greater value (such as a large pile of gold), they look authentic, but close inspection reveals they’re made from paste, cookies, or some other worthless material.\n\nIf you paint a form of energy such as fire or lightning, the energy dissipates as soon as you complete the painting, doing no harm.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/411842734/u1BswYIQA8TSYQpf7Qlc_g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0880","blueprint":"In Handout","name":"Maul of Thunderbolts","displayName":"Maul of Thunderbolts","description":"You gain a +1 bonus to attack rolls and damage rolls made with this magic weapon.\n\nThe weapon has 5 charges. You can expend 1 charge and make a ranged attack with the weapon, hurling it as if it had the Thrown property with a normal range of 20 feet and a long range of 60 feet. If the attack hits, the weapon unleashes a thunderclap audible out to 300 feet. The target and every creature within 30 feet of it other than you must succeed on a DC 17 Constitution saving throw or have the Stunned condition until the end of your next turn. Immediately after hitting or missing, the weapon flies back to your hand. The weapon regains 1d4 + 1 expended charges daily at dawn.\n\nGiant’s Bane. While you are attuned to the weapon and wearing either a Belt of Giant Strength or Gauntlets of Ogre Power to which you are also attuned, you gain the following benefits:\n\nGiants’ Bane. When you roll a 20 on the d20 for an attack roll made with this weapon against a Giant, the creature must succeed on a DC 17 Constitution saving throw or die.\n\nMight of Giants. The Strength score bestowed by your Belt of Giant Strength or Gauntlets of Ogre Power increases by 4, to a maximum of 30.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":1,"rollBonus":1,"area":"single","damage":"2d6+1","damageType":"bludgeoning","properties":"Heavy, Two-Handed, Thrown","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0881","blueprint":"In Handout","name":"Maul of Warning","displayName":"Maul of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":2,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"2d6","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0882","blueprint":"In Handout","name":"Medallion of Thoughts","displayName":"Medallion of Thoughts","description":"The medallion has 5 charges. While wearing it, you can expend 1 charge to cast Detect Thoughts (save DC 13) from it. The medallion regains 1d4 expended charges daily at dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/47722/277/1000/1000/638765241488748784.png","effect":"Expende 1 charge to cast Detect Thoughts (DC 13).","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0883","blueprint":"In Handout","name":"Mirror of Life Trapping","displayName":"Mirror of Life Trapping","description":"When this 4-foot-tall, 2-foot-wide mirror is viewed indirectly, its surface shows faint images of creatures. The mirror weighs 50 pounds, and it has AC 11, HP 10, Immunity to Poison and Psychic damage, and Vulnerability to Bludgeoning damage. It shatters and is destroyed when reduced to 0 Hit Points.\n\nIf the mirror is hanging on a vertical surface and you are within 5 feet of it, you can take a Magic action and use a command word to activate it. It remains activated until you take a Magic action and repeat the command word to deactivate it.\n\nAny creature other than you that sees its reflection in the activated mirror while within 30 feet of the mirror must succeed on a DC 15 Charisma saving throw or be trapped, along with anything it is wearing or carrying, in one of the mirror’s twelve extradimensional cells. A creature that knows the mirror’s nature makes the save with Advantage, and Constructs succeed on the save automatically.\n\nAn extradimensional cell is an infinite expanse filled with thick fog that reduces visibility to 10 feet. Creatures trapped in the mirror’s cells don’t age, and they don’t need to eat, drink, or sleep. A creature trapped within a cell can escape using magic that permits planar travel. Otherwise, the creature is confined to the cell until freed.\n\nIf the mirror traps a creature but its twelve extradimensional cells are already occupied, the mirror frees one trapped creature at random to accommodate the new prisoner. A freed creature appears in an unoccupied space within sight of the mirror but facing away from it. If the mirror is shattered, all creatures it contains are freed and appear in unoccupied spaces near it.\n\nWhile within 5 feet of the mirror, you can take a Magic action to name one creature trapped in it or call out a particular cell by number. The creature named or contained in the named cell appears as an image on the mirror’s surface. You and the creature can then communicate.\n\nIn a similar way, you can take a Magic action and use a second command word to free one creature trapped in the mirror. The freed creature appears, along with its possessions, in the unoccupied space nearest to the mirror and facing away from it.\n\nPlacing the mirror inside an extradimensional space created by a Bag of Holding, Portable Hole, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within 10 feet of the gate and not behind Total Cover is sucked through it to a random location on the Astral Plane. The gate then closes. The gate is one-way only and can’t be reopened.","quantity":0,"weight":50,"AC":"","modifier":"","debuff":"Vulnerability to bludgeoning damage.","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Mirror%20of%20Life%20Trapping.webp","effect":"Immunity to poison damage, Immunity to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5ft","consumableRange":"5ft","questItem":false},{"id":"0884","blueprint":"In Handout","name":"Mithral Breastplate","displayName":"Mithral Breastplate","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":20,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430695/fsUxdJSTc-qALGxmG3V40A/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,breastplate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0885","blueprint":"In Handout","name":"Mithral Chain Mail","displayName":"Mithral Chain Mail","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":55,"AC":16,"modifier":"","debuff":"","requirement":"STR 13","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431241/_VRwcshMUVInU7bFlJKpOA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,chain mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0886","blueprint":"In Handout","name":"Mithral Chain Shirt","displayName":"Mithral Chain Shirt","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":20,"AC":13,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430675/XaQt0LcUCFeza6AdzAhOuA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"","mastery":"","tags":"armor,medium,chain shirt","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0887","blueprint":"In Handout","name":"Mithral Half Plate","displayName":"Mithral Half Plate","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":40,"AC":15,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0888","blueprint":"In Handout","name":"Mithral Plate Armor","displayName":"Mithral Plate Armor","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":65,"AC":18,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431187/mPbd10G6DodV3zElcvk66g/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,half plate","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0889","blueprint":"In Handout","name":"Mithral Ring Mail","displayName":"Mithral Ring Mail","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0890","blueprint":"In Handout","name":"Mithral Scale Mail","displayName":"Mithral Scale Mail","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":45,"AC":14,"modifier":"Dex (max:2)","debuff":"","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406430682/igKkVyOm17tzPccKj61Mrg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,medium,scale mail","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0891","blueprint":"In Handout","name":"Mithral Splint Armor","displayName":"Mithral Splint Armor","description":"Mithral is a light, flexible metal. Armor made of this substance can be worn under normal clothes. If the armor normally imposes Disadvantage on Dexterity (Stealth) checks or has a Strength requirement, the mithral version of the armor doesn’t.","quantity":0,"weight":60,"AC":17,"modifier":"","debuff":"","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431258/6MDsmkmYg41ssF0i9Tc7aQ/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,splint","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0892","blueprint":"In Handout","name":"Morningstar of Warning","displayName":"Morningstar of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0893","blueprint":"In Handout","name":"Musket of Warning","displayName":"Musket of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":12,"bonus":0,"rollBonus":0,"area":"single","damage":"1d12","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0894","blueprint":"In Handout","name":"Necklace of Adaptation","displayName":"Necklace of Adaptation","description":"While wearing this necklace, you can breathe normally in any environment, and you have Advantage on saving throws made to avoid or end the Poisoned condition.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Necklace%20of%20Adaptation.webp","effect":"Can breathe normally in any enviroment.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0895","blueprint":"In Handout","name":"Necklace of Fireballs","displayName":"Necklace of Fireballs","description":"This necklace has 1d6 + 3 beads hanging from it. You can take a Magic action to detach a bead and throw it up to 60 feet away. When it reaches the end of its trajectory, the bead detonates as a level 3 Fireball (save DC 15).\n\nYou can hurl multiple beads, or even the whole necklace, at one time. When you do so, increase the damage of the Fireball by 1d6 for each bead after the first (maximum 12d6).","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/688/1000/1000/638657413837113684.png","effect":"Throw a bead up to 60 ft.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0896","blueprint":"In Handout","name":"Necklace of Prayer Beads","displayName":"Necklace of Prayer Beads","description":"This necklace has 1d4 + 2 magic beads made from aquamarine, black pearl, or topaz. It also has many nonmagical beads made from stones such as amber, bloodstone, citrine, coral, jade, pearl, or quartz. If a magic bead is removed from the necklace, that bead loses its magic.\n\nSix types of magic beads exist. The GM decides the type of each bead on the necklace or determines it randomly by rolling on the table below. A necklace can have more than one bead of the same type. To use one, you must be wearing the necklace. Each bead contains a spell that you can cast from it as a Bonus Action (using your spell save DC if a save is necessary). Once a magic bead’s spell is cast, that bead can’t be used again until the next dawn.\n\n1d20\n\nBead\n\nSpell\n\n1–6\n\nBead of Blessing\n\nBless\n\n7–12\n\nBead of Curing\n\nCure Wounds (level 2 version)\n\n13–16\n\nBead of Favor\n\nGreater Restoration\n\n17–18\n\nBead of Smiting\n\nShining Smite\n\n19\n\nBead of Summons\n\nGuardian of Faith\n\n20\n\nBead of Wind Walking\n\nWind Walk","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/690/1000/1000/638657413839922293.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0897","blueprint":"In Handout","name":"Needle +1","displayName":"Needle +1","description":"You have a +1 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":1,"rollBonus":1,"area":"single","damage":"+1","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0898","blueprint":"In Handout","name":"Needle +2","displayName":"Needle +2","description":"You have a +2 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":2,"rollBonus":2,"area":"single","damage":"+2","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0899","blueprint":"In Handout","name":"Needle +3","displayName":"Needle +3","description":"You have a +3 bonus to attack rolls and damage rolls made with this piece of magic ammunition. Once it hits a target, the ammunition is no longer magical.\n\nThis ammunition is typically found or sold in quantities of ten or twenty pieces. Ten pieces of this ammunition are equivalent in value to a potion of the same rarity.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":3,"rollBonus":3,"area":"single","damage":"+3","damageType":"","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0900","blueprint":"In Handout","name":"Needle of Aberration Slaying","displayName":"Needle of Aberration Slaying","description":"This magic ammunition is meant to slay Aberrations. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0901","blueprint":"In Handout","name":"Needle of Beast Slaying","displayName":"Needle of Beast Slaying","description":"This magic ammunition is meant to slay Beasts. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0902","blueprint":"In Handout","name":"Needle of Celestial Slaying","displayName":"Needle of Celestial Slaying","description":"This magic ammunition is meant to slay Celestials. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0903","blueprint":"In Handout","name":"Needle of Construct Slaying","displayName":"Needle of Construct Slaying","description":"This magic ammunition is meant to slay Constructs. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0904","blueprint":"In Handout","name":"Needle of Dragon Slaying","displayName":"Needle of Dragon Slaying","description":"This magic ammunition is meant to slay Dragons. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0905","blueprint":"In Handout","name":"Needle of Elemental Slaying","displayName":"Needle of Elemental Slaying","description":"This magic ammunition is meant to slay Elementals. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0906","blueprint":"In Handout","name":"Needle of Fey Slaying","displayName":"Needle of Fey Slaying","description":"This magic ammunition is meant to slay Fey. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0907","blueprint":"In Handout","name":"Needle of Fiend Slaying","displayName":"Needle of Fiend Slaying","description":"This magic ammunition is meant to slay Fiends. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0908","blueprint":"In Handout","name":"Needle of Giant Slaying","displayName":"Needle of Giant Slaying","description":"This magic ammunition is meant to slay Giants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0909","blueprint":"In Handout","name":"Needle of Humanoid Slaying","displayName":"Needle of Humanoid Slaying","description":"This magic ammunition is meant to slay Humanoids. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0910","blueprint":"In Handout","name":"Needle of Monstrosity Slaying","displayName":"Needle of Monstrosity Slaying","description":"This magic ammunition is meant to slay Monstrosities. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0911","blueprint":"In Handout","name":"Needle of Ooze Slaying","displayName":"Needle of Ooze Slaying","description":"This magic ammunition is meant to slay Oozes. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0912","blueprint":"In Handout","name":"Needle of Plant Slaying","displayName":"Needle of Plant Slaying","description":"This magic ammunition is meant to slay Plants. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0913","blueprint":"In Handout","name":"Needle of Undead Slaying","displayName":"Needle of Undead Slaying","description":"This magic ammunition is meant to slay Undead. If a creature of that type takes damage from the ammunition, the creature makes a DC 17 Constitution saving throw, taking an extra 6d10 Force damage on a failed save or half as much extra damage on a successful one.\n\nAfter dealing its extra damage to a creature, the ammunition becomes nonmagical.","quantity":0,"weight":0.02,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ammunition","subtype":"Ranged Weapon","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/591/723/small/long-sharp-stainless-steel-needle-with-fine-point-on-transparent-background-free-png.png","effect":"","diceCount":6,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"6d10","damageType":"force","properties":"Loading, Ammunition","mastery":"","tags":"ammo,needles,bundle","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"ammo","consumableRange":"ammo","questItem":false},{"id":"0914","blueprint":"In Handout","name":"Nine Lives Stealer Battleaxe","displayName":"Nine Lives Stealer Battleaxe","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/055/668/727/small/modern-lgbtq-labrys-emblem-for-strength-and-unity-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"slashing","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,battleaxe,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0915","blueprint":"In Handout","name":"Nine Lives Stealer Blowgun","displayName":"Nine Lives Stealer Blowgun","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429385/Gmr11sgnHx3pBFprplHpwQ/original.png","effect":"","diceCount":1,"diceSide":1,"bonus":2,"rollBonus":2,"area":"single","damage":"+2","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,blowgun,martial,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"25/100","consumableRange":"25/100","questItem":false},{"id":"0916","blueprint":"In Handout","name":"Nine Lives Stealer Club","displayName":"Nine Lives Stealer Club","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://ark.wiki.gg/images/Wooden_Club.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"bludgeoning","properties":"Light","mastery":"Slow","tags":"weapon,melee,club,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0917","blueprint":"In Handout","name":"Nine Lives Stealer Dagger","displayName":"Nine Lives Stealer Dagger","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":1,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/2d/Dagger_Unfaded.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"piercing","properties":"Finesse, Light, Thrown","mastery":"Nick","tags":"weapon,melee,dagger,simple,finesse,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0918","blueprint":"In Handout","name":"Nine Lives Stealer Dart","displayName":"Nine Lives Stealer Dart","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":0.25,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426033/9nd0Wa1Hs4itI4OP5OU_Ow/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"piercing","properties":"Finesse, Thrown","mastery":"Vex","tags":"weapon,ranged,dart,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0919","blueprint":"In Handout","name":"Nine Lives Stealer Flail","displayName":"Nine Lives Stealer Flail","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367670079/Z4ezS31zyLAYZvcQZiGjKQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,flail,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0920","blueprint":"In Handout","name":"Nine Lives Stealer Glaive","displayName":"Nine Lives Stealer Glaive","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://images.squarespace-cdn.com/content/v1/59aa8bee197aea4ad67f52ae/1504483086420-0BFN936N2Y68ZOGE2QW2/glaive.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Graze","tags":"weapon,melee,glaive,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0921","blueprint":"In Handout","name":"Nine Lives Stealer Greataxe","displayName":"Nine Lives Stealer Greataxe","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":7,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/036/277/964/small/ai-generated-2d-ancient-axe-weapon-in-game-png.png","effect":"","diceCount":1,"diceSide":12,"bonus":2,"rollBonus":2,"area":"single","damage":"1d12+2","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Cleave","tags":"weapon,melee,greataxe,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0922","blueprint":"In Handout","name":"Nine Lives Stealer Greatclub","displayName":"Nine Lives Stealer Greatclub","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406425010/aOmo63okQfBkihLMQTH3xg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"bludgeoning","properties":"Two-Handed","mastery":"Push","tags":"weapon,melee,greatclub,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0923","blueprint":"In Handout","name":"Nine Lives Stealer Greatsword","displayName":"Nine Lives Stealer Greatsword","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://aow4.paradoxwikis.com/images/3/34/Equip_greatsword.png","effect":"","diceCount":2,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"2d6+2","damageType":"slashing","properties":"Heavy, Two-Handed","mastery":"Graze","tags":"weapon,melee,greatsword,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0924","blueprint":"In Handout","name":"Nine Lives Stealer Halberd","displayName":"Nine Lives Stealer Halberd","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://i.imgur.com/2nVyNEc.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"slashing","properties":"Heavy, Reach, Two-Handed","mastery":"Cleave","tags":"weapon,melee,halberd,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0925","blueprint":"In Handout","name":"Nine Lives Stealer Hand Crossbow","displayName":"Nine Lives Stealer Hand C.bow","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367705133/2nBzqqRgZHp5X-jH7wzQZw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"piercing","properties":"Light, Thrown","mastery":"Vex","tags":"weapon,ranged,hand crossbow,martial,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0926","blueprint":"In Handout","name":"Nine Lives Stealer Handaxe","displayName":"Nine Lives Stealer Handaxe","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://eldenring.wiki.gg/images/ER_Icon_weapon_Hand_Axe.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"slashing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,melee,handaxe,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0927","blueprint":"In Handout","name":"Nine Lives Stealer Heavy Crossbow","displayName":"Nine Lives Stealer Heavy C.bow","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429413/oji9ghxxSm7TzPlwYqBMOw/original.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"piercing","properties":"Ammunition, Heavy, Loading, Two-Handed","mastery":"Push","tags":"weapon,ranged,heavy crossbow,martial,heavy,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"100/400","consumableRange":"100/400","questItem":false},{"id":"0928","blueprint":"In Handout","name":"Nine Lives Stealer Javelin","displayName":"Nine Lives Stealer Javelin","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/056/827/935/non_2x/long-wooden-arrow-with-a-red-feather-and-a-pointed-tip-for-archery-free-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"piercing","properties":"Thrown","mastery":"Slow","tags":"weapon,melee,javelin,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0929","blueprint":"In Handout","name":"Nine Lives Stealer Lance","displayName":"Nine Lives Stealer Lance","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.nicepng.com/png/full/233-2333823_medieval-lance-medieval-lance-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"piercing","properties":"Reach, Two-Handed (unless mounted)","mastery":"Topple","tags":"weapon,melee,lance,martial,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"0930","blueprint":"In Handout","name":"Nine Lives Stealer Light Crossbow","displayName":"Nine Lives Stealer Light C.bow","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":5,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426042/qlMNlNefYALtahnKxpQ7sQ/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,light crossbow,simple,loading","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0931","blueprint":"In Handout","name":"Nine Lives Stealer Light Hammer","displayName":"Nine Lives Stealer L. Hammer","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/531/623/small/bronze-hammer-with-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"bludgeoning","properties":"Light, Thrown","mastery":"Nick","tags":"weapon,melee,light hammer,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0932","blueprint":"In Handout","name":"Nine Lives Stealer Longbow","displayName":"Nine Lives Stealer Longbow","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/066/338/067/small/traditional-wooden-longbow-on-transparent-background-ready-to-shoot-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"piercing","properties":"Ammunition, Heavy, Two-Handed","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0933","blueprint":"In Handout","name":"Nine Lives Stealer Longsword","displayName":"Nine Lives Stealer Longsword","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/bouldersandbarbarians/images/3/34/Longsword.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"slashing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,longsword,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0934","blueprint":"In Handout","name":"Nine Lives Stealer Mace","displayName":"Nine Lives Stealer Mace","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414446769/zsAWAZvxPstmr7QHhCxxnw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"bludgeoning","properties":"","mastery":"Sap","tags":"weapon,melee,mace,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0935","blueprint":"In Handout","name":"Nine Lives Stealer Maul","displayName":"Nine Lives Stealer Maul","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/089/199/small/metal-hammer-with-long-wooden-handle-isolated-on-transparent-background-png.png","effect":"","diceCount":2,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"2d6+2","damageType":"bludgeoning","properties":"Heavy, Two-Handed","mastery":"Topple","tags":"weapon,melee,maul,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0936","blueprint":"In Handout","name":"Nine Lives Stealer Morningstar","displayName":"Nine Lives Stealer Morningstar","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://cdn3d.iconscout.com/3d/premium/thumb/morningstar-weapon-3d-icon-png-download-3956050.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"piercing","properties":"","mastery":"Sap","tags":"weapon,melee,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0937","blueprint":"In Handout","name":"Nine Lives Stealer Musket","displayName":"Nine Lives Stealer Musket","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":10,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://palworld.wiki.gg/images/Musket_icon.png","effect":"","diceCount":1,"diceSide":12,"bonus":2,"rollBonus":2,"area":"single","damage":"1d12+2","damageType":"piercing","properties":"Ammunition, Loading, Two-Handed","mastery":"Slow","tags":"weapon,ranged,musket,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"40/120","consumableRange":"40/120","questItem":false},{"id":"0938","blueprint":"In Handout","name":"Nine Lives Stealer Pike","displayName":"Nine Lives Stealer Pike","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0939","blueprint":"In Handout","name":"Nine Lives Stealer Pistol","displayName":"Nine Lives Stealer Pistol","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"","diceCount":1,"diceSide":10,"bonus":2,"rollBonus":2,"area":"single","damage":"1d10+2","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0940","blueprint":"In Handout","name":"Nine Lives Stealer Quarterstaff","displayName":"Nine Lives Stealer Quarterstaff","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0941","blueprint":"In Handout","name":"Nine Lives Stealer Rapier","displayName":"Nine Lives Stealer Rapier","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0942","blueprint":"In Handout","name":"Nine Lives Stealer Scimitar","displayName":"Nine Lives Stealer Scimitar","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/skyrim_gamepedia/images/e/e5/Scimitar.png\n\n","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"slashing","properties":"Finesse, Light","mastery":"Nick","tags":"weapon,melee,scimitar,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0943","blueprint":"In Handout","name":"Nine Lives Stealer Shortbow","displayName":"Nine Lives Stealer Shortbow","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/533/515/small_2x/archer-aiming-bow-and-arrow-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"piercing","properties":"Ammunition, Two-Handed","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0944","blueprint":"In Handout","name":"Nine Lives Stealer Shortsword","displayName":"Nine Lives Stealer Shortsword","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/saga-of-survival/images/c/ca/Short_Sword.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"piercing","properties":"Finesse, Light","mastery":"Vex","tags":"weapon,melee,martial,shortsword","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0945","blueprint":"In Handout","name":"Nine Lives Stealer Sickle","displayName":"Nine Lives Stealer Sickle","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367666532/HPkC-8FbpLDyLiWO9FWtMw/original.png","effect":"damage","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"slashing","properties":"Light","mastery":"Nick","tags":"weapon,melee,sickle,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0946","blueprint":"In Handout","name":"Nine Lives Stealer Sling","displayName":"Nine Lives Stealer Sling","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406426077/eAfErfmn_jXuwhx54AEmdg/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"bludgeoning","properties":"Ammunition","mastery":"Slow","tags":"weapon,ranged,sling,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/120","consumableRange":"30/120","questItem":false},{"id":"0947","blueprint":"In Handout","name":"Nine Lives Stealer Spear","displayName":"Nine Lives Stealer Spear","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/057/534/084/small/spear-fishing-underwater-scene-on-transparent-background-png.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Sap","tags":"weapon,melee,spear,simple,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0948","blueprint":"In Handout","name":"Nine Lives Stealer Trident","displayName":"Nine Lives Stealer Trident","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/059/486/833/non_2x/ornate-bronze-trident-mythological-weapon-fantasy-game-asset-3d-model-free-png.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"piercing","properties":"Thrown, Versatile","mastery":"Topple","tags":"weapon,melee,trident,martial,thrown","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20/60","consumableRange":"20/60","questItem":false},{"id":"0949","blueprint":"In Handout","name":"Nine Lives Stealer War Pick","displayName":"Nine Lives Stealer War Pick","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413737095/5UW_PVQAJh8-CNFjKXz7ag/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"piercing","properties":"Versatile","mastery":"Sap","tags":"weapon,melee,war pick,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0950","blueprint":"In Handout","name":"Nine Lives Stealer Warhammer","displayName":"Nine Lives Stealer Warhammer","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.clipartmax.com/png/full/107-1077361_medieval-warhammer-two-handed-warhammer-weapon.png","effect":"","diceCount":1,"diceSide":8,"bonus":2,"rollBonus":2,"area":"single","damage":"1d8+2","damageType":"bludgeoning","properties":"Versatile","mastery":"Push","tags":"weapon,melee,warhammer,martial","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0951","blueprint":"In Handout","name":"Nine Lives Stealer Whip","displayName":"Nine Lives Stealer Whip","description":"You gain a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nLife Stealing. The weapon has 1d8 + 1 charges. When you attack a creature that has fewer than 100 Hit Points with this weapon and roll a 20 on the d20 for the attack roll, the creature must succeed on a DC 15 Constitution saving throw or be slain instantly as the sword tears its life force from its body. Constructs and Undead succeed on the save automatically. The weapon loses 1 charge if the creature is slain. When the weapon has no charges remaining, it loses this property.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429287/xO0K3hV-oEysYm0ImYTd6A/original.png","effect":"","diceCount":1,"diceSide":4,"bonus":2,"rollBonus":2,"area":"single","damage":"1d4+2","damageType":"slashing","properties":"Finesse, Reach","mastery":"Slow","tags":"weapon,melee,whip,martial,finesse,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0952","blueprint":"In Handout","name":"Oathbow Longbow","displayName":"Oathbow Longbow","description":"When you nock an arrow on this bow, it whispers in Elvish, “Swift defeat to my enemies.” When you use this weapon to make a ranged attack, you can utter or sign the following command words: “Swift death to you who have wronged me.” The target of your attack becomes your sworn enemy until it dies or until dawn 7 days later. You can have only one such sworn enemy at a time. When your sworn enemy dies, you can choose a new one after the next dawn.\n\nWhen you make a ranged attack roll with this weapon against your sworn enemy, you have Advantage on the roll. In addition, your target gains no benefit from Half Cover or Three-Quarters Cover, and you suffer no Disadvantage due to long range. If the attack hits, your sworn enemy takes an extra 3d6 Piercing damage.\n\nWhile your sworn enemy lives, you have Disadvantage on attack rolls with all other weapons.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414439110/eZa2fBQGTYOj4rkVH-qGig/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Ammunition, Heavy, Two-Handed","mastery":"Slow","tags":"weapon,ranged,longbow,martial,heavy","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"150/600","consumableRange":"150/600","questItem":false},{"id":"0953","blueprint":"In Handout","name":"Oathbow Shortbow","displayName":"Oathbow Shortbow","description":"When you nock an arrow on this bow, it whispers in Elvish, “Swift defeat to my enemies.” When you use this weapon to make a ranged attack, you can utter or sign the following command words: “Swift death to you who have wronged me.” The target of your attack becomes your sworn enemy until it dies or until dawn 7 days later. You can have only one such sworn enemy at a time. When your sworn enemy dies, you can choose a new one after the next dawn.\n\nWhen you make a ranged attack roll with this weapon against your sworn enemy, you have Advantage on the roll. In addition, your target gains no benefit from Half Cover or Three-Quarters Cover, and you suffer no Disadvantage due to long range. If the attack hits, your sworn enemy takes an extra 3d6 Piercing damage.\n\nWhile your sworn enemy lives, you have Disadvantage on attack rolls with all other weapons.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Ranged Weapon","subtype":"Two-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414439110/eZa2fBQGTYOj4rkVH-qGig/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"piercing","properties":"Ammunition, Two-Handed","mastery":"Vex","tags":"weapon,ranged,shortbow,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"80/320","consumableRange":"80/320","questItem":false},{"id":"0954","blueprint":"In Handout","name":"Obsidian Steed Figurine of Wondrous Power","displayName":"Obsidian Steed Fig. of W. P.","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nObsidian Steed. This polished obsidian horse can become a Nightmare for up to 24 hours. The nightmare fights only to defend itself. Once it has been used, it can’t be used again until 5 days have passed.\n\nThe figurine has a 10 percent chance each time you use it to ignore your orders, including a command to revert to figurine form. If you mount the nightmare while it is ignoring your orders, you and the nightmare are instantly transported to a random location on the plane of Hades, where the nightmare reverts to figurine form.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414505784/YQAnrBJzUSbhFWrkhrtvBQ/original.png","effect":"Become a living creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0955","blueprint":"In Handout","name":"Oil of Etherealness","displayName":"Oil of Etherealness","description":"Potion, Rare\n\nOne vial of this oil can cover one Medium or smaller creature, along with the equipment it’s wearing and carrying (one additional vial is required for each size category above Medium). Applying the oil takes 10 minutes. The affected creature then gains the effect of the Etherealness spell for 1 hour.\n\nBeads of this cloudy, gray oil form on the outside of its container and quickly evaporate.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://img.ttg.club/item_magic/Oil_of_etherealness.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0956","blueprint":"In Handout","name":"Oil of Sharpness","displayName":"Oil of Sharpness","description":"Potion, Very Rare\n\nOne vial of this oil can coat one Melee weapon or twenty pieces of ammunition, but only ammunition and Melee weapons that are nonmagical and deal Slashing or Piercing damage are affected. Applying the oil takes 1 minute, after which the oil magically seeps into whatever it coats, turning the coated weapon into a +3 Weapon or the coated ammunition into +3 Ammunition.\n\nThis clear, gelatinous oil sparkles with tiny, ultrathin silver shards.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/b/b8/COAT_Oil_of_Sharpness_Faded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0957","blueprint":"In Handout","name":"Oil of Slipperiness","displayName":"Oil of Slipperiness","description":"Potion, Uncommon\n\nOne vial of this oil can cover one Medium or smaller creature, along with the equipment it’s wearing and carrying (one additional vial is required for each size category above Medium). Applying the oil takes 10 minutes. The affected creature then gains the effect of the Freedom of Movement spell for 8 hours.\n\nAlternatively, the oil can be poured on the ground as a Magic action, where it covers a 10-foot square, duplicating the effect of the Grease spell in that area for 8 hours.\n\nThis sticky, black unguent is thick and heavy, but it flows quickly when poured.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://oldguard-rp.com/wp-content/uploads/2022/06/Oil-of-Slipperiness.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0958","blueprint":"In Handout","name":"Onyx Dog Figurine of Wondrous Power","displayName":"Onyx Dog Fig. of W. P.","description":"A Figurine of Wondrous Power is a statuette small enough to fit in a pocket. If you take a Magic action to throw the figurine to a point on the ground within 60 feet of yourself, the figurine becomes a living creature specified in the figurine’s description below. If the space where the creature would appear is occupied by other creatures or objects, or if there isn’t enough space for the creature, the figurine doesn’t become a creature.\n\nThe creature is Friendly to you and your allies. It understands your languages, obeys your commands, and takes its turn immediately after you on your Initiative count. If you issue no commands, the creature defends itself but takes no other actions.\n\nThe creature exists for a duration specific to each figurine. At the end of the duration, the creature reverts to its figurine form. It reverts to a figurine early if its creature form drops to 0 Hit Points or if you take a Magic action while touching the creature to make it revert to figurine form. When the creature becomes a figurine again, its property can’t be used again until a certain amount of time has passed, as specified in the figurine’s description.\n\nOnyx Dog. This onyx statuette of a dog can become a Mastiff for up to 6 hours. The mastiff has an Intelligence of 8 and can speak Common. It also has Blindsight with a range of 60 feet. Once it has been used, it can’t be used again until 7 days have passed.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414505915/uGQF3LWTZKU1eNCYt94f9g/original.png","effect":"Becomes a living creature.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"0959","blueprint":"In Handout","name":"Padded Armor of Acid Resistance","displayName":"Padded Armor of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0960","blueprint":"In Handout","name":"Padded Armor of Cold Resistance","displayName":"Padded Armor of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0961","blueprint":"In Handout","name":"Padded Armor of Fire Resistance","displayName":"Padded Armor of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0962","blueprint":"In Handout","name":"Padded Armor of Force Resistance","displayName":"Padded Armor of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0963","blueprint":"In Handout","name":"Padded Armor of Lightning Resistance","displayName":"Padded Armor of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0964","blueprint":"In Handout","name":"Padded Armor of Necrotic Resistance","displayName":"Padded Armor of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0965","blueprint":"In Handout","name":"Padded Armor of Poison Resistance","displayName":"Padded Armor of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0966","blueprint":"In Handout","name":"Padded Armor of Psychic Resistance","displayName":"Padded Armor of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0967","blueprint":"In Handout","name":"Padded Armor of Radiant Resistance","displayName":"Padded Armor of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0968","blueprint":"In Handout","name":"Padded Armor of Thunder Resistance","displayName":"Padded Armor of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0969","blueprint":"In Handout","name":"Padded Armor of Vulnerability (Bludgeoning)","displayName":"Padded A. of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage, Vulnerability to slashing damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0970","blueprint":"In Handout","name":"Padded Armor of Vulnerability (Piercing)","displayName":"Padded Armor of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to slashing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0971","blueprint":"In Handout","name":"Padded Armor of Vulnerability (Slashing)","displayName":"Padded Armor of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":8,"AC":11,"modifier":"Dex","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Light Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406429996/1rdlfs4g6LVkLkpWwf66Pg/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,light,padded","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0972","blueprint":"In Handout","name":"Pearl of Power","displayName":"Pearl of Power","description":"While this pearl is on your person, you can take a Magic action to regain one expended spell slot of level 3 or lower. Once you use the pearl, it can’t be used again until the next dawn.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/a/ad/Pearl_of_Power_Amulet_Icon.png","effect":"Regain one Spell slot of level 3 or lower.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0973","blueprint":"In Handout","name":"Periapt of Health","displayName":"Periapt of Health","description":"While wearing this pendant, you can take a Magic action to regain 2d4 + 2 Hit Points. Once used, this property can’t be used again until the next dawn.\n\nIn addition, you have Advantage on saving throws to avoid or end the Poisoned condition while you wear this pendant.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/2/27/Amulet_of_Greater_Health_Icon.png/300px-Amulet_of_Greater_Health_Icon.png.webp","effect":"heal","diceCount":2,"diceSide":4,"bonus":2,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0974","blueprint":"In Handout","name":"Periapt of Proof against Poison","displayName":"Periapt of Proof against Poison","description":"This delicate silver chain has a brilliant-cut black gem pendant. While you wear it, you have Immunity to the Poisoned condition and Poison damage.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.wikia.nocookie.net/forgottenrealms/images/4/47/Caustic_Band.png","effect":"Immunity to the Poisoned condition damage, Immunity to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0975","blueprint":"In Handout","name":"Periapt of Wound Closure","displayName":"Periapt of Wound Closure","description":"While wearing this pendant, you gain the following benefits.\n\nLife Preservation. Whenever you make a Death Saving Throw, you can change a roll of 9 or lower to a 10, turning a failed save into a successful one.\n\nNatural Healing Boost. Whenever you roll a Hit Point Die to regain Hit Points, double the number of Hit Points it restores.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/3/36/Periapt_of_Wound_Closure_Icon.png/300px-Periapt_of_Wound_Closure_Icon.png.webp","effect":"Use Life Preservation. or Natural Healing Boost.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0976","blueprint":"In Handout","name":"Philter of Love","displayName":"Philter of Love","description":"The next time you see a creature within 10 minutes after drinking this philter, you are charmed by that creature and have the Charmed condition for 1 hour.\n\nThis rose-hued, effervescent liquid contains one easy-to-miss bubble shaped like a heart.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/072/182/970/small/romantic-heart-shaped-love-potion-bottle-with-red-liquid-magic-fantasy-elixir-for-romance-isolated-container-evokes-passion-and-desire-on-transparency-background-png.png","effect":"Inflicts the Charmed condition on a creature.\n","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0977","blueprint":"In Handout","name":"Pike of Warning","displayName":"Pike of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":18,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"Two-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://gbf.wiki/images/thumb/2/2e/Weapon_b_1010200000.png/462px-Weapon_b_1010200000.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"piercing","properties":"Heavy, Reach, Two-Handed","mastery":"Push","tags":"weapon,melee,pike,martial,heavy,reach","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10 ft","consumableRange":"10 ft","questItem":false},{"id":"0978","blueprint":"In Handout","name":"Pipes of Haunting","displayName":"Pipes of Haunting","description":"These pipes have 3 charges and regain 1d3 expended charges daily at dawn. You can take a Magic action to play them and expend 1 charge to create an eerie, spellbinding tune. Each creature of your choice within 30 feet of you must succeed on a DC 15 Wisdom saving throw or have the Frightened condition for 1 minute. A creature that fails the save repeats it at the end of each of its turns, ending the effect on itself on a success. A creature that succeeds on its save is immune to the effect of these pipes for 24 hours.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414435039/d-2x8xlIiXsW0ezmo8lvUw/original.png","effect":"Expend 1 charge to create an eerie.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Summoning","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"30 ft","consumableRange":"30 ft","questItem":false},{"id":"0979","blueprint":"In Handout","name":"Pipes of the Sewers","displayName":"Pipes of the Sewers","description":"While these pipes are on your person, ordinary rats and giant rats are Indifferent toward you and won’t attack you unless you threaten or harm them.\n\nThe pipes have 3 charges and regain 1d3 expended charges daily at dawn. If you play the pipes as a Magic action, you can take a Bonus Action to expend 1 to 3 charges, calling forth one Swarm of Rats with each expended charge if enough rats are within half a mile of you to be called in this fashion (as determined by the GM). If there aren’t enough rats to form a swarm, the charge is wasted. Called swarms move toward the music by the shortest available route but aren’t under your control otherwise.\n\nWhenever a Swarm of Rats that isn’t under another creature’s control comes within 30 feet of you while you are playing the pipes, the swarm makes a DC 15 Wisdom saving throw. On a successful save, the swarm behaves as it normally would and can’t be swayed by the pipes’ music for the next 24 hours. On a failed save, the swarm is swayed by the pipes’ music and becomes Friendly to you and your allies for as long as you continue to play the pipes each round as a Magic action. A Friendly swarm obeys your commands. If you issue no commands to a Friendly swarm, it defends itself but otherwise takes no actions. If a Friendly swarm starts its turn more than 30 feet away from you, your control over that swarm ends, and the swarm behaves as it normally would and can’t be swayed by the pipes’ music for the next 24 hours.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/714/1000/1000/638657413878730079.png","effect":"Expend 1 charge to call one swarm of rats.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"30ft","consumableRange":"30ft","questItem":false},{"id":"0980","blueprint":"In Handout","name":"Pistol of Warning","displayName":"Pistol of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Ranged Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/073/876/437/small/elegant-antique-pistol-showcasing-intricate-design-and-craftsmanship-from-the-18th-century-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":10,"bonus":0,"rollBonus":0,"area":"single","damage":"1d10","damageType":"piercing","properties":"Ammunition, Loading","mastery":"Vex","tags":"weapon,ranged,pistol,martial-ranged-weapons,mundane","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30/90","consumableRange":"30/90","questItem":false},{"id":"0981","blueprint":"In Handout","name":"Plate Armor of Acid Resistance","displayName":"Plate Armor of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0982","blueprint":"In Handout","name":"Plate Armor of Cold Resistance","displayName":"Plate Armor of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0983","blueprint":"In Handout","name":"Plate Armor of Etherealness","displayName":"Plate Armor of Etherealness","description":"While you’re wearing this armor, you can take a Magic action and use a command word to gain the effect of the Etherealness spell. The spell ends immediately if you remove the armor or take a Magic action to repeat the command word. This property of the armor can’t be used again until the next dawn.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0984","blueprint":"In Handout","name":"Plate Armor of Fire Resistance","displayName":"Plate Armor of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0985","blueprint":"In Handout","name":"Plate Armor of Force Resistance","displayName":"Plate Armor of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0986","blueprint":"In Handout","name":"Plate Armor of Lightning Resistance","displayName":"Plate Armor of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0987","blueprint":"In Handout","name":"Plate Armor of Necrotic Resistance","displayName":"Plate Armor of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0988","blueprint":"In Handout","name":"Plate Armor of Poison Resistance","displayName":"Plate Armor of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0989","blueprint":"In Handout","name":"Plate Armor of Psychic Resistance","displayName":"Plate Armor of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0990","blueprint":"In Handout","name":"Plate Armor of Radiant Resistance","displayName":"Plate Armor of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0991","blueprint":"In Handout","name":"Plate Armor of Thunder Resistance","displayName":"Plate Armor of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0992","blueprint":"In Handout","name":"Plate Armor of Vulnerability (Bludgeoning)","displayName":"Plate A. of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage, Vulnerability to slashing damage, Vulnerability to piercing damage, Cursed Armor","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0993","blueprint":"In Handout","name":"Plate Armor of Vulnerability (Piercing)","displayName":"Plate Armor of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to slashing damage, Cursed Armor","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0994","blueprint":"In Handout","name":"Plate Armor of Vulnerability (Slashing)","displayName":"Plate Armor of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":65,"AC":18,"modifier":"","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to piercing damage, Cursed Armor","requirement":"STR 15","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/063/129/981/small/ornate-royal-knight-armor-suit-isolated-on-transparent-background-png.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage, Strength Requirement","mastery":"","tags":"armor,heavy,plate","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0995","blueprint":"In Handout","name":"Portable Hole","displayName":"Portable Hole","description":"This fine black cloth, soft as silk, is folded up to the dimensions of a handkerchief. It unfolds into a circular sheet 6 feet in diameter.\n\nYou can take a Magic action to unfold a Portable Hole and place it on or against a solid surface, whereupon the Portable Hole creates an extradimensional hole 10 feet deep. The cylindrical space within the hole exists on a different plane of existence, so it can’t be used to create open passages. Any creature inside an open Portable Hole can exit the hole by climbing out of it.\n\nYou can take a Magic action to close a Portable Hole by taking hold of the edges of the cloth and folding it up. Folding the cloth closes the hole, and any creatures or objects within remain in the extradimensional space. No matter what’s in it, the hole weighs next to nothing.\n\nIf the hole is folded up, a creature within the hole’s extradimensional space can take an action to make a DC 10 Strength (Athletics) check. On a successful check, the creature forces its way out and appears within 5 feet of the Portable Hole. A closed Portable Hole holds enough air for 1 hour of breathing, divided by the number of breathing creatures inside.\n\nPlacing a Portable Hole inside an extradimensional space created by a Bag of Holding, Handy Haversack, or similar item instantly destroys both items and opens a gate to the Astral Plane. The gate originates where the one item was placed inside the other. Any creature within 10 feet of the gate and not behind Total Cover is sucked through it and deposited in a random location on the Astral Plane. The gate then closes. The gate is one-way only and can’t be reopened.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/052/649/359/small/flowing-black-fabric-draping-gracefully-in-mid-air-png.png","effect":"Open a portable hole.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0996","blueprint":"In Handout","name":"Potion of Acid Resistance","displayName":"P. of Acid Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Acid damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/elixir_of_acid_resistance-baldurs-gate-3-wiki-guide.png","effect":"Resistance to acid damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"self","consumableRange":"self","questItem":false},{"id":"0997","blueprint":"In Handout","name":"Potion of Clairvoyance","displayName":"Potion of Clairvoyance","description":"When you drink this potion, you gain the effect of the Clairvoyance spell (no Concentration required).\n\nAn eyeball bobs in this potion’s yellowish liquid but vanishes when the potion is opened.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/046/646/973/small_2x/magic-potion-bottle-with-eye-for-halloween-png.png","effect":"Gain Clairvoyance spell effects.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0998","blueprint":"In Handout","name":"Potion of Cold Resistance","displayName":"P. of Cold Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Cold damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/b/bc/ELX_Elixir_of_Cold_Resistance_Faded.png/300px-ELX_Elixir_of_Cold_Resistance_Faded.png.webp","effect":"Resistance to cold damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"0999","blueprint":"In Handout","name":"Potion of Fire Resistance","displayName":"Potion of Fire Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Fire damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/8/84/ELX_Elixir_of_Fire_Resistance_Faded.png/300px-ELX_Elixir_of_Fire_Resistance_Faded.png.webp","effect":"Resistance to fire damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1000","blueprint":"In Handout","name":"Potion of Force Resistance","displayName":"Potion of Force Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Force damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/elixir_of_force_resistance-baldurs-gate-3-wiki-guide.png","effect":"Resistance to force damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1001","blueprint":"In Handout","name":"Potion of Gaseous Form","displayName":"Potion of Gaseous Form","description":"When you drink this potion, you gain the effect of the Gaseous Form spell for 1 hour (no Concentration required) or until you end the effect as a Bonus Action.\n\nThis potion’s container seems to hold fog that moves and pours like water.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/c/cb/POT_Potion_of_Gaseous_Form_Faded.png/300px-POT_Potion_of_Gaseous_Form_Faded.png.webp","effect":"Gain the Gaseous Form spell effect for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1002","blueprint":"In Handout","name":"Potion of Invulnerability","displayName":"Potion of Invulnerability","description":"For 1 minute after you drink this potion, you have Resistance to all damage.\n\nThis potion’s syrupy liquid looks like liquefied iron.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/0/08/POT_Potion_Invulnerability_Faded.png","effect":"Resistance to all damage for 1 minute.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1003","blueprint":"In Handout","name":"Potion of Lightning Resistance","displayName":"P. of Lightning Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Lightning damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/e/eb/ELX_Elixir_of_Lightning_Resistance_Faded.png","effect":"Resistance to lightning damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1004","blueprint":"In Handout","name":"Potion of Mind Reading","displayName":"Potion of Mind Reading","description":"When you drink this potion, you gain the effect of the Detect Thoughts spell (save DC 13) for 10 minutes (no Concentration required).\n\nThis potion’s dense, purple liquid has an ovoid cloud of pink floating in it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/potion_of_mind_reading_baldurs_gate_3_wiki_guide_150px.png","effect":"Gain the effect of the Detect Thoughts spell for 10 minutes.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1005","blueprint":"In Handout","name":"Potion of Necrotic Resistance","displayName":"Potion of Necrotic R.","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Necrotic damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/6/6e/ELX_Elixir_of_Necrotic_Resistance_Faded.png","effect":"Resistance to necrotic damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1006","blueprint":"In Handout","name":"Potion of Poison","displayName":"Potion of Poison","description":"This concoction looks, smells, and tastes like a Potion of Healing or another beneficial potion. However, it is actually poison masked by illusion magic. Identify reveals its true nature.\n\nIf you drink this potion, you take 4d6 Poison damage and must succeed on a DC 13 Constitution saving throw or have the Poisoned condition for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/6/61/COAT_Karabasan%27s_Poison_Faded.png/300px-COAT_Karabasan%27s_Poison_Faded.png.webp","effect":"damage","diceCount":4,"diceSide":6,"bonus":0,"rollBonus":0,"area":"","damage":"4d6","damageType":"poison","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1007","blueprint":"In Handout","name":"Potion of Poison Resistance","displayName":"P. of Poison Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Poison damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/elixir_of_poison_resistance_icon.png","effect":"Resistance to poison damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1008","blueprint":"In Handout","name":"Potion of Psychic Resistance","displayName":"P. of Psychic Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Psychic damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/7/73/ELX_Elixir_of_Psychic_Resistance_Faded.png","effect":"Resistance to psychic damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1009","blueprint":"In Handout","name":"Potion of Radiant Resistance","displayName":"P. of Radiant Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Radiant damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/8/84/ELX_Elixir_of_Radiant_Resistance_Faded.png","effect":"Resistance to radiant damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":true,"usable":true,"useTarget":true,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1010","blueprint":"In Handout","name":"Potion of Thunder Resistance","displayName":"P. of Thunder Resistance","description":"Potion, Uncommon\n\nWhen you drink this potion, you have Resistance to Thunder damage for 1 hour.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Potion","subtype":"Potion","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/2/22/ELX_Elixir_of_Thunder_Resistance_Faded.png","effect":"Resistance to thunder damage for 1 hour.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1011","blueprint":"In Handout","name":"Quarterstaff of the Acrobat","displayName":"Quarterstaff of the Acrobat","description":"You have a +2 bonus to attack rolls and damage rolls made with this magic weapon.\n\nWhile holding this weapon, you can cause it to emit green Dim Light out to 10 feet, either as a Bonus Action or after you roll Initiative, or you can extinguish the light as a Bonus Action.\n\nWhile holding this weapon, you can take a Bonus Action to alter its form, turning it into a 6-inch rod (for ease of storage) or a 10-foot pole, or reverting it a Quarterstaff; the weapon will elongate only as far as the surrounding space allows.\n\nIn certain forms, the weapon has the following additional properties.\n\nAcrobatic Assist (Quarterstaff or 10-Foot Pole Forms Only). While holding this weapon, you have Advantage on Dexterity (Acrobatics) checks.\n\nAttack Deflection (Quarterstaff Form Only). When you are hit by an attack while holding the weapon, you can take a Reaction to twirl the weapon around you, gaining a +5 bonus to your Armor Class against the triggering attack, potentially causing the attack to miss you. You can’t use this property again until you finish a Short or Long Rest.\n\nRanged Weapon (Quarterstaff Form Only). This weapon has the Thrown property with a normal range of 30 feet and a long range of 120 feet. Immediately after you make a ranged attack with the weapon, it flies back to your hand.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414423162/k6xqj76wOTe_4cByxt7ynw/original.png","effect":"","diceCount":1,"diceSide":6,"bonus":2,"rollBonus":2,"area":"single","damage":"1d6+2","damageType":"bludgeoning","properties":"Versatile, Thrown","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1012","blueprint":"In Handout","name":"Quarterstaff of Warning","displayName":"Quarterstaff of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/049/897/184/small_2x/wooden-wand-with-ornate-carved-tip-png.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":6,"bonus":0,"rollBonus":0,"area":"single","damage":"1d6","damageType":"bludgeoning","properties":"Versatile","mastery":"Topple","tags":"weapon,melee,quarterstaff,simple","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1013","blueprint":"In Handout","name":"Rapier of Life Stealing","displayName":"Rapier of Life Stealing","description":"When you attack a creature with this magic weapon and roll a 20 on the d20 for the attack roll, that target takes an extra 15 Necrotic damage if it isn’t a Construct or an Undead, and you gain Temporary Hit Points equal to the amount of Necrotic damage taken.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1014","blueprint":"In Handout","name":"Rapier of Warning","displayName":"Rapier of Warning","description":"As long as this weapon is within your reach and you are attuned to it, you and allies within 30 feet of you gain the following benefits.\n\nAlarm. The weapon magically awakens each subject who is sleeping naturally when combat begins. This benefit doesn’t wake a subject from magically induced sleep.\n\nSupernatural Readiness. Each subject has Advantage on its Initiative rolls.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"Awakens each subject who is sleeping naturally when combat begins. gives Advantage on Initiative rolls.","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1015","blueprint":"In Handout","name":"Rapier of Wounding","displayName":"Rapier of Wounding","description":"When you hit a creature with an attack using this magic weapon, the target takes an extra 2d6 Necrotic damage and must succeed on a DC 15 Constitution saving throw or be unable to regain Hit Points for 1 hour. The target repeats the save at the end of each of its turns, ending the effect on itself on a success.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Martial Melee Weapon","subtype":"One-Handed","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/367710968/XMqEcqpJZinS3wcCcDmbmg/original.png","effect":"","diceCount":1,"diceSide":8,"bonus":0,"rollBonus":0,"area":"single","damage":"1d8","damageType":"piercing","properties":"Finesse","mastery":"Vex","tags":"weapon,melee,rapier,martial,finesse","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"5 ft","consumableRange":"5 ft","questItem":false},{"id":"1016","blueprint":"In Handout","name":"Red Dragon Scale Mail","displayName":"Red Dragon Scale Mail","description":"Red Dragon Scale Mail is made of the scales of a red dragon. Sometimes dragons collect their cast-off scales and gift them. Other times, hunters carefully preserve the hide of a dead dragon. In either case, Red Dragon Scale Mail is highly valued.\n\nWhile wearing this armor, you gain a +1 bonus to Armor Class, you have Advantage on saving throws against the breath weapons of Dragons, and you have Resistance to Fire damage.\n\nAdditionally, you can focus your senses as a Magic action to discern the distance and direction to the closest red dragon within 30 miles of yourself. This action can’t be used again until the next dawn.","quantity":0,"weight":45,"AC":"14+1","modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Medium Armor","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/169287448/ZU5aDTtiD9g3t6fuyfPudA/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1017","blueprint":"In Handout","name":"Ring Mail of Acid Resistance","displayName":"Ring Mail of Acid R.","description":"You have Resistance to Acid damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1018","blueprint":"In Handout","name":"Ring Mail of Cold Resistance","displayName":"Ring Mail of Cold R.","description":"You have Resistance to Cold damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1019","blueprint":"In Handout","name":"Ring Mail of Fire Resistance","displayName":"Ring Mail of Fire R.","description":"You have Resistance to Fire damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1020","blueprint":"In Handout","name":"Ring Mail of Force Resistance","displayName":"Ring Mail of Force R.","description":"You have Resistance to Force damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1021","blueprint":"In Handout","name":"Ring Mail of Lightning Resistance","displayName":"Ring Mail of Lightning R.","description":"You have Resistance to Lightning damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1022","blueprint":"In Handout","name":"Ring Mail of Necrotic Resistance","displayName":"Ring Mail of Necrotic R.","description":"You have Resistance to Necrotic damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1023","blueprint":"In Handout","name":"Ring Mail of Poison Resistance","displayName":"Ring Mail of Poison R.","description":"You have Resistance to Poison damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1024","blueprint":"In Handout","name":"Ring Mail of Psychic Resistance","displayName":"Ring Mail of Psychic R.","description":"You have Resistance to Psychic damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1025","blueprint":"In Handout","name":"Ring Mail of Radiant Resistance","displayName":"Ring Mail of Radiant R.","description":"You have Resistance to Radiant damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1026","blueprint":"In Handout","name":"Ring Mail of Thunder Resistance","displayName":"Ring Mail of Thunder R.","description":"You have Resistance to Thunder damage while you wear this armor.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1027","blueprint":"In Handout","name":"Ring Mail of Vulnerability (Bludgeoning)","displayName":"Ring Mail of V. (Bludgeoning)","description":"While wearing this armor, you have Resistance to Bludgeoning damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Slashing and Piercing damage.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage, Vulnerability to slashing damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to bludgeoning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1028","blueprint":"In Handout","name":"Ring Mail of Vulnerability (Piercing)","displayName":"Ring Mail of V. (Piercing)","description":"While wearing this armor, you have Resistance to Piercing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Slashing damage.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to slashing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to piercing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1029","blueprint":"In Handout","name":"Ring Mail of Vulnerability (Slashing)","displayName":"Ring Mail of V. (Slashing)","description":"While wearing this armor, you have Resistance to Slashing damage.\n\nCurse. This armor is cursed, a fact that is revealed only when the Identify spell is cast on the armor or you attune to it. Attuning to the armor curses you until you are targeted by a Remove Curse spell or similar magic; removing the armor fails to end the curse. While cursed, you have Vulnerability to Bludgeoning and Piercing damage.","quantity":0,"weight":40,"AC":14,"modifier":"","debuff":"Stealth Disadvantage, Vulnerability to bludgeoning damage, Vulnerability to piercing damage, Cursed Armor","requirement":"","type":"Armor","subtype":"Heavy Armor","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/406431226/5mhaO_taLkhjytoiqkBbSg/original.png","effect":"Resistance to slashing damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"single","damage":"","damageType":"","properties":"Stealth Disadvantage","mastery":"","tags":"armor,heavy,ring mail","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1030","blueprint":"In Handout","name":"Ring of Acid Resistance","displayName":"Ring of Acid Resistance","description":"You have Resistance to Acid damage while wearing this ring. The gemstone in the ring is a pearl.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to acid damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1031","blueprint":"In Handout","name":"Ring of Air Elemental Command","displayName":"Ring of Air Elem. Command","description":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\n\nEvery Ring of Elemental Command has the following two properties:\n\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\n\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring’s linked Elemental Plane:\n\nAir. You know Auran, you have Resistance to Lightning damage, and you have a Fly Speed equal to your Speed and can hover.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nPlane\n\nSpells (Charges)\n\nAir\n\nChain Lightning (3 charges), Feather Fall (0 charges), Gust of Wind (2 charges), Wind Wall (1 charge)","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414421171/_eG2bijYCRhWSrnejplGlg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1032","blueprint":"In Handout","name":"Ring of Animal Influence","displayName":"Ring of Animal Influence","description":"This ring has 3 charges, and it regains 1d3 expended charges daily at dawn. While wearing the ring, you can expend 1 charge to cast one of the following spells (save DC 13) from it:\n\nAnimal Friendship\n\nFear (affects Beasts only)\n\nSpeak with Animals","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://wa-cdn.nyc3.cdn.digitaloceanspaces.com/user-data/production/6a0201bf-7c1a-4af3-ab55-c43efb8c6c20/uploads/images/53f8522784f8b649c6def6a2b46e5947.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1033","blueprint":"In Handout","name":"Ring of Cold Resistance","displayName":"Ring of Cold Resistance","description":"You have Resistance to Cold damage while wearing this ring. The gemstone in the ring is a tourmaline.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to cold damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1034","blueprint":"In Handout","name":"Ring of Djinni Summoning","displayName":"Ring of Djinni Summoning","description":"While wearing this ring, you can take a Magic action to summon a particular Djinni from the Elemental Plane of Air. The djinni appears in an unoccupied space you choose within 120 feet of yourself. It remains as long as you maintain Concentration, to a maximum of 1 hour, or until it drops to 0 Hit Points.\n\nWhile summoned, the djinni is Friendly to you and your allies, and it obeys your commands. If you fail to command it, the djinni defends itself against attackers but takes no other actions.\n\nAfter the djinni departs, it can’t be summoned again for 24 hours, and the ring becomes nonmagical if the djinni dies.\n\nRings of Djinni Summoning are often created by the djinn they summon and given to mortals as gifts of friendship or tokens of esteem.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414422288/uoLSUQsKMeltCnHpr8kIWA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1035","blueprint":"In Handout","name":"Ring of Earth Elemental Command","displayName":"Ring of Earth Elem. Command","description":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\n\nEvery Ring of Elemental Command has the following two properties:\n\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\n\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring’s linked Elemental Plane:\n\nEarth. You know Terran, and you have Resistance to Acid damage. Terrain composed of rubble, rocks, or dirt isn’t Difficult Terrain for you. In addition, you can move through solid earth or rock as if those areas were Difficult Terrain without disturbing the matter through which you pass. If you end your turn in solid earth or rock, you are shunted out to the nearest unoccupied space you last occupied.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nPlane\n\nSpells (Charges)\n\nEarth\n\nEarthquake (5 charges), Stone Shape (2 charges), Stoneskin (3 charges), Wall of Stone (3 charges)","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://preview.redd.it/ring-of-elemental-command-dungeon-masters-guide-v0-nmca8mqz2c3c1.png?width=515&format=png&auto=webp&s=3057a945ba1b6ab8f9920b91bd37d8356b016fe7","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1036","blueprint":"In Handout","name":"Ring of Evasion","displayName":"Ring of Evasion","description":"This ring has 3 charges, and it regains 1d3 expended charges daily at dawn. When you fail a Dexterity saving throw while wearing the ring, you can take a Reaction to expend 1 charge to succeed on that save instead.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/c/c3/Ring_of_Evasion_Icon.png/300px-Ring_of_Evasion_Icon.png.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1037","blueprint":"In Handout","name":"Ring of Feather Falling","displayName":"Ring of Feather Falling","description":"When you fall while wearing this ring, you descend 60 feet per round and take no damage from falling.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Ring%20of%20Feather%20Falling.webp","effect":"Take no damage from falling.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1038","blueprint":"In Handout","name":"Ring of Fire Elemental Command","displayName":"Ring of Fire Elem. Command","description":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\n\nEvery Ring of Elemental Command has the following two properties:\n\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\n\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring’s linked Elemental Plane:\n\nFire. You know Ignan, and you have Immunity to Fire damage.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nPlane\n\nSpells (Charges)\n\nFire\n\nBurning Hands (1 charge), Fireball (2 charges), Fire Storm (4 charges), Wall of Fire (3 charges)","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/050/175/052/small/beautiful-fantasy-fire-ring-decorated-with-intricate-designs-displayed-on-a-transparent-background-png.png","effect":"Immunity to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1039","blueprint":"In Handout","name":"Ring of Fire Resistance","displayName":"Ring of Fire Resistance","description":"You have Resistance to Fire damage while wearing this ring. The gemstone in the ring is a garnet.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to fire damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1040","blueprint":"In Handout","name":"Ring of Force Resistance","displayName":"Ring of Force Resistance","description":"You have Resistance to Force damage while wearing this ring. The gemstone in the ring is a sapphire.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to force damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1041","blueprint":"In Handout","name":"Ring of Free Action","displayName":"Ring of Free Action","description":"While you wear this ring, Difficult Terrain doesn’t cost you extra movement. In addition, magic can neither reduce any of your Speeds nor cause you to have the Paralyzed or Restrained condition.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://baldursgate3.wiki.fextralife.com/file/Baldurs-Gate-3/ring_of_free_action_rings_bg3_wikiguide_150px.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1042","blueprint":"In Handout","name":"Ring of Invisibility","displayName":"Ring of Invisibility","description":"While wearing this ring, you can take a Magic action to give yourself the Invisible condition. You remain Invisible until the ring is removed or until you take a Bonus Action to become visible again.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414419666/QrpUuWbiRNxipwtAOC10cg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1043","blueprint":"In Handout","name":"Ring of Jumping","displayName":"Ring of Jumping","description":"While wearing this ring, you can cast Jump from it, but can target only yourself when you do so.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/thumb/3/3b/Ring_of_Jumping_Icon.png/300px-Ring_of_Jumping_Icon.png.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1044","blueprint":"In Handout","name":"Ring of Lightning Resistance","displayName":"Ring of Lightning Resistance","description":"Ring, Rare\n\nYou have Resistance to Lightning damage while wearing this ring. The gemstone in the ring is a citrine.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to lightning damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1045","blueprint":"In Handout","name":"Ring of Mind Shielding","displayName":"Ring of Mind Shielding","description":"While wearing this ring, you are immune to magic that allows other creatures to read your thoughts, determine whether you are lying, know your alignment, or know your creature type. Creatures can telepathically communicate with you only if you allow it.\n\nYou can take a Magic action to cause the ring to become imperceptible until you take another Magic action to make it perceptible, until you remove the ring, or until you die.\n\nIf you die while wearing the ring, your soul enters it, unless it already houses a soul. You can remain in the ring or depart for the afterlife. As long as your soul is in the ring, you can telepathically communicate with any creature wearing it. A wearer can’t prevent this telepathic communication.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414419410/m5-Ym5oVHx8SPM9MwsGcZA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1046","blueprint":"In Handout","name":"Ring of Necrotic Resistance","displayName":"Ring of Necrotic Resistance","description":"Ring, Rare\n\nYou have Resistance to Necrotic damage while wearing this ring. The gemstone in the ring is jet.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to necrotic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1047","blueprint":"In Handout","name":"Ring of Poison Resistance","displayName":"Ring of Poison Resistance","description":"Ring, Rare\n\nYou have Resistance to Poison damage while wearing this ring. The gemstone in the ring is an amethyst.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to poison damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1048","blueprint":"In Handout","name":"Ring of Protection","displayName":"Ring of Protection","description":"You gain a +1 bonus to Armor Class and saving throws while wearing this ring.","quantity":0,"weight":0,"AC":"+1","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Ring%20of%20Protection.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1049","blueprint":"In Handout","name":"Ring of Psychic Resistance","displayName":"Ring of Psychic Resistance","description":"Ring, Rare\n\nYou have Resistance to Psychic damage while wearing this ring. The gemstone in the ring is jade.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1050","blueprint":"In Handout","name":"Ring of Radiant Resistance","displayName":"Ring of Radiant Resistance","description":"Ring, Rare\n\nYou have Resistance to Radiant damage while wearing this ring. The gemstone in the ring is a topaz.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414419666/QrpUuWbiRNxipwtAOC10cg/original.png","effect":"Resistance to radiant damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1051","blueprint":"In Handout","name":"Ring of Regeneration","displayName":"Ring of Regeneration","description":"While wearing this ring, you regain 1d6 Hit Points every 10 minutes if you have at least 1 Hit Point. If you lose a body part, the ring causes the missing part to regrow and return to full functionality after 1d6 + 1 days if you have at least 1 Hit Point the whole time.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414418662/onZzVyaf3NBlKU_M-nZMZg/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1052","blueprint":"In Handout","name":"Ring of Shooting Stars","displayName":"Ring of Shooting Stars","description":"You can cast Dancing Lights or Light from the ring.\n\nThe ring has 6 charges and regains 1d6 expended charges daily at dawn. You can expend its charges to use the properties below.\n\nFaerie Fire. You can expend 1 charge to cast Faerie Fire from the ring.\n\nLightning Spheres. You can expend 2 charges as a Magic action to create up to four 3-foot-diameter spheres of lightning.\n\nEach sphere appears in an unoccupied space you can see within 120 feet of yourself. The spheres last as long as you maintain Concentration, up to 1 minute. Each sphere sheds Dim Light in a 30-foot radius.\n\nAs a Bonus Action, you can move each sphere up to 30 feet, but no farther than 120 feet away from yourself. The first time the sphere comes within 5 feet of a creature other than you that isn’t behind Total Cover, the sphere discharges lightning at that creature and disappears. That creature makes a DC 15 Dexterity saving throw. On a failed save, the creature takes Lightning damage based on the number of spheres you created, as shown in the following table. On a successful save, the creature takes half as much damage.\n\nNumber of Spheres\n\nLightning Damage\n\n1\n\n4d12\n\n2\n\n5d4\n\n3\n\n2d6\n\n4\n\n2d4","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414412815/6nf8lJTRq_uiUyfr8_VRCw/original.png","effect":"","diceCount":4,"diceSide":12,"bonus":0,"rollBonus":0,"area":"","damage":"4d12","damageType":"lightning","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"120ft","consumableRange":"120ft","questItem":false},{"id":"1053","blueprint":"In Handout","name":"Ring of Spell Storing","displayName":"Ring of Spell Storing","description":"This ring stores spells cast into it, holding them until the attuned wearer uses them. The ring can store up to 5 levels worth of spells at a time. When found, it contains 1d6 − 1 levels of stored spells chosen by the DM.\n\nAny creature can cast a spell of level 1 through 5 into the ring by touching the ring as the spell is cast. The spell has no effect other than to be stored in the ring. If the ring can’t hold the spell, the spell is expended without effect. The level of the slot used to cast the spell determines how much space it uses.\n\nWhile wearing this ring, you can cast any spell stored in it. The spell uses the slot level, spell save DC, spell attack bonus, and spellcasting ability of the original caster but is otherwise treated as if you cast the spell. The spell cast from the ring is no longer stored in it, freeing up space.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/49751/581/1000/1000/638853493510092000.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1054","blueprint":"In Handout","name":"Ring of Spell Turning","displayName":"Ring of Spell Turning","description":"While wearing this ring, you have Advantage on saving throws against spells. If you succeed on the save for a spell of level 7 or lower, the spell has no effect on you. If that spell targeted only you and didn’t create an area of effect, you can take a Reaction to deflect the spell back at the spell’s caster; the caster must make a saving throw against the spell using their own spell save DC.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Ring%20of%20Spell%20Turning.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1055","blueprint":"In Handout","name":"Ring of Swimming","displayName":"Ring of Swimming","description":"Ring, Uncommon\n\nYou have a Swim Speed of 40 feet while wearing this ring.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/055/180/653/non_2x/mystic-ring-water-magic-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1056","blueprint":"In Handout","name":"Ring of Telekinesis","displayName":"Ring of Telekinesis","description":"While wearing this ring, you can cast Telekinesis from it.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414411749/4SdCZZVIUayMMRy5xV2LXw/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1057","blueprint":"In Handout","name":"Ring of the Ram","displayName":"Ring of the Ram","description":"This ring has 3 charges and regains 1d3 expended charges daily at dawn. While wearing the ring, you can take a Magic action to expend 1 to 3 charges to make a ranged spell attack against one creature you can see within 60 feet of yourself. The ring produces a spectral ram’s head and makes its attack roll with a +7 bonus. On a hit, for each charge you spend, the target takes 2d10 Force damage and is pushed 5 feet away from you.\n\nAlternatively, you can expend 1 to 3 of the ring’s charges as a Magic action to try to break a nonmagical object you can see within 60 feet of yourself that isn’t being worn or carried. The ring makes a Strength check with a +5 bonus for each charge you spend.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414410994/bw66XDIKFQeztqzcn17Cww/original.png","effect":"","diceCount":2,"diceSide":10,"bonus":0,"rollBonus":0,"area":"","damage":"2d10","damageType":"force","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"1058","blueprint":"In Handout","name":"Ring of Three Wishes","displayName":"Ring of Three Wishes","description":"Ring, Legendary\n\nWhile wearing this ring, you can expend 1 of its 3 charges to cast Wish from it. The ring becomes nonmagical when you use the last charge.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/414410663/vX94fA5eKh3A6jKcg7SCTA/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1059","blueprint":"In Handout","name":"Ring of Thunder Resistance","displayName":"Ring of Thunder Resistance","description":"Ring, Rare\n\nYou have Resistance to Thunder damage while wearing this ring. The gemstone in the ring is a spinel.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://bg3.wiki/w/images/d/da/Ring_A_Simple_Gold_Faded.png","effect":"Resistance to thunder damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1060","blueprint":"In Handout","name":"Ring of Warmth","displayName":"Ring of Warmth","description":"If you take Cold damage while wearing this ring, the ring reduces the damage you take by 2d8.\n\nIn addition, while wearing this ring, you and everything you wear and carry are unharmed by temperatures of 0 degrees Fahrenheit or lower.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/765/1000/1000/638657413964795229.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1061","blueprint":"In Handout","name":"Ring of Water Elemental Command","displayName":"Ring of Water Elem. Command","description":"Each Ring of Elemental Command is linked to one of the four Elemental Planes. The DM chooses or randomly determines the linked plane. For example, a Ring of Elemental Command (air) is linked to the Elemental Plane of Air.\n\nEvery Ring of Elemental Command has the following two properties:\n\nElemental Bane. While wearing the ring, you have Advantage on attack rolls against Elementals and they have Disadvantage on attack rolls against you.\n\nElemental Compulsion. While wearing the ring, you can take a Magic action to try to compel an Elemental you see within 60 feet of yourself. The Elemental makes a DC 18 Wisdom saving throw. On a failed save, the Elemental has the Charmed condition until the start your next turn, and you determine what it does with its move and action on its next turn.\n\nElemental Focus. While wearing the ring, you benefit from additional properties corresponding to the ring’s linked Elemental Plane:\n\nWater. You know Aquan, you gain a Swim Speed of 60 feet, and you can breathe underwater.\n\nSpellcasting. The ring has 5 charges and regains 1d4 + 1 expended charges daily at dawn. While wearing the ring, you can cast a spell from it. Choose the spell from the list of available spells based on the Elemental Plane the ring is linked to, as shown in the following table. The table indicates how many charges you must expend to cast the spell, which has a save DC of 18.\n\nPlane\n\nSpells (Charges)\n\nWater\n\nCreate or Destroy Water (1 charge), Ice Storm (2 charges), Tsunami (5 charges), Wall of Ice (3 charges), Water Walk (2 charges)","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://preview.redd.it/ring-of-elemental-command-dungeon-masters-guide-v0-u7c68yfz2c3c1.png?width=569&format=png&auto=webp&s=cc917b3d167bbe282689c62bf47564be6815f116","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"60ft","consumableRange":"60ft","questItem":false},{"id":"1062","blueprint":"In Handout","name":"Ring of Water Walking","displayName":"Ring of Water Walking","description":"While wearing this ring, you cast Water Walk from it, targeting only yourself.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/767/1000/1000/638657413968576071.png","effect":"Cast water walk.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":true,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1063","blueprint":"In Handout","name":"Ring of X-ray Vision","displayName":"Ring of X-ray Vision","description":"While wearing this ring, you can take a Magic action to gain X-ray vision with a range of 30 feet for 1 minute. To you, solid objects within that radius appear transparent and don’t prevent light from passing through them. The vision can penetrate 1 foot of stone, 1 inch of common metal, or up to 3 feet of wood or dirt. Thicker substances or a thin sheet of lead block the vision.\n\nWhenever you use the ring again before taking a Long Rest, you must succeed on a DC 15 Constitution saving throw or gain 1 Exhaustion level.","quantity":0,"weight":0,"AC":"","modifier":"","debuff":"","requirement":"","type":"Ring","subtype":"Ring","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static0.hardcoregamerimages.com/wordpress/wp-content/uploads/2024/02/bg3-ring-h-gold-a-1-faded.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"30ft","consumableRange":"30ft","questItem":false},{"id":"1064","blueprint":"In Handout","name":"Robe of Eyes","displayName":"Robe of Eyes","description":"This robe is adorned with eyelike patterns. While you wear the robe, you gain the following benefits:\n\nAll-Around Vision. The robe gives you Advantage on Wisdom (Perception) checks that rely on sight.\n\nSpecial Senses. You have Darkvision and Truesight, both with a range of 120 feet.\n\nDrawbacks. A Light spell cast on the robe or a Daylight spell cast within 5 feet of the robe gives you the Blinded condition for 1 minute. At the end of each of your turns, you make a Constitution saving throw (DC 11 for Light or DC 15 for Daylight), ending the condition on yourself on a success.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://2e.aonprd.com/Images/Treasure/Robe_of_Eyes.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"120ft","consumableRange":"120ft","questItem":false},{"id":"1065","blueprint":"In Handout","name":"Robe of Scintillating Colors","displayName":"Robe of Scintillating Colors","description":"This robe has 3 charges, and it regains 1d3 expended charges daily at dawn. While you wear it, you can take a Magic action and expend 1 charge to cause the garment to display a shifting pattern of dazzling hues until the end of your next turn. During this time, the robe sheds Bright Light in a 30-foot radius and Dim Light for an additional 30 feet, and creatures that can see you have Disadvantage on attack rolls against you. Any creature in the Bright Light that can see you when the robe’s power is activated must succeed on a DC 15 Wisdom saving throw or have the Stunned condition until the effect ends.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/051/135/356/non_2x/a-colorful-robe-with-a-large-purple-and-yellow-design-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1066","blueprint":"In Handout","name":"Robe of Stars","displayName":"Robe of Stars","description":"This black or dark-blue robe is embroidered with small white or silver stars. You gain a +1 bonus to saving throws while you wear it.\n\nSix stars, located on the robe’s upper-front portion, are particularly large. While wearing this robe, you can take a Magic action to remove one of the stars and expend it to cast the level 5 version of Magic Missile. Daily at dusk, 1d6 removed stars reappear on the robe.\n\nWhile you wear the robe, you can take a Magic action to enter the Astral Plane along with everything you are wearing and carrying. You remain there until you take a Magic action to return to the plane you were on. You reappear in the last space you occupied or, if that space is occupied, the nearest unoccupied space.","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/776/1000/1000/638657413983552272.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1067","blueprint":"In Handout","name":"Robe of the Archmagi","displayName":"Robe of the Archmagi","description":"This elegant garment is made from exquisite cloth and adorned with runes.\n\nYou gain these benefits while wearing the robe.\n\nArmor. If you aren’t wearing armor, your base Armor Class is 15 plus your Dexterity modifier.\n\nMagic Resistance. You have Advantage on saving throws against spells and other magical effects.\n\nWar Mage. Your spell save DC and spell attack bonus each increase by 2.","quantity":0,"weight":4,"AC":15,"modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://i.redd.it/robe-of-the-archmagi-v0-y6mohydl2hn91.png?width=2048&format=png&auto=webp&s=2d73cc7bb06eb4ccecea4466bff381ddb0d418a0","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1068","blueprint":"In Handout","name":"Robe of Useful Items","displayName":"Robe of Useful Items","description":"This robe has cloth patches of various shapes and colors covering it. While wearing the robe, you can take a Magic action to detach one of the patches, causing it to become the object or creature it represents. Once the last patch is removed, the robe becomes an ordinary garment.\n\nThe robe has two of each of the following patches:\n\nBullseye Lantern (filled and lit)\n\nDagger\n\nMirror\n\nPole\n\nRope (coiled)\n\nSack\n\nIn addition, the robe has 4d4 other patches. The DM chooses the patches or determines them randomly by rolling on the following table.\n\n1d100\n\nPatch\n\n01–08\n\nBag of 100 GP\n\n09–15\n\nSilver coffer (1 foot long, 6 inches wide and deep) worth 500 GP\n\n16–22\n\nIron door (up to 10 feet wide and 10 feet high, barred on one side of your choice), which you can place in an opening you can reach; it conforms to fit the opening, attaching and hinging itself\n\n23–30\n\n10 gems worth 100 GP each\n\n31–44\n\nWooden ladder (24 feet long)\n\n45–51\n\nRiding Horse with a Riding Saddle\n\n52–59\n\nOpen pit (a 10-foot Cube), which you can place on the ground within 10 feet of yourself\n\n60–68\n\n4 Potions of Healing\n\n69–75\n\nRowboat (12 feet long)\n\n76–83\n\nSpell Scroll containing one spell of level 1, 2, or 3 (your choice)\n\n84–90\n\n2 Mastiffs\n\n91–96\n\nWindow (2 feet by 4 feet, up to 2 feet deep), which you can place on a vertical surface you can reach\n\n97–00\n\nPortable Ram","quantity":0,"weight":4,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/778/1000/1000/638657413987374557.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"10ft","consumableRange":"10ft","questItem":false},{"id":"1069","blueprint":"In Handout","name":"Rod of Absorption","displayName":"Rod of Absorption","description":"While holding this rod, you can take a Reaction to absorb a spell that is targeting only you and doesn’t create an area of effect. The absorbed spell’s effect is canceled, and the spell’s energy—not the spell itself—is stored in the rod. The energy has the same level as the spell when it was cast. A canceled spell dissipates with no effect, and any resources used to cast it are wasted. The rod can absorb and store up to 50 levels of energy over the course of its existence. Once the rod absorbs 50 levels of energy, it can’t absorb more. If you are targeted by a spell that the rod can’t store, the rod has no effect on that spell.\n\nWhen you become attuned to the rod, you know how many levels of energy the rod has absorbed over the course of its existence and how many levels of spell energy it currently has stored.\n\nIf you are a spellcaster holding the rod, you can convert energy stored in it into spell slots to cast spells you have prepared or know. You can create spell slots only of a level equal to or lower than your own spell slots, up to a maximum of level 5. You use the stored levels in place of your slots but otherwise cast the spell as normal. For example, you can use 3 levels stored in the rod as a level 3 spell slot.\n\nA newly found rod typically has 1d10 levels of spell energy stored in it. A rod that can no longer absorb spell energy and has no energy remaining becomes nonmagical.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://5e.tools/img/items/DMG/Rod%20of%20Absorption.webp","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1070","blueprint":"In Handout","name":"Rod of Alertness","displayName":"Rod of Alertness","description":"This rod has the following properties.\n\nAlertness. While holding the rod, you have Advantage on Wisdom (Perception) checks and on Initiative rolls.\n\nSpells. While holding the rod, you can cast the following spells from it:\n\nDetect Evil and Good\n\nDetect Magic\n\nDetect Poison and Disease\n\nSee Invisibility\n\nProtective Aura. As a Magic action, you can plant the haft end of the rod in the ground, whereupon the rod’s head sheds Bright Light in a 60-foot radius and Dim Light for an additional 60 feet. While in that Bright Light, you and your allies gain a +1 bonus to Armor Class and saving throws and can sense the location of any Invisible creature that is also in the Bright Light.\n\nThe rod’s head stops glowing and the effect ends after 10 minutes or when a creature takes a Magic action to pull the rod from the ground. Once used, this property can’t be used again until the next dawn.","quantity":0,"weight":2,"AC":"1+1","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://holiviantales.wordpress.com/wp-content/uploads/2015/04/alertrod.png?w=470","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1071","blueprint":"In Handout","name":"Rod of Lordly Might","displayName":"Rod of Lordly Might","description":"This rod has a flanged head, and it functions as a magic Mace that grants a +3 bonus to attack rolls and damage rolls made with it. The rod has properties associated with six different buttons that are set in a row along the haft. It has three other properties as well, detailed below.\n\nButtons. You can press one of the following buttons as a Bonus Action; a button’s effect lasts until you push a different button or until you push the same button again, which causes the rod to revert to its normal form:\n\nButton 1. A fiery blade sprouts from the end opposite the rod’s flanged head. The flames shed Bright Light in a 40-foot radius and Dim Light for an additional 40 feet, and the blade functions as a magic Longsword or Shortsword (your choice) that deals an extra 2d6 Fire damage on a hit.\n\nButton 2. The rod’s flanged head folds down and two crescent-shaped blades spring out, transforming the rod into a magic Battleaxe that grants a +3 bonus to attack rolls and damage rolls made with it.\n\nButton 3. The rod’s flanged head folds down, a spear point springs from the rod’s tip, and the rod’s handle lengthens into a 6-foot haft, transforming the rod into a magic Spear that grants a +3 bonus to attack rolls and damage rolls made with it.\n\nButton 4. The rod transforms into a climbing pole up to 50 feet long (you specify the length), though the rod’s buttons remain within your reach. In surfaces as hard as granite, a spike at the bottom and three hooks at the top anchor the pole. Horizontal bars 3 inches long fold out from the sides, 1 foot apart, forming a ladder. The pole can bear up to 4,000 pounds. More weight or lack of solid anchoring causes the rod to revert to its normal form.\n\nButton 5. The rod transforms into a handheld battering ram and grants its user a +10 bonus to Strength (Athletics) checks made to break through doors, barricades, and other barriers.\n\nButton 6. The rod assumes or remains in its normal form and indicates magnetic north. (Nothing happens if this function of the rod is used in a location that has no magnetic north.) The rod also gives you knowledge of your approximate depth beneath the ground or your height above it.\n\nDrain Life. When you hit a creature with a melee attack using the rod, you can force the target to make a DC 17 Constitution saving throw. On a failed save, the target takes an extra 4d6 Necrotic damage, and you regain a number of Hit Points equal to half that Necrotic damage. Once used, this property can’t be used again until the next dawn.\n\nParalyze. When you hit a creature with a melee attack using the rod, you can force the target to make a DC 17 Constitution saving throw. On a failed save, the target has the Paralyzed condition for 1 minute. The target repeats the save at the end of each of its turns, ending the effect on a success. Once used, this property can’t be used again until the next dawn.\n\nTerrify. While holding the rod, you can take a Magic action to force each creature you can see within 30 feet of yourself to make a DC 17 Wisdom saving throw. On a failed save, a target has the Frightened condition for 1 minute. A Frightened target repeats the save at the end of each of its turns, ending the effect on itself on a success. Once used, this property can’t be used again until the next dawn.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Simple Melee Weapon","subtype":"One-Handed","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/780/1000/1000/638657413990670068.png","effect":"","diceCount":1,"diceSide":6,"bonus":3,"rollBonus":3,"area":"","damage":"1d6+3","damageType":"bludgeoning","properties":"Versatile, Light, Finesse, Thrown","mastery":"","tags":"","equippable":true,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"50ft","consumableRange":"50ft","questItem":false},{"id":"1072","blueprint":"In Handout","name":"Rod of Resurrection","displayName":"Rod of Resurrection","description":"The rod has 5 charges. While you hold it, you can cast one of the following spells from it: Heal (expends 1 charge) or Resurrection (expends 5 charges).\n\nThe rod regains 1 expended charge daily at dawn. If you expend the last charge, roll 1d20. On a 1, the rod disappears in a harmless burst of radiance.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"legendary","defaultPrice":200000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413860334/3egIKIxbRlq4dBujvSTejw/original.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1073","blueprint":"In Handout","name":"Rod of Rulership","displayName":"Rod of Rulership","description":"You can take a Magic action to present the rod and command obedience from each creature of your choice that you can see within 120 feet of yourself. Each target must succeed on a DC 15 Wisdom saving throw or have the Charmed condition for 8 hours. While Charmed in this way, the creature regards you as its trusted leader. If harmed by you or your allies or commanded to do something contrary to its nature, a target ceases to be Charmed in this way. Once used, this property can’t be used again until the next dawn.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://www.dndbeyond.com/avatars/thumbnails/45205/782/1000/1000/638657413994102076.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"120ft","consumableRange":"120ft","questItem":false},{"id":"1074","blueprint":"In Handout","name":"Rod of Security","displayName":"Rod of Security","description":"Rod, Very Rare\n\nWhile holding this rod, you can take a Magic action to activate it. The rod then instantly transports you and up to 199 other willing creatures you can see to a demiplane. You choose the form the demiplane takes. It could be a tranquil garden, a cheery tavern, an immense palace, a tropical island, a fantastic carnival, or whatever else you can imagine. Regardless of its nature, the demiplane contains enough water and food to sustain its visitors, and the demiplane’s environment can’t harm its occupants. Everything else that can be interacted with there can exist only there. For example, a flower picked from a garden there disappears if it is taken outside the demiplane.\n\nFor each hour spent in the demiplane, a visitor regains Hit Points as if it had spent 1 Hit Point Die. Also, creatures don’t age while there, although time passes normally. Visitors can remain there for up to 200 days divided by the number of creatures present (round down).\n\nWhen the time runs out or you take a Magic action to end the effect, all visitors reappear in the location they occupied when you activated the rod or an unoccupied space nearest that location. Once used, this property can’t be used again until 10 days have passed.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/previews/057/171/562/non_2x/detailed-magic-wand-with-ornate-design-and-glowing-tip-isolated-on-a-transparent-background-for-creative-projects-magic-wand-file-of-isolated-object-on-transparent-background-free-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1075","blueprint":"In Handout","name":"Rod of the Pact Keeper +1","displayName":"Rod of the Pact Keeper +1","description":"While holding this rod, you gain a +1 bonus to spell attack rolls and to the saving throw DCs of your Warlock spells.\n\nIn addition, you can regain one spell slot as a Magic action while holding the rod. You can’t use this property again until you finish a Long Rest.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/873/016/small_2x/ancient-wizard-staff-featuring-glowing-crystal-orb-at-top-symbolizing-magical-power-and-wisdom-intricate-design-and-craftsmanship-highlight-its-mystical-allure-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1076","blueprint":"In Handout","name":"Rod of the Pact Keeper +2","displayName":"Rod of the Pact Keeper +2","description":"While holding this rod, you gain a +2 bonus to spell attack rolls and to the saving throw DCs of your Warlock spells.\n\nIn addition, you can regain one spell slot as a Magic action while holding the rod. You can’t use this property again until you finish a Long Rest.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/873/016/small_2x/ancient-wizard-staff-featuring-glowing-crystal-orb-at-top-symbolizing-magical-power-and-wisdom-intricate-design-and-craftsmanship-highlight-its-mystical-allure-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1077","blueprint":"In Handout","name":"Rod of the Pact Keeper +3","displayName":"Rod of the Pact Keeper +3","description":"While holding this rod, you gain a +3 bonus to spell attack rolls and to the saving throw DCs of your Warlock spells.\n\nIn addition, you can regain one spell slot as a Magic action while holding the rod. You can’t use this property again until you finish a Long Rest.","quantity":0,"weight":2,"AC":"","modifier":"","debuff":"","requirement":"","type":"Rod","subtype":"Arcane Spell Focus","rarity":"very_rare","defaultPrice":40000,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/068/873/016/small_2x/ancient-wizard-staff-featuring-glowing-crystal-orb-at-top-symbolizing-magical-power-and-wisdom-intricate-design-and-craftsmanship-highlight-its-mystical-allure-png.png","effect":"","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":true,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1078","blueprint":"In Handout","name":"Rope of Climbing","displayName":"Rope of Climbing","description":"This 60-foot length of rope can hold up to 3,000 pounds. While holding one end of the rope, you can take a Magic action to command the other end of the rope to animate and move toward a destination you choose, up to the rope’s length away from you. That end moves 10 feet on your turn when you first command it and 10 feet at the start of each of your subsequent turns until reaching its destination or until you tell it to stop. You can also tell the rope to fasten itself securely to an object or to unfasten itself, to knot or unknot itself, or to coil itself for carrying.\n\nIf you tell the rope to knot, large knots appear at 1-foot intervals along the rope. While knotted, the rope shortens to a 50-foot length and grants Advantage on ability checks made to climb using the rope.\n\nThe rope has AC 20, HP 20, and Immunity to Poison and Psychic damage. It regains 1 Hit Point every 5 minutes as long as it has at least 1 Hit Point. If the rope drops to 0 Hit Points, it is destroyed.","quantity":0,"weight":6,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"uncommon","defaultPrice":400,"defaultPriceType":"gp","imageUrl":"https://static.vecteezy.com/system/resources/thumbnails/067/685/968/small/thick-natural-fiber-rope-coiled-with-leather-strap-and-metal-eyelet-isolated-on-transparent-background-png.png","effect":"Immunity to poison damage, Immunity to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"self","consumableRange":"self","questItem":false},{"id":"1079","blueprint":"In Handout","name":"Rope of Entanglement","displayName":"Rope of Entanglement","description":"This rope is 30 feet long. While holding one end of the rope, you can take a Magic action to command the other end to dart forward and entangle one creature you can see within 20 feet of yourself. The target must succeed on a DC 15 Dexterity saving throw or have the Restrained condition. You can release the target by letting go of your end of the rope (causing the rope to coil up in the target’s space) or by using a Bonus Action to repeat the command (causing the rope to coil up in your hand).\n\nA target Restrained by the rope can take an action to make its choice of a DC 15 Strength (Athletics) or Dexterity (Acrobatics) check. On a successful check, the target is no longer Restrained by the rope. If you’re still holding onto the rope when a target escapes from it, you can take a Reaction to command the rope to coil up in your hand; otherwise, the rope coils up in the target’s space.\n\nThe rope has AC 20, HP 20, and Immunity to Poison and Psychic damage. It regains 1 Hit Point every 5 minutes as long as it has at least 1 Hit Point. If the rope drops to 0 Hit Points, it is destroyed.","quantity":0,"weight":3,"AC":"","modifier":"","debuff":"","requirement":"","type":"Wondrous Item","subtype":"Wondrous Item","rarity":"rare","defaultPrice":4000,"defaultPriceType":"gp","imageUrl":"https://files.d20.io/images/413859923/gUmJRWzRlMhMWQQduwrm9g/original.png","effect":"Immunity to poison damage, Immunity to psychic damage.","diceCount":0,"diceSide":0,"bonus":0,"rollBonus":0,"area":"","damage":"","damageType":"","properties":"","mastery":"","tags":"","equippable":false,"equipped":false,"attunement":false,"attuned":false,"attunementPrerequisite":"","consumable":false,"usable":false,"useTarget":false,"useRange":"20ft","consumableRange":"20ft","questItem":false}],"customItems":[],"shops":[{"id":"adventurer-supplies","name":"Adventurer Supplies","icon":"🧺","itemList":[{"name":"Potion of Healing","price":50,"priceType":"gp","stock":20},{"name":"Arrows","price":5,"priceType":"cp","stock":200},{"name":"Rations","price":5,"priceType":"sp","stock":350},{"name":"Torch","price":1,"priceType":"cp","stock":80},{"name":"Backpack","price":2,"priceType":"gp","stock":20},{"name":"Bedroll","price":1,"priceType":"gp","stock":20},{"name":"Blanket","price":5,"priceType":"sp","stock":20},{"name":"Waterskin","price":2,"priceType":"sp","stock":20},{"name":"Tinderbox","price":5,"priceType":"sp","stock":20},{"name":"Crowbar","price":2,"priceType":"gp","stock":10},{"name":"Rope","price":1,"priceType":"gp","stock":10},{"name":"Grappling Hook","price":2,"priceType":"gp","stock":3},{"name":"Healer's Kit","price":5,"priceType":"gp","stock":10},{"name":"Pouch","price":5,"priceType":"sp","stock":20},{"name":"Sack","price":1,"priceType":"cp","stock":20},{"name":"Oil","price":1,"priceType":"sp","stock":15},{"name":"Flask","price":2,"priceType":"cp","stock":10},{"name":"Ink","price":10,"priceType":"gp","stock":10},{"name":"Shovel","price":2,"priceType":"gp","stock":3},{"name":"Holy Water","price":25,"priceType":"gp","stock":10},{"name":"Chain","price":5,"priceType":"gp","stock":3},{"name":"Crossbow Bolts","price":5,"priceType":"cp","stock":200}],"state":"close","hidden":false,"config":{"hidePrice":false,"hasStock":true},"blacklist":[],"location":[],"salesLedger":[],"earnings":{"cp":0,"sp":0,"gp":0},"createdAt":1780111685083,"updatedAt":1782189564167},{"id":"adventurer-gear","name":"Adventurer Gears","icon":"🧥","itemList":[{"name":"Club","price":1,"priceType":"sp","stock":10},{"name":"Dagger","price":2,"priceType":"gp","stock":25},{"name":"Greatclub","price":2,"priceType":"sp","stock":5},{"name":"Handaxe","price":5,"priceType":"gp","stock":15},{"name":"Javelin","price":5,"priceType":"sp","stock":20},{"name":"Mace","price":5,"priceType":"gp","stock":10},{"name":"Quarterstaff","price":2,"priceType":"sp","stock":8},{"name":"Light Hammer","price":2,"priceType":"gp","stock":10},{"name":"Sickle","price":1,"priceType":"gp","stock":8},{"name":"Spear","price":1,"priceType":"gp","stock":20},{"name":"Shortbow","price":25,"priceType":"gp","stock":15},{"name":"Light Crossbow","price":25,"priceType":"gp","stock":10},{"name":"Shortsword","price":10,"priceType":"gp","stock":15},{"name":"Longsword","price":15,"priceType":"gp","stock":8},{"name":"Scimitar","price":25,"priceType":"gp","stock":20},{"name":"Battleaxe","price":10,"priceType":"gp","stock":5},{"name":"Greataxe","price":30,"priceType":"gp","stock":3},{"name":"Leather Armor","price":10,"priceType":"gp","stock":5},{"name":"Chain Shirt","price":50,"priceType":"gp","stock":5},{"name":"Breastplate","price":400,"priceType":"gp","stock":1},{"name":"Chain Mail","price":75,"priceType":"gp","stock":2},{"name":"Shield","price":10,"priceType":"gp","stock":6}],"state":"close","hidden":false,"config":{"hidePrice":false,"hasStock":true},"blacklist":[],"location":[],"salesLedger":[],"earnings":{"cp":0,"sp":0,"gp":0},"createdAt":1780113862054,"updatedAt":1782189563000}],"tokenDefaults":{"showplayers_name":true,"showplayers_bar1":true,"bar1_value":"","bar1_max":"","bar1_link":"hp","showplayers_bar2":false,"bar2_value":"","bar2_max":"","bar2_link":"ac","showplayers_bar3":true,"bar3_value":"","bar3_max":"","bar3_link":"hp_temp","showplayers_aura1":true,"showplayers_aura2":true,"has_bright_light_vision":true,"npc_has_vision":false,"blind_token_vision":true,"public_rolls":true,"night_vision_tint":null,"night_vision_effect":"Nocturnal","lootable":false,"token_width":"70","token_height":"70"}} \ No newline at end of file diff --git a/T&T - Trinkets and Trackers/1.3.5/TrinketsAndTrackers.js b/T&T - Trinkets and Trackers/1.3.5/TrinketsAndTrackers.js new file mode 100644 index 0000000000..b102d0d03b --- /dev/null +++ b/T&T - Trinkets and Trackers/1.3.5/TrinketsAndTrackers.js @@ -0,0 +1,20229 @@ +/** + * ========================================================= + * @File Trinkets&Trackers.js + * @Project Trinkets and Trackers (T&T) + * @Description Professional base prototype for commands, cards and helpers. + * @Author AmadeusVF + * @Version 1.3.5 + * ========================================================= + */ +const TnT = (() => { + 'use strict'; + + /** ----------------------------------------------------------------------- + * @section Metadata + * --------------------------------------------------------------------- */ + const META = Object.freeze({ + NAME: 'Trinkets & Trackers', + DEVELOPER: 'AmadeusVF', + SHORT_NAME: 'T&T', + LOG_NAME: 'T&T', + VERSION: '1.3.5', + STATE_KEY: 'TRINKETS_AND_TRACKERS', + SCHEMA_VERSION: 3 + }); + + /** ----------------------------------------------------------------------- + * @section Config + * --------------------------------------------------------------------- */ + const DEFAULT_CARD_CONFIG = Object.freeze({ + width: 300, + leftOffset: -30, + titleColor: 'rgb(255, 255, 255)', + bodyColor: 'rgb(255, 255, 255)', + borderColor: 'rgb(127, 127, 127)', + titleBgColor: 'rgba(0, 0, 0, 0.6)', + titleLineColor: 'rgba(215, 47, 47, 0.8)', + bodyBgColor: 'rgba(0, 0, 0, 0.3)', + bodyImageUrl: 'https://images.rawpixel.com/image_800/cHJpdmF0ZS9sci9pbWFnZXMvd2Vic2l0ZS8yMDIzLTEyL3Jhd3BpeGVsX29mZmljZV80Nl9ibGFja193YWxscGFwZXJfbW9ub2Nocm9tZV9jaGluZXNlX2RyYWdvbl8yNmY3MzllOS1mYzkwLTQ3MDEtYjdmNS01NjFmMTQwMjc1OGRfMS5qcGc.jpg' + }); + + const DEFAULT_ITEM_CONFIG = Object.freeze({ + rowFontSize: 12, + rowImageSize: 24, + rowHeight: 28, + rarityColors: Object.freeze({ + common: 'rgb(200, 200, 200)', + uncommon: 'rgb(90, 160, 70)', + rare: 'rgb(0, 130, 170)', + very_rare: 'rgb(125, 40, 175)', + legendary: 'rgb(175, 170, 40)', + artifact: 'rgb(175, 58, 40)' + }), + defaultItemImgURL: 'https://static.vecteezy.com/system/resources/thumbnails/059/918/034/small/stunning-minimalist-bag-of-cement-4k-free-png.png', + itemInfiniteStockIcon: 'ထ', + }); + + const DEFAULT_TEXT_CONFIG = Object.freeze({ + character: 'rgb(211, 194, 12)', + quantity: 'rgb(52, 203, 116)', + item: 'rgb(84, 186, 255)', + heal: 'rgb(52, 203, 116)', + applied: 'rgb(84, 186, 255)', + storeName: 'rgb(84, 255, 110)', + storeId: 'rgb(84, 255, 241)' + }); + + const DEFAULT_BUTTON_CONFIG = Object.freeze({ + textSize: 12, + heightSize: 15 + }); + + const DAMAGE_TYPE_COLORS = Object.freeze({ + bludgeoning: 'rgb(135, 35, 35)', + slashing: 'rgb(135, 35, 35)', + piercing: 'rgb(135, 35, 35)', + fire: 'rgb(215, 55, 40)', + acid: 'rgb(115, 230, 95)', + poison: 'rgb(134, 38, 244)', + cold: 'rgb(49, 87, 239)', + lightning: 'rgb(75, 230, 255)', + thunder: 'rgb(122, 120, 255)', + force: 'rgb(185, 45, 120)', + necrotic: 'rgb(61, 82, 79)', + psychic: 'rgb(155, 90, 212)', + radiant: 'rgb(223, 232, 96)', + healing: 'rgb(52, 203, 116)' + }); + + const DAMAGE_TYPE_ICONS = Object.freeze({ + normal: '💫', + acid: '🧪', + bludgeoning: '💢', + cold: '❄️', + fire: '🔥', + force: '🌀', + lightning: '⚡', + necrotic: '💀', + piercing: '🗡️', + poison: '🫟', + psychic: '🪬', + radiant: '🌟', + slashing: 'ノ', + thunder: '🌩️' + }); + + const CONDITION_COLORS = Object.freeze({ + blinded: 'rgb(255, 230, 64)', + charmed: 'rgb(255, 105, 180)', + deafened: 'rgb(255, 193, 7)', + exhaustion: 'rgb(156, 136, 255)', + frightened: 'rgb(128, 0, 128)', + grappled: 'rgb(96, 125, 139)', + incapacitated: 'rgb(244, 67, 54)', + invisible: 'rgb(189, 189, 189)', + paralyzed: 'rgb(33, 150, 243)', + petrified: 'rgb(120, 120, 120)', + poisoned: 'rgb(76, 175, 80)', + prone: 'rgb(121, 85, 72)', + restrained: 'rgb(63, 81, 181)', + stunned: 'rgb(255, 87, 34)', + unconscious: 'rgb(159, 159, 159)' + }); + + const CONDITION_STATUS_MARKERS = Object.freeze({ + blinded: 'sheet-blinded', + charmed: 'sheet-charmed', + deafened: 'sheet-deafened', + exhaustion: 'sheet-exhausted', + frightened: 'sheet-frightened', + grappled: 'sheet-grappled', + incapacitated: 'sheet-incapacitated', + invisible: 'sheet-invisible', + paralyzed: 'sheet-paralyzed', + petrified: 'sheet-petrified', + poisoned: 'sheet-poisoned', + prone: 'sheet-prone', + restrained: 'sheet-restrained', + stunned: 'sheet-stunned', + unconscious: 'sheet-unconscious' + }); + + const CONDITION_ICONS = Object.freeze({ + blinded: '🕶️', + charmed: '😍', + deafened: '👂🏻', + exhaustion: '🫩', + frightened: '😱', + grappled: '🫂', + incapacitated: '🚷', + invisible: '👻', + paralyzed: '😖', + petrified: '🗿', + poisoned: '☠️', + prone: '🙇‍♂️', + restrained: '🕸️', + stunned: '💫', + unconscious: '😵' + }); + + const CONFIG = Object.freeze({ + DEBUG: false, + CHAT_NAME: 'Trinkets & Trackers (T&T)', + PORTABLE_DATABASE_HANDOUT: 'T&T Portable Database', + DEFAULT_WHISPER: true, + + DEFAULT_CARD_CONFIG, + DEFAULT_ITEM_CONFIG, + DEFAULT_TEXT_CONFIG, + DEFAULT_BUTTON_CONFIG, + + DEFAULT_CARD_WIDTH: DEFAULT_CARD_CONFIG.width, + DEFAULT_CARD_LEFT_OFFSET: DEFAULT_CARD_CONFIG.leftOffset, + DEFAULT_CARD_TITLE_COLOR: DEFAULT_CARD_CONFIG.titleColor, + DEFAULT_CARD_BODY_COLOR: DEFAULT_CARD_CONFIG.bodyColor, + DEFAULT_CARD_BORDER_COLOR: DEFAULT_CARD_CONFIG.borderColor, + DEFAULT_CARD_TITLE_BG_COLOR: DEFAULT_CARD_CONFIG.titleBgColor, + DEFAULT_CARD_TITLE_LINE_COLOR: DEFAULT_CARD_CONFIG.titleLineColor, + DEFAULT_CARD_BODY_BG_COLOR: DEFAULT_CARD_CONFIG.bodyBgColor, + DEFAULT_CARD_BODY_IMAGE_URL: DEFAULT_CARD_CONFIG.bodyImageUrl, + + DEFAULT_ITEM_ROW_FONT_SIZE: DEFAULT_ITEM_CONFIG.rowFontSize, + DEFAULT_ITEM_ROW_IMAGE_SIZE: DEFAULT_ITEM_CONFIG.rowImageSize, + DEFAULT_ITEM_ROW_HEIGHT: DEFAULT_ITEM_CONFIG.rowHeight, + DEFAULT_ITEM_COMMON_QUALITY_COLOR: DEFAULT_ITEM_CONFIG.rarityColors.common, + DEFAULT_ITEM_UNCOMMON_QUALITY_COLOR: DEFAULT_ITEM_CONFIG.rarityColors.uncommon, + DEFAULT_ITEM_RARE_QUALITY_COLOR: DEFAULT_ITEM_CONFIG.rarityColors.rare, + DEFAULT_ITEM_VERY_RARE_QUALITY_COLOR: DEFAULT_ITEM_CONFIG.rarityColors.very_rare, + DEFAULT_ITEM_LEGENDARY_QUALITY_COLOR: DEFAULT_ITEM_CONFIG.rarityColors.legendary, + DEFAULT_ITEM_ARTIFACT_QUALITY_COLOR: DEFAULT_ITEM_CONFIG.rarityColors.artifact, + DEFAULT_ITEM_IMAGE_URL: DEFAULT_ITEM_CONFIG.defaultItemImgURL, + DEFAULT_ITEM_INFINITE_STOCK_ICON: DEFAULT_ITEM_CONFIG.itemInfiniteStockIcon, + + DEFAULT_TEXT_CHARACTER_COLOR: DEFAULT_TEXT_CONFIG.character, + DEFAULT_TEXT_QUANTITY_COLOR: DEFAULT_TEXT_CONFIG.quantity, + DEFAULT_TEXT_ITEM_COLOR: DEFAULT_TEXT_CONFIG.item, + DEFAULT_TEXT_HEAL_COLOR: DEFAULT_TEXT_CONFIG.heal, + DEFAULT_TEXT_APPLIED_COLOR: DEFAULT_TEXT_CONFIG.applied, + + DEFAULT_TEXT_STORE_NAME_COLOR: DEFAULT_TEXT_CONFIG.storeName, + DEFAULT_TEXT_STORE_ID_COLOR: DEFAULT_TEXT_CONFIG.storeId, + + DEFAULT_BUTTON_TEXT_SIZE: DEFAULT_BUTTON_CONFIG.textSize, + DEFAULT_BUTTON_HEIGHT_SIZE: DEFAULT_BUTTON_CONFIG.heightSize, + + CURRENCY_FALLBACK: 'gp', + INVENTORY_TRANSFER_MAX_DISTANCE_FT: 5, + DAMAGE_ROUND_UP: true, + SETUP_TOKEN_ON_SPAWN: true, + CHAT_MONITORING: true, + SHOP_GRID_VIEW: true, + PLAYER_MANUAL_ROLL: false, + ROLLS_FONT_STYLE: Object.freeze({ + fontFamily: "'Comic Sans MS', 'Comic Sans', cursive", + fontSize: '22px', + fontWeight: '900', + color: 'rgb(255,255,255)' + }), + DEFAULT_DAMAGE_TYPE_COLOR: 'rgb(220, 45, 45)', + DAMAGE_TYPE_COLORS, + DAMAGE_TYPE_ICONS, + TNT_ROLL_CARD: true, + DEFAULT_CONDITION_COLOR: 'rgb(234, 221, 41)', + CONDITION_COLORS, + CONDITION_STATUS_MARKERS, + CONDITION_ICONS, + DEATH_STATUS_MARKER: 'dead' + }); + + const RUNTIME_CONFIG_DEFAULTS = Object.freeze({ + DEBUG: CONFIG.DEBUG, + DAMAGE_ROUND_UP: CONFIG.DAMAGE_ROUND_UP, + TNT_ROLL_CARD: CONFIG.TNT_ROLL_CARD, + INVENTORY_TRANSFER_MAX_DISTANCE_FT: CONFIG.INVENTORY_TRANSFER_MAX_DISTANCE_FT, + SETUP_TOKEN_ON_SPAWN: CONFIG.SETUP_TOKEN_ON_SPAWN, + CHAT_MONITORING: CONFIG.CHAT_MONITORING, + SHOP_GRID_VIEW: CONFIG.SHOP_GRID_VIEW, + PLAYER_MANUAL_ROLL: CONFIG.PLAYER_MANUAL_ROLL + }); + + const RUNTIME_CONFIG_FIELDS = Object.freeze([ + { key: 'DEBUG', label: 'Debug', type: 'boolean' }, + { key: 'DAMAGE_ROUND_UP', label: 'Damage Round Up', type: 'boolean' }, + { key: 'TNT_ROLL_CARD', label: 'T&T Roll Card', type: 'boolean' }, + { key: 'INVENTORY_TRANSFER_MAX_DISTANCE_FT', label: 'Transfer Max Distance', type: 'number' }, + { key: 'SETUP_TOKEN_ON_SPAWN', label: 'Setup Token on Spawn', type: 'boolean' }, + { key: 'CHAT_MONITORING', label: 'Chat Monitoring', type: 'boolean' }, + { key: 'SHOP_GRID_VIEW', label: 'Shop Icon View', type: 'boolean' }, + { key: 'PLAYER_MANUAL_ROLL', label: 'Player Manual Roll', type: 'boolean' } + ]); + + const TAG_COLOR = Object.freeze({ + DEFAULT_SOURCE_PLAYER_COLOR : 'rgb(9, 243, 235)', + DEFAULT_TARGET_PLAYER_COLOR : 'rgb(233, 225, 17)', + + DEFAULT_ATTRIBUTE_NAME_COLOR : 'rgb(17, 168, 233)', + DEFAULT_ATTRIBUTE_VALUE_COLOR : 'rgb(233, 168, 17)', + }); + + const ACTIONS = Object.freeze({ + INVENTORY: Object.freeze(['get', 'remove', 'add', 'buy', 'give', 'use', 'discard', 'equip', 'template', 'lightoff', 'prone', 'deathsave']), + CURRENCY: Object.freeze(['give', 'take', 'wallet']), + SHOP: Object.freeze(['get', 'list', 'buy', 'create', 'add', 'remove', 'delete', 'open', 'close', 'hide', 'reveal', 'toggle', 'blacklist', 'config', 'icon', 'load', 'unload', 'reload', 'export', 'menu', 'detail', 'stockmode', 'rollprice', 'price', 'stock']), + ITEM: Object.freeze(['list', 'rawlist', 'search', 'details', 'send', 'create', 'remove', 'reload', 'blueprint']), + TOKEN: Object.freeze(['init', 'clear', 'setup', 'save', 'default', 'edit', 'get', 'set', 'deal', 'dealbatch', 'dealroll', 'heal', 'condition', 'conditionmenu', 'conditiontoggle', 'effectmenu', 'effecttoggle', 'combat', 'spells', 'attacks', 'refreshattacks', 'refreshspells', 'ability', 'saving', 'skill', 'initiative', 'roll', 'attackroll']) + }); + const PUBLIC_ACTIONS = Object.freeze({ + INVENTORY: Object.freeze(['get', 'remove', 'give', 'use', 'discard', 'equip', 'lightoff', 'prone', 'deathsave']), + CURRENCY: Object.freeze(['give', 'take']), + SHOP: Object.freeze(['list', 'get', 'buy']), + ITEM: Object.freeze(['search', 'details', 'send']), + TOKEN: Object.freeze(['get', 'deal', 'dealroll', 'heal', 'condition', 'conditionmenu', 'conditiontoggle', 'combat', 'spells', 'refreshattacks', 'refreshspells', 'ability', 'saving', 'skill', 'initiative']) + }); + const GM_ACTIONS = Object.freeze({ + INVENTORY: Object.freeze(['add']), + SHOP: Object.freeze(['create', 'add', 'remove', 'delete', 'open', 'close', 'hide', 'reveal', 'toggle', 'blacklist', 'config', 'icon', 'load', 'unload', 'reload', 'export', 'menu', 'detail', 'stockmode', 'rollprice', 'price', 'stock']), + ITEM: Object.freeze(['list', 'rawlist', 'create', 'remove', 'reload']), + TOKEN: Object.freeze(['init', 'clear', 'setup', 'save', 'default', 'edit', 'set', 'get', 'deal', 'dealbatch', 'dealroll', 'heal', 'condition', 'conditionmenu', 'conditiontoggle', 'effectmenu', 'effecttoggle', 'combat', 'spells', 'attacks', 'refreshattacks', 'refreshspells', 'ability', 'saving', 'skill', 'initiative', 'roll', 'attackroll']) + }); + + const CURRENCY_TYPES = Object.freeze(['cp', 'sp', 'gp']); + const CURRENCY_COLORS = Object.freeze({ + cp: 'rgb(185, 115, 50)', + sp: 'rgb(182, 182, 182)', + gp: 'rgb(232, 197, 58)' + }); + const SHOP_STATES = Object.freeze(['open', 'close']); + const SHOP_DEFAULT_CONFIG = Object.freeze({ + hidePrice: false, + hasStock: true + }); + const SHOP_INFINITE_STOCK = 999999; + + /** ----------------------------------------------------------------------- + * @section State + * --------------------------------------------------------------------- */ + const State = { + defaults() { + return { + schemaVersion: META.SCHEMA_VERSION, + config: Object.assign({}, RUNTIME_CONFIG_DEFAULTS), + cache: {}, + players: {}, + itemDrafts: {}, + shops: {}, + manualRolls: {} + }; + }, + + ensure() { + state[META.STATE_KEY] = state[META.STATE_KEY] || this.defaults(); + this.migrate(); + return state[META.STATE_KEY]; + }, + + migrate() { + const root = state[META.STATE_KEY]; + if (!root.schemaVersion) { + root.schemaVersion = 1; + } + + root.config = root.config || {}; + Object.keys(RUNTIME_CONFIG_DEFAULTS).forEach((key) => { + if (!Object.prototype.hasOwnProperty.call(root.config, key)) { + if (key === 'DEBUG' && Object.prototype.hasOwnProperty.call(root.config, 'debug')) { + root.config[key] = !!root.config.debug; + } else { + root.config[key] = RUNTIME_CONFIG_DEFAULTS[key]; + } + } + }); + root.config.debug = !!root.config.DEBUG; + root.cache = root.cache || {}; + root.players = root.players || {}; + root.itemDrafts = root.itemDrafts || {}; + root.shops = root.shops || {}; + root.manualRolls = root.manualRolls || {}; + + switch (root.schemaVersion) { + case 1: + default: + root.schemaVersion = META.SCHEMA_VERSION; + break; + } + }, + + get() { + return this.ensure(); + } + }; + + /** ----------------------------------------------------------------------- + * @section Logger + * --------------------------------------------------------------------- */ + const Logger = { + isDebugEnabled() { + const config = State.get().config || {}; + return !!(Object.prototype.hasOwnProperty.call(config, 'DEBUG') ? config.DEBUG : config.debug); + }, + + info(...args) { + log('[' + META.LOG_NAME + '] ' + args.join(' ')); + }, + + debug(...args) { + if (!this.isDebugEnabled()) return; + log('[' + META.LOG_NAME + ':DEBUG] ' + args.join(' ')); + }, + + error(...args) { + log('[' + META.LOG_NAME + ':ERROR] ' + args.join(' ')); + } + }; + + /** ----------------------------------------------------------------------- + * @section Utils + * --------------------------------------------------------------------- */ + const Utils = { + asString(value, fallback = '') { + return value === undefined || value === null ? fallback : String(value); + }, + + toInt(value, fallback = 0) { + const n = parseInt(value, 10); + return Number.isNaN(n) ? fallback : n; + }, + + rollDie(sides = 1) { + const safeSides = Math.max(1, this.toInt(sides, 1)); + if (typeof randomInteger === 'function') return randomInteger(safeSides); + return Math.floor(Math.random() * safeSides) + 1; + }, + + toBoolean(value, fallback = false) { + if (value === undefined || value === null || String(value).trim() === '') return fallback; + if (value === true || value === false) return value; + const normalized = String(value).trim().toLowerCase(); + if (['1', 'true', 'yes', 'y', 'on'].includes(normalized)) return true; + if (['0', 'false', 'no', 'n', 'off'].includes(normalized)) return false; + return fallback; + }, + + clamp(value, min, max) { + return Math.max(min, Math.min(max, value)); + }, + + isFunction(value) { + return typeof value === 'function'; + }, + + isNonEmptyString(value) { + return typeof value === 'string' && value.trim().length > 0; + }, + + escapeHtml(value) { + return Utils.asString(value) + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); + }, + + attrSafe(value) { + return Utils.escapeHtml(value); + }, + + joinStyles(styleMap = {}) { + return Object.entries(styleMap) + .filter(([, v]) => v !== undefined && v !== null && v !== '') + .map(([k, v]) => k + ':' + v) + .join(';'); + }, + + splitCommand(content = '') { + const text = Utils.asString(content).trim(); + const parts = text.split(/\s+/); + return { + raw: text, + base: parts[0] || '', + args: parts.slice(1) + }; + }, + + splitArgsAndQty(args = [], defaultQty = 1) { + const safeArgs = Array.isArray(args) ? args.slice() : []; + let qty = Math.max(1, Utils.toInt(defaultQty, 1)); + if (!safeArgs.length) { + return { args: safeArgs, qty }; + } + + const maybeQty = Utils.toInt(safeArgs[safeArgs.length - 1], NaN); + if (!Number.isNaN(maybeQty)) { + qty = Math.max(1, maybeQty); + safeArgs.pop(); + } + return { args: safeArgs, qty }; + }, + + uniqueNames(list = []) { + const seen = {}; + const out = []; + const safeList = Array.isArray(list) ? list : []; + + for (let i = 0; i < safeList.length; i += 1) { + const name = String(safeList[i] || '').trim(); + const key = name.toLowerCase(); + if (!name || seen[key]) continue; + seen[key] = true; + out.push(name); + } + + return out; + } + }; + + const RuntimeConfig = { + getFields() { + return RUNTIME_CONFIG_FIELDS.slice(); + }, + + getAll() { + const root = State.get(); + root.config = root.config || {}; + Object.keys(RUNTIME_CONFIG_DEFAULTS).forEach((key) => { + if (!Object.prototype.hasOwnProperty.call(root.config, key)) root.config[key] = RUNTIME_CONFIG_DEFAULTS[key]; + }); + root.config.debug = !!root.config.DEBUG; + return root.config; + }, + + get(key = '') { + const safeKey = String(key || '').trim().toUpperCase(); + const config = this.getAll(); + return Object.prototype.hasOwnProperty.call(config, safeKey) ? config[safeKey] : RUNTIME_CONFIG_DEFAULTS[safeKey]; + }, + + set(key = '', value = '') { + const safeKey = String(key || '').trim().toUpperCase(); + const field = RUNTIME_CONFIG_FIELDS.find((entry) => entry.key === safeKey); + if (!field) return { ok: false, message: 'Unknown config: ' + key + '.' }; + const config = this.getAll(); + if (field.type === 'boolean') config[safeKey] = Utils.toBoolean(value, !!RUNTIME_CONFIG_DEFAULTS[safeKey]); + else if (field.type === 'number') config[safeKey] = Math.max(0, Utils.toInt(value, RUNTIME_CONFIG_DEFAULTS[safeKey])); + else config[safeKey] = String(value === undefined || value === null ? '' : value).trim(); + if (safeKey === 'DEBUG') config.debug = !!config.DEBUG; + return { ok: true, key: safeKey, value: config[safeKey], config }; + }, + + toggle(key = '') { + const safeKey = String(key || '').trim().toUpperCase(); + const field = RUNTIME_CONFIG_FIELDS.find((entry) => entry.key === safeKey); + if (!field) return { ok: false, message: 'Unknown config: ' + key + '.' }; + if (field.type !== 'boolean') return { ok: false, message: 'Config is not toggleable: ' + key + '.' }; + return this.set(safeKey, !Utils.toBoolean(this.get(safeKey), false)); + } + }; + + /** ----------------------------------------------------------------------- + * @section HTML Helpers + * --------------------------------------------------------------------- */ + const Html = { + tag(tagName, content = '', style = '') { + const styleAttr = style ? ' style="' + style + '"' : ''; + return '<' + tagName + styleAttr + '>' + content + ''; + }, + + span(content = '', style = '') { + return this.tag('span', content, style); + }, + + div(content = '', style = '') { + return this.tag('div', content, style); + }, + + img(src = '', style = '') { + return ''; + }, + + button({ text = 'OK', command = '', style = '' } = {}) { + const safeText = Utils.escapeHtml(text); + const safeCommand = Utils.asString(command) + .replace(/"/g, '"') + .replace(/[\r\n]+/g, ' '); + + return ( + '' + + safeText + + '' + ); + }, + + tooltip(innerHtml, tipHtml = '') { + return ( + '' + + innerHtml + + '' + ); + }, + + card({ title = '', body = '', buildOptions = {} } = {}) { + const width = (Number(buildOptions.width) || CONFIG.DEFAULT_CARD_WIDTH); + const leftOffset = (Number(buildOptions.leftOffset) || CONFIG.DEFAULT_CARD_LEFT_OFFSET); + + const titleAlign = (buildOptions.titleAlign || 'center'); + const bodyAlign = (buildOptions.bodyAlign || 'center'); + + const titleColor = (buildOptions.titleColor || CONFIG.DEFAULT_CARD_TITLE_COLOR); + const bodyColor = (buildOptions.bodyColor || CONFIG.DEFAULT_CARD_BODY_COLOR); + + const borderColor = (buildOptions.borderColor || CONFIG.DEFAULT_CARD_BORDER_COLOR); + const titleBgColor = (buildOptions.titleBgColor || CONFIG.DEFAULT_CARD_TITLE_BG_COLOR); + const titleLineColor = (buildOptions.titleLineColor || CONFIG.DEFAULT_CARD_TITLE_LINE_COLOR); + const bodyBgColor = (buildOptions.bodyBgColor || CONFIG.DEFAULT_CARD_BODY_BG_COLOR); + + const bgImageURL = (buildOptions.bgImageURL || CONFIG.DEFAULT_CARD_BODY_IMAGE_URL); + const bgOverlayStart = (buildOptions.bgOverlayStart || 'rgba(0, 0, 0, 0.8)'); + const bgOverlayEnd = (buildOptions.bgOverlayEnd || 'rgba(0, 0, 0, 0.8)'); + const bgSize = (buildOptions.bgSize || ('auto 100%')); + const bgAttachment = (buildOptions.bgAttachment || 'fixed'); + const bgPosition = (buildOptions.bgPosition || 'right 25px bottom 100px'); + const titleHtml = Utils.isNonEmptyString(buildOptions.titleHtml) + ? String(buildOptions.titleHtml) + : Utils.escapeHtml(title); + + return ( + '
' + + '
' + + '
' + + titleHtml + + '
' + + '
' + + '
' + body + '
' + + '
' + + '
' + ); + } + }; + + const Handout = { + normalizeField(field = 'notes') { + const safeField = String(field || '').trim().toLowerCase(); + return safeField === 'gmnotes' ? 'gmnotes' : 'notes'; + }, + + normalizeRef(handoutRef) { + if (handoutRef === undefined || handoutRef === null) return ''; + return String(handoutRef).trim(); + }, + + isHandoutObject(handoutRef) { + return !!( + handoutRef && + Utils.isFunction(handoutRef.get) && + Utils.isFunction(handoutRef.set) && + handoutRef.get('_type') === 'handout' + ); + }, + + getByName(name) { + const exact = findObjs({ + type: 'handout', + name: name + })[0]; + + if (exact) return exact; + + const safeName = String(name || '').trim().toLowerCase(); + if (!safeName) return null; + + const allHandouts = findObjs({ + type: 'handout' + }); + + return allHandouts.find((handout) => { + const currentName = String(handout.get('name') || '').trim().toLowerCase(); + return currentName === safeName; + }) || null; + }, + + toRefLabel(handoutRef) { + if (this.isHandoutObject(handoutRef)) { + return '"' + (handoutRef.get('name') || handoutRef.id || 'unknown') + '"'; + } + return '"' + this.normalizeRef(handoutRef) + '"'; + }, + + get(handoutRef) { + if (!handoutRef) return null; + + if (this.isHandoutObject(handoutRef)) { + return handoutRef; + } + + const ref = this.normalizeRef(handoutRef); + if (!ref) return null; + + return getObj('handout', ref) || this.getByName(ref); + }, + + ensure(handoutRef) { + const existing = this.get(handoutRef); + if (existing) return existing; + + const ref = this.normalizeRef(handoutRef); + if (!ref) return null; + + return createObj('handout', { + name: ref + }); + }, + + read(handoutRef, field = 'gm', options = {}) { + const createIfMissing = !!options.createIfMissing; + const handout = createIfMissing ? this.ensure(handoutRef) : this.get(handoutRef); + const safeField = this.normalizeField(field); + + return new Promise((resolve, reject) => { + if (!handout) { + reject(new Error('Handout not found: ' + this.toRefLabel(handoutRef))); + return; + } + + try { + handout.get(safeField, (value) => { + resolve(String(value || '')); + }); + } catch (error) { + reject(error); + } + }); + }, + + write(handoutRef, value = '', field = 'gm', options = {}) { + const createIfMissing = !!options.createIfMissing; + const append = !!options.append; + const handout = createIfMissing ? this.ensure(handoutRef) : this.get(handoutRef); + const safeField = this.normalizeField(field); + const nextValue = String(value || ''); + + return new Promise((resolve, reject) => { + if (!handout) { + reject(new Error('Handout not found: ' + this.toRefLabel(handoutRef))); + return; + } + + const save = (content) => { + try { + handout.set(safeField, content); + resolve(true); + } catch (error) { + reject(error); + } + }; + + if (!append) { + save(nextValue); + return; + } + + handout.get(safeField, (currentValue) => { + save(String(currentValue || '') + nextValue); + }); + }); + } + }; + + /** ----------------------------------------------------------------------- + * @section Roll20 Adapter + * --------------------------------------------------------------------- */ + const R20 = { + send(message, callback = null) { + if (Utils.isFunction(callback)) { + sendChat(CONFIG.CHAT_NAME, message, callback); + return; + } + sendChat(CONFIG.CHAT_NAME, message); + }, + + direct(html) { + this.send('/direct ' + html); + }, + + whisper(target, html) { + this.send('/w "' + Utils.asString(target) + '" ' + html); + }, + + getSelectedToken(msg) { + const id = msg?.selected?.[0]?._id; + return id ? getObj('graphic', id) : null; + }, + + getSelectedTokens(msg) { + const selected = Array.isArray(msg && msg.selected) ? msg.selected : []; + const seen = {}; + const tokens = []; + for (let i = 0; i < selected.length; i += 1) { + const id = String(selected[i] && selected[i]._id || '').trim(); + if (!id || seen[id]) continue; + seen[id] = true; + const token = getObj('graphic', id); + if (token) tokens.push(token); + } + return tokens; + }, + + getCharacterFromToken(token) { + if (!token) return null; + const charId = token.get('represents'); + return charId ? getObj('character', charId) : null; + }, + + getTokenById(tokenId) { + const id = String(tokenId || '').trim(); + return id ? getObj('graphic', id) : null; + }, + + parseTokenRef(tokenRef = '') { + const parts = String(tokenRef || '').trim().split('|'); + return { + tokenId: String(parts[0] || '').trim(), + characterId: String(parts[1] || '').trim(), + pageId: String(parts[2] || '').trim() + }; + }, + + makeTokenRef(token) { + if (!token) return ''; + const tokenId = String(token.id || '').trim(); + const characterId = String(token.get('represents') || '').trim(); + const pageId = String(token.get('_pageid') || token.get('pageid') || '').trim(); + return [tokenId, characterId, pageId].filter((value) => value !== '').join('|'); + }, + + findTokenByCharacterId(characterId = '', pageId = '') { + const safeCharacterId = String(characterId || '').trim(); + const safePageId = String(pageId || '').trim(); + if (!safeCharacterId) return null; + + const tokens = findObjs({ _type: 'graphic' }) + .filter((token) => { + if (!token) return false; + if (String(token.get('represents') || '').trim() !== safeCharacterId) return false; + if (safePageId) { + const tokenPageId = String(token.get('_pageid') || token.get('pageid') || '').trim(); + if (tokenPageId !== safePageId) return false; + } + return true; + }); + + return tokens[0] || null; + }, + + resolveTokenRef(tokenRef = '') { + const parsed = this.parseTokenRef(tokenRef); + let token = this.getTokenById(parsed.tokenId); + let resolvedByCharacter = false; + + if (!token && parsed.characterId) { + token = this.findTokenByCharacterId(parsed.characterId, parsed.pageId); + resolvedByCharacter = !!token; + } + + const character = this.getCharacterFromToken(token) || + (parsed.characterId ? getObj('character', parsed.characterId) : null); + const tokenName = String( + (token && token.get('name')) || + (character && character.get('name')) || + parsed.tokenId || + tokenRef || + 'Unknown' + ).trim(); + + return { + token, + character, + tokenName, + tokenId: token ? String(token.id || '').trim() : parsed.tokenId, + characterId: character ? String(character.id || '').trim() : parsed.characterId, + pageId: token ? String(token.get('_pageid') || token.get('pageid') || '').trim() : parsed.pageId, + originalRef: String(tokenRef || '').trim(), + resolvedByCharacter + }; + }, + + parsePlayerAccessList(value) { + return String(value || '') + .split(',') + .map((entry) => String(entry || '').trim()) + .filter(Boolean); + }, + + hasPlayerAccess(value, playerId = '') { + const safePlayerId = String(playerId || '').trim(); + const entries = this.parsePlayerAccessList(value); + if (entries.includes('all')) return true; + if (!safePlayerId) return false; + return entries.includes(safePlayerId); + }, + + getCharacterAccessFlags(character, playerId = '', isGM = false) { + if (isGM) { + return { + journalAccess: true, + controlAccess: true, + hasAccess: true, + isGM: true + }; + } + + if (!character) { + return { + journalAccess: false, + controlAccess: false, + hasAccess: false, + isGM: false + }; + } + + const journalAccess = this.hasPlayerAccess(character.get('inplayerjournals'), playerId); + const controlAccess = this.hasPlayerAccess(character.get('controlledby'), playerId); + + return { + journalAccess, + controlAccess, + hasAccess: journalAccess && controlAccess, + isGM: false + }; + }, + + getSourceTokenAccess({ sourceTokenId = '', playerId = '', isGM = false } = {}) { + const resolved = this.resolveTokenRef(sourceTokenId); + const token = resolved.token; + const character = resolved.character; + const tokenName = String( + resolved.tokenName || + sourceTokenId || + 'Unknown' + ).trim(); + const access = this.getCharacterAccessFlags(character, playerId, isGM); + + return { + token, + character, + tokenName, + tokenId: resolved.tokenId, + characterId: resolved.characterId, + pageId: resolved.pageId, + resolvedByCharacter: resolved.resolvedByCharacter, + ...access + }; + }, + + requireSourceTokenAccess({ sourceTokenId = '', playerId = '', isGM = false, actionLabel = 'use' } = {}) { + const access = this.getSourceTokenAccess({ + sourceTokenId, + playerId, + isGM + }); + + if (!access.token) { + return { ok: false, message: 'Source token was not found.', access }; + } + + if (!access.character) { + return { ok: false, message: 'Source token is not linked to a character.', access }; + } + + if (!access.hasAccess) { + return { + ok: false, + message: + 'You cannot ' + String(actionLabel || 'use') + + ' ' + Utils.escapeHtml(access.tokenName || sourceTokenId) + '.
' + + 'You need both journal and control access to this character.', + access + }; + } + + return { ok: true, access }; + }, + + sendSourceAccessFailure(who = 'GM', title = 'Access Denied', accessResult = {}, type = 'failure') { + const safeResult = accessResult || {}; + Render.sendWhisperMessage( + who, + title, + safeResult.message || 'You need both journal and control access to this character.', + type + ); + + const access = safeResult.access || {}; + if (access && access.token && !access.hasAccess) { + Render.sendWhisperMessage( + 'GM', + title, + Html.span(Utils.escapeHtml(who), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' attempted to use ' + + Html.span(Utils.escapeHtml(access.tokenName || 'Unknown'), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' as a source token.
' + + 'Journal access: ' + (access.journalAccess ? 'true' : 'false') + ' | ' + + 'Control access: ' + (access.controlAccess ? 'true' : 'false') + '.', + 'warning' + ); + } + }, + + getControllerDisplayNames(character) { + if (!character) return []; + + const controllersRaw = String(character.get('controlledby') || ''); + const controllerIds = controllersRaw + .split(',') + .map((id) => String(id || '').trim()) + .filter((id) => id && id !== 'all'); + + const names = controllerIds + .map((id) => { + const player = getObj('player', id); + if (!player) return ''; + return String(player.get('_displayname') || player.get('displayname') || '').trim(); + }) + .filter(Boolean); + + return Utils.uniqueNames(names); + }, + + getTokenContext(tokenId = '', fallbackName = '') { + const resolved = this.resolveTokenRef(tokenId); + const token = resolved.token; + const character = resolved.character; + const tokenName = String( + resolved.tokenName || + fallbackName || + tokenId + ).trim(); + + return { + token, + character, + tokenId: resolved.tokenId, + characterId: resolved.characterId, + tokenName, + controllerNames: this.getControllerDisplayNames(character) + }; + }, + + async getSheet(characterId, attrName, prop) { + return prop ? getSheetItem(characterId, attrName, prop) : getSheetItem(characterId, attrName); + }, + + async setSheet(characterId, attrName, value, options = {}) { + const safeCharacterId = String(characterId || '').trim(); + const safeAttrName = String(attrName || '').trim(); + const protectStore = !(options && options.protectStore === false); + const snapshotValue = options && Object.prototype.hasOwnProperty.call(options, 'snapshotValue') + ? options.snapshotValue + : value; + let storeSnapshot = null; + let storeCurrentAfterSet = null; + + if (protectStore && safeCharacterId && safeAttrName.toLowerCase() !== 'store') { + storeSnapshot = InventoryService.snapshotInventoryStoreAttribute(safeCharacterId); + } + + try { + const result = await setSheetItem(characterId, attrName, value); + if (storeSnapshot) { + const afterSnapshot = InventoryService.snapshotInventoryStoreAttribute(safeCharacterId); + storeCurrentAfterSet = afterSnapshot ? afterSnapshot.current : null; + } + return result; + } finally { + if (storeSnapshot) { + InventoryService.updateInventorySnapshotValue( + storeSnapshot, + InventoryService.getSheetSnapshotCandidateKeys(safeAttrName), + snapshotValue, + { currentAfterSet: storeCurrentAfterSet } + ); + InventoryService.restoreInventoryStoreAttribute( + storeSnapshot, + 'after-setSheetItem:' + safeAttrName + ); + } + } + } + }; + + /** ----------------------------------------------------------------------- + * @section Models + * --------------------------------------------------------------------- */ + class ItemRawData { + constructor({ + id = '', + blueprint = '', + + name = '', + displayName = '', + description = '', + quantity = 0, + weight = 0, + AC = '', + modifier = '', + debuff = '', + requirement = '', + + type = '', + subtype = '', + + rarity = 'common', + defaultPrice = 0, + defaultPriceType = 'gp', + imageUrl = '', + + effect = '', + diceCount = 0, + diceSide = 0, + bonus = 0, + rollBonus = 0, + area = 'single', + + damage = '', + damageType = '', + properties = '', + mastery = '', + tags = '', + + equippable = undefined, + Equippable = undefined, + equipped = undefined, + Equipped = undefined, + attunement = false, + attuned = false, + attunementPrerequisite = '', + + consumable = false, + usable = false, + useTarget = true, + useRange = '', + consumableRange = '', + questItem = false, + } = {}) { + this.id = String(id); + this.blueprint = String(blueprint); + this.blueprint = (blueprint && typeof blueprint === 'object') + ? InventoryService.cloneJsonSafe(blueprint) + : String(blueprint || ''); + + this.name = String(name); + this.displayName = String(displayName); + this.description = String(description); + this.quantity = Math.max(0, Number(quantity) || 0); + this.weight = Number(weight) || 0; + this.AC = String(AC); + this.modifier = String(modifier); + this.debuff = String(debuff); + this.requirement = String(requirement); + + this.type = String(type); + this.subtype = String(subtype); + + this.rarity = String(rarity || 'common'); + this.defaultPrice = Number(defaultPrice) || 0; + this.defaultPriceType = String(defaultPriceType || 'gp'); + this.imageUrl = String(imageUrl); + + this.effect = String(effect); + this.diceCount = Number(diceCount) || 0; + this.diceSide = Number(diceSide) || 0; + this.bonus = Number(bonus) || 0; + this.rollBonus = Number(rollBonus) || 0; + this.area = String(area || 'single'); + + this.damage = String(damage); + this.damageType = String(damageType); + this.properties = String(properties); + this.mastery = String(mastery); + this.tags = String(tags); + + this.equippable = Utils.toBoolean(equippable !== undefined ? equippable : Equippable, false); + this.equipped = Utils.toBoolean(equipped !== undefined ? equipped : Equipped, false); + this.attunement = Utils.toBoolean(attunement, false); + this.attuned = Utils.toBoolean(attuned, false); + this.attunementPrerequisite = String(attunementPrerequisite); + + this.consumable = Utils.toBoolean(consumable, false); + this.usable = Utils.toBoolean(usable, false); + this.useTarget = Utils.toBoolean(useTarget, true); + this.useRange = String(useRange || consumableRange || ''); + this.consumableRange = this.useRange; + this.questItem = Utils.toBoolean(questItem, false); + } + } + + class ShopItemRecord extends ItemRawData { + constructor(data = {}) { + const input = (data && typeof data === 'object') ? data : {}; + const safeName = String(input.name || input.recordName || '').trim(); + const catalogItem = ItemCatalog.getByName(safeName); + const merged = Object.assign({}, catalogItem || {}, input); + const defaultPrice = Number(merged.defaultPrice) || 0; + const defaultPriceType = String(merged.defaultPriceType || CONFIG.CURRENCY_FALLBACK); + const explicitPrice = input.price !== null && + input.price !== undefined && + String(input.price).trim() !== '' && + String(input.price).trim() !== '-'; + const explicitPriceType = input.priceType !== null && + input.priceType !== undefined && + String(input.priceType).trim() !== '' && + String(input.priceType).trim() !== '-'; + const quantityValue = input.quantity === null || input.quantity === undefined || String(input.quantity).trim() === '' + ? SHOP_INFINITE_STOCK + : Math.max(1, Utils.toInt(input.quantity, SHOP_INFINITE_STOCK)); + const stockValue = input.stock === null || input.stock === undefined || String(input.stock).trim() === '' + ? quantityValue + : Math.max(0, Utils.toInt(input.stock, quantityValue)); + + merged.name = String(merged.name || safeName).trim(); + merged.quantity = quantityValue; + merged.defaultPrice = explicitPrice ? (Number(input.price) || 0) : defaultPrice; + merged.defaultPriceType = explicitPriceType + ? (InventoryService.normalizeCurrencyType(input.priceType) || defaultPriceType) + : defaultPriceType; + + super(merged); + + this.id = String(merged.id || this.name).trim(); + this.quantity = quantityValue; + this.stock = stockValue; + this.price = Number(merged.defaultPrice) || 0; + this.priceType = InventoryService.normalizeCurrencyType(merged.defaultPriceType) || CONFIG.CURRENCY_FALLBACK; + this.hidden = Utils.toBoolean(input.hidden, false); + this.tags = String(input.tags !== undefined ? input.tags : this.tags || ''); + } + + isInfiniteStock() { + return Math.max(0, Utils.toInt(this.stock, 0)) >= SHOP_INFINITE_STOCK; + } + + toJSON() { + return { + name: this.name, + price: this.price, + priceType: this.priceType, + stock: this.stock + }; + } + } + + class Shop { + constructor({ + id = '', + name = '', + icon = '', + itemList = [], + state = 'close', + hidden = undefined, + config = {}, + blacklist = [], + location = [], + salesLedger = [], + itemsSold = [], + earnings = {}, + createdAt = 0, + updatedAt = 0 + } = {}) { + const now = Date.now(); + this.id = Shop.normalizeId(id || name); + this.name = String(name || this.id || 'Shop').trim(); + this.icon = String(icon || '🏪').trim() || '🏪'; + this.itemList = (Array.isArray(itemList) ? itemList : []) + .map((item) => new ShopItemRecord(item)) + .filter((item) => item.name); + const legacyHiddenState = String(state || '').trim().toLowerCase() === 'hidden'; + this.state = Shop.normalizeState(state); + this.hidden = Utils.toBoolean(hidden, legacyHiddenState); + this.config = Object.assign({}, SHOP_DEFAULT_CONFIG, config || {}); + this.config.hidePrice = Utils.toBoolean(this.config.hidePrice, SHOP_DEFAULT_CONFIG.hidePrice); + this.config.hasStock = Utils.toBoolean(this.config.hasStock, SHOP_DEFAULT_CONFIG.hasStock); + this.blacklist = Utils.uniqueNames(Array.isArray(blacklist) ? blacklist : []); + this.location = Shop.normalizeLocation(location); + this.salesLedger = Shop.normalizeSalesLedger(Array.isArray(salesLedger) && salesLedger.length ? salesLedger : itemsSold); + this.earnings = Shop.normalizeEarnings(earnings); + this.createdAt = Number(createdAt) || now; + this.updatedAt = Number(updatedAt) || now; + } + + static normalizeId(value = '') { + return String(value || '') + .trim() + .toLowerCase() + .replace(/[^a-z0-9_-]+/g, '-') + .replace(/^-+|-+$/g, ''); + } + + static normalizeState(value = '') { + const safeState = String(value || '').trim().toLowerCase(); + if (safeState === 'closed') return 'close'; + if (safeState === 'hidden') return 'close'; + return SHOP_STATES.includes(safeState) ? safeState : 'close'; + } + + static normalizeLocation(value = []) { + const source = Array.isArray(value) + ? value + : String(value || '').split(','); + return Utils.uniqueNames( + source + .map((entry) => String(entry || '').trim()) + .filter(Boolean) + ); + } + + static normalizeSalesLedger(value = []) { + const source = Array.isArray(value) ? value : []; + const byName = {}; + + for (let i = 0; i < source.length; i += 1) { + const entry = source[i] || {}; + const name = String(entry.name || entry.itemName || '').trim(); + if (!name) continue; + const key = name.toLowerCase(); + const quantity = Math.max(0, Utils.toInt(entry.quantity || entry.qty || entry.sold, 0)); + if (!byName[key]) byName[key] = { name, quantity: 0 }; + byName[key].quantity += quantity; + } + + return Object.keys(byName) + .map((key) => byName[key]) + .filter((entry) => entry.quantity > 0) + .sort((a, b) => String(a.name || '').localeCompare(String(b.name || ''))); + } + + static normalizeEarnings(value = {}) { + const safeValue = value && typeof value === 'object' ? value : {}; + return { + cp: Math.max(0, Utils.toInt(safeValue.cp, 0)), + sp: Math.max(0, Utils.toInt(safeValue.sp, 0)), + gp: Math.max(0, Utils.toInt(safeValue.gp, 0)) + }; + } + + isOpen() { + return this.state === 'open'; + } + + isHidden() { + return Utils.toBoolean(this.hidden, false); + } + + findItem(itemName = '') { + const key = String(itemName || '').trim().toLowerCase(); + if (!key) return null; + return this.itemList.find((item) => String(item.name || '').trim().toLowerCase() === key) || null; + } + + upsertItem(itemData = {}) { + const nextItem = new ShopItemRecord(itemData); + if (!nextItem.name) return null; + + const existing = this.findItem(nextItem.name); + if (existing) { + Object.assign(existing, nextItem.toJSON()); + } else { + this.itemList.push(nextItem); + } + + this.updatedAt = Date.now(); + return nextItem; + } + + removeItem(itemName = '') { + const key = String(itemName || '').trim().toLowerCase(); + const before = this.itemList.length; + this.itemList = this.itemList.filter((item) => String(item.name || '').trim().toLowerCase() !== key); + if (this.itemList.length !== before) this.updatedAt = Date.now(); + return before !== this.itemList.length; + } + + isBlacklisted(identity = '') { + const key = String(identity || '').trim().toLowerCase(); + if (!key) return false; + return this.blacklist.some((entry) => String(entry || '').trim().toLowerCase() === key); + } + + getTotalItemsSold() { + return this.salesLedger.reduce((total, entry) => total + Math.max(0, Utils.toInt(entry.quantity, 0)), 0); + } + + getEarningsGpFloor() { + const cp = Math.max(0, Utils.toInt(this.earnings.cp, 0)); + const sp = Math.max(0, Utils.toInt(this.earnings.sp, 0)); + const gp = Math.max(0, Utils.toInt(this.earnings.gp, 0)); + return gp + Math.floor(sp / 10) + Math.floor(cp / 100); + } + + recordSale({ itemName = '', quantity = 1, currencyType = '', amount = 0 } = {}) { + const safeName = String(itemName || '').trim(); + const qty = Math.max(1, Utils.toInt(quantity, 1)); + if (safeName) { + const key = safeName.toLowerCase(); + let entry = this.salesLedger.find((row) => String(row.name || '').trim().toLowerCase() === key); + if (!entry) { + entry = { name: safeName, quantity: 0 }; + this.salesLedger.push(entry); + } + entry.quantity = Math.max(0, Utils.toInt(entry.quantity, 0)) + qty; + this.salesLedger = Shop.normalizeSalesLedger(this.salesLedger); + } + + const coinType = InventoryService.normalizeCurrencyType(currencyType); + const coinAmount = Math.max(0, Utils.toInt(amount, 0)); + if (coinType && coinAmount > 0) { + this.earnings[coinType] = Math.max(0, Utils.toInt(this.earnings[coinType], 0)) + coinAmount; + } + + this.updatedAt = Date.now(); + } + + toJSON() { + return { + id: this.id, + name: this.name, + icon: this.icon || '🏪', + itemList: this.itemList.map((item) => item.toJSON()), + state: this.state, + hidden: this.isHidden(), + config: Object.assign({}, this.config), + blacklist: this.blacklist.slice(), + location: this.location.slice(), + salesLedger: this.salesLedger.map((entry) => ({ + name: entry.name, + quantity: Math.max(0, Utils.toInt(entry.quantity, 0)) + })), + earnings: Object.assign({}, this.earnings), + createdAt: this.createdAt, + updatedAt: this.updatedAt + }; + } + } + + class ChatCommand { + constructor({ + name = '', + description = '', + trigger = '', + callback = null, + useToken = false, + enabled = true, + gmOnly = false + } = {}) { + this.name = String(name); + this.description = String(description); + this.trigger = (Array.isArray(trigger) ? trigger : [trigger]) + .map((entry) => String(entry || '').trim()) + .filter(Boolean); + this.callback = (typeof callback === 'function') ? callback : null; + this.useToken = Boolean(useToken); + this.enabled = Boolean(enabled); + this.gmOnly = Boolean(gmOnly); + } + + async execute(ctx = {}) { + if (!this.callback) return null; + return this.callback(ctx); + } + } + + /** --------------------------------------------------------------------------- + * @section Catalogs + * ------------------------------------------------------------------------- */ + const ItemCatalog = { + data: [], + byId: {}, + handoutRef: CONFIG.PORTABLE_DATABASE_HANDOUT, + field: 'notes', + raw: '', + + clear() { + this.data = []; + this.byId = {}; + }, + + register(rawItemData = {}) { + const item = new ItemRawData(rawItemData); + if (!item.id) return null; + item.equipped = false; + item.attuned = false; + this.byId[item.id] = item; + const idKey = String(item.id || '').trim(); + let replaced = false; + for (let i = 0; i < this.data.length; i += 1) { + if (String(this.data[i] && this.data[i].id || '').trim() !== idKey) continue; + this.data[i] = item; + replaced = true; + break; + } + if (!replaced) this.data.push(item); + return item; + }, + + getByID(itemId = '') { + return this.byId[String(itemId)] || null; + }, + + getByName(itemName = '') { + const safeName = String(itemName || '').trim().toLowerCase(); + if (!safeName) return null; + + for (let i = this.data.length - 1; i >= 0; i -= 1) { + const item = this.data[i]; + if (String(item && item.name || '').trim().toLowerCase() === safeName) return item; + } + return null; + }, + + getAll() { + return this.data.slice(); + } + }; + + const BLUEPRINT_TAGS = { + name: 'nm', + type: 'tp', + description: 'dn', + quantity: 'qt', + weight: 'wt', + properties: 'ps', + equipData: 'eD', + equippable: 'ee', + weaponData: 'wD', + armorData: 'aD', + shieldData: 'sD', + category: 'cy', + training: 'tg', + strengthMinimum: 'sM', + childSummary: 'cS', + Attack: 'Ak', + 'Armor Class': 'AC', + 'Roll Bonus': 'RB', + Speed: 'sp', + Resource: 'rs', + Spell: 'sl', + Upcasting: 'up', + Sense: 'se', + Condition: 'co', + 'Hit Points': 'HP', + Proficiency: 'pf', + 'Generic Roll': 'GR', + Flag: 'fl', + Damage: 'dm', + Healing: 'hl', + damageType: 'dT', + isTemp: 'iT', + hitpointType: 'hT', + isFixed: 'iF', + ignoreValue: 'iV', + children: 'ch', + record: 'rd', + actionType: 'aT', + autoHit: 'aH', + repeat: 'rp', + _reach: 'rh', + aoe: 'ao', + relations: 'rl', + excludeFamilialResources: 'eF', + abilityBonus: 'aB', + overrideCrit: 'oC', + critBonus: 'cB', + ability: 'ay', + count: 'ct', + Attunement: 'Am', + 'Ability Score': 'AS', + attuned: 'an', + requireEquip: 'rE', + calculation: 'cl', + defaultAbility: 'dA', + bonusCategory: 'bC', + bonusDetails: 'bD', + bonusName: 'bN', + bonusValue: 'bV', + diceCount: 'dC', + totalRoll: 'tR', + situation: 'si', + value: 'vl', + flatValueFormula: 'FVF', + otherBonus: 'oB', + maxValueFormula: 'mF', + recoveryRate: 'rR', + flat: 'fa', + proficiency: 'py', + proficiencyLevel: 'pL', + rollAbility: 'rA', + notes: 'nt', + increaseIfAlreadyAt: 'iA', + round: 'ro', + rollString: 'rS', + rollFormula: 'rF', + flag: 'fg', + local: 'lc', + custom: 'cu', + _active: 'av', + _prepared: 'pd', + alwaysPrepared: 'aP', + castingTime: 'cT', + components: 'cm', + duration: 'du', + level: 'lv', + school: 'sc', + concentration: 'cN', + upcastText: 'uT', + ritual: 'rt', + target: 'ta', + mode: 'mo', + changeMode: 'cM', + startingLevel: 'sL', + compendiumPageID: 'cp', + parent: 'pt', + bonus: 'bo', + die: 'di', + critDie: 'cD', + range: 'rg', + attack: 'ak', + speed: 'sV' + }; + + const BLUEPRINT_TAGS_REVERSE = Object.keys(BLUEPRINT_TAGS).reduce((memo, key) => { + memo[BLUEPRINT_TAGS[key]] = key; + return memo; + }, {}); + const ITEM_BLUEPRINT_HANDOUT = 'T&T Item Blueprints'; + + const ItemsBlueprintCatalog = { + data: [], + byNameKey: {}, + byNormalizedNameKey: {}, + handoutRef: ITEM_BLUEPRINT_HANDOUT, + field: 'notes', + raw: '', + + clear() { + this.data = []; + this.byNameKey = {}; + this.byNormalizedNameKey = {}; + }, + + normalizeNameKey(value = '') { + return String(value || '') + .trim() + .toLowerCase() + .replace(/<[^>]*>/g, '') + .replace(/ /g, ' ') + .replace(/&/g, '&') + .replace(/[^a-z0-9]+/g, ' ') + .replace(/\s+/g, ' ') + .trim(); + }, + + setEntries(entries = []) { + this.clear(); + const seen = {}; + const safeEntries = Array.isArray(entries) ? entries : []; + for (let i = 0; i < safeEntries.length; i += 1) { + const entry = safeEntries[i]; + if (!entry || typeof entry !== 'object' || !entry.blueprint) continue; + const name = String(entry.name || entry.blueprint.name || '').trim(); + if (!name) continue; + const nameKey = String(name).toLowerCase(); + const normalizedNameKey = this.normalizeNameKey(name); + const finalEntry = Object.assign({}, entry, { name, nameKey, normalizedNameKey }); + const dataKey = normalizedNameKey || nameKey; + if (seen[dataKey] !== undefined) this.data[seen[dataKey]] = finalEntry; + else { + seen[dataKey] = this.data.length; + this.data.push(finalEntry); + } + this.byNameKey[nameKey] = finalEntry; + if (normalizedNameKey) this.byNormalizedNameKey[normalizedNameKey] = finalEntry; + } + }, + + getAny(itemName = '') { + const nameKey = String(itemName || '').trim().toLowerCase(); + if (!nameKey) return null; + if (this.byNameKey[nameKey]) return this.byNameKey[nameKey].blueprint || null; + const normalizedNameKey = this.normalizeNameKey(itemName); + if (normalizedNameKey && this.byNormalizedNameKey[normalizedNameKey]) { + return this.byNormalizedNameKey[normalizedNameKey].blueprint || null; + } + return null; + }, + + getAll() { + return this.data.slice(); + } + }; + + const ShopCatalog = { + byId: {}, + handoutRef: CONFIG.PORTABLE_DATABASE_HANDOUT, + field: 'notes', + raw: '', + + clear() { + this.byId = {}; + }, + + register(rawShopData = {}) { + const shop = rawShopData instanceof Shop ? rawShopData : new Shop(rawShopData); + if (!shop.id) return null; + this.byId[shop.id] = shop; + return shop; + }, + + get(shopId = '') { + return this.byId[Shop.normalizeId(shopId)] || null; + }, + + getAll() { + return Object.values(this.byId); + } + }; + + /** ----------------------------------------------------------------------- + * @section Registries + * --------------------------------------------------------------------- */ + const Registry = { + commands: new Map(), + + registerCommand(command) { + if (!(command instanceof ChatCommand)) { + throw new Error('registerCommand expects ChatCommand'); + } + + command.trigger.forEach((key) => { + this.commands.set(key, command); + }); + + return command; + }, + + getCommand(content = '') { + const parsed = Utils.splitCommand(content); + return this.commands.get(parsed.base) || null; + } + }; + + /** ----------------------------------------------------------------------- + * @section Services + * --------------------------------------------------------------------- */ + const InventoryService = { + + portableDatabaseDefaults() { + return { + version: META.VERSION, + items: [], + customItems: [], + shops: [], + customTemplates: [], + tokenDefaults: {} + }; + }, + + normalizePortableDatabasePayload(rawInput = '') { + const parsed = (rawInput && typeof rawInput === 'object') + ? rawInput + : this.tryParseHandoutPayload(rawInput); + const defaults = this.portableDatabaseDefaults(); + + if (Array.isArray(parsed)) { + return Object.assign({}, defaults, { items: parsed }); + } + + const payload = (parsed && typeof parsed === 'object') ? parsed : {}; + return Object.assign({}, defaults, payload, { + version: String(payload.version || defaults.version), + items: Array.isArray(payload.items) ? payload.items.slice() : [], + customItems: Array.isArray(payload.customItems) + ? payload.customItems.slice() + : (Array.isArray(payload['Custom Items']) ? payload['Custom Items'].slice() : []), + shops: Array.isArray(payload.shops) ? payload.shops.slice() : [], + tokenDefaults: (payload.tokenDefaults && typeof payload.tokenDefaults === 'object' && !Array.isArray(payload.tokenDefaults)) + ? Object.assign({}, payload.tokenDefaults) + : {}, + customTemplates: Array.isArray(payload.customTemplates) + ? payload.customTemplates.slice() + : (Array.isArray(payload.templates) ? payload.templates.slice() : []) + }); + }, + + async readPortableDatabase(handoutRef = CONFIG.PORTABLE_DATABASE_HANDOUT, field = 'notes', options = {}) { + const safeRef = String(handoutRef || CONFIG.PORTABLE_DATABASE_HANDOUT).trim(); + const safeField = String(field || 'notes').trim(); + let raw = ''; + try { + raw = await Handout.read(safeRef, safeField, { createIfMissing: !!options.createIfMissing }); + } catch (error) { + if (!options.createIfMissing) throw error; + raw = ''; + } + return { + handoutRef: safeRef, + field: safeField, + raw, + payload: this.normalizePortableDatabasePayload(raw) + }; + }, + + async writePortableDatabase(payload = {}, handoutRef = CONFIG.PORTABLE_DATABASE_HANDOUT, field = 'notes') { + const safeRef = String(handoutRef || CONFIG.PORTABLE_DATABASE_HANDOUT).trim(); + const safeField = String(field || 'notes').trim(); + const normalized = this.normalizePortableDatabasePayload(payload); + delete normalized.blueprints; + normalized.version = META.VERSION; + const content = JSON.stringify(normalized); + await Handout.write( + safeRef, + '
' + Utils.escapeHtml(content) + '
', + safeField, + { createIfMissing: true } + ); + return { handoutRef: safeRef, field: safeField, payload: normalized, raw: content }; + }, + + async loadItemCatalogFromHandout(handoutRef = ItemCatalog.handoutRef, field = ItemCatalog.field) { + const database = await this.readPortableDatabase(handoutRef, field, { createIfMissing: true }); + const sourceItems = [] + .concat(Array.isArray(database.payload.items) ? database.payload.items : []) + .concat(Array.isArray(database.payload.customItems) ? database.payload.customItems : []); + + ItemCatalog.handoutRef = database.handoutRef; + ItemCatalog.field = database.field; + ItemCatalog.raw = database.raw; + ItemCatalog.clear(); + + sourceItems.forEach((rawItem, index) => { + const normalizedItem = Object.assign({}, rawItem); + if (!normalizedItem.id) { + normalizedItem.id = 'item_' + (index + 1); + } + + ItemCatalog.register(normalizedItem); + }); + + return ItemCatalog.getAll(); + }, + + translateBlueprintTags(value, direction = 'decode') { + const map = direction === 'decode' ? BLUEPRINT_TAGS_REVERSE : BLUEPRINT_TAGS; + if (Array.isArray(value)) return value.map((entry) => this.translateBlueprintTags(entry, direction)); + if (value && typeof value === 'object') { + const out = {}; + const keys = Object.keys(value); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + out[map[key] || key] = this.translateBlueprintTags(value[key], direction); + } + return out; + } + if (typeof value === 'string') return map[value] || value; + return value; + }, + + compactBlueprintForStorage(value) { + return this.translateBlueprintTags(value, 'encode'); + }, + + expandBlueprintFromStorage(value) { + return this.translateBlueprintTags(value, 'decode'); + }, + + tryParseBlueprintEntries(rawText = '') { + const parsed = this.expandBlueprintFromStorage(this.tryParseHandoutPayload(rawText)); + if (Array.isArray(parsed)) return parsed; + if (parsed && typeof parsed === 'object' && Array.isArray(parsed.blueprints)) return parsed.blueprints; + if (parsed && typeof parsed === 'object' && Array.isArray(parsed.customBlueprints)) return parsed.customBlueprints; + if (parsed && typeof parsed === 'object' && Array.isArray(parsed.customTemplates)) { + return parsed.customTemplates.filter((entry) => entry && entry.blueprint); + } + return null; + }, + + normalizeBlueprintEntry(entry = {}) { + if (!entry || typeof entry !== 'object' || Array.isArray(entry)) return null; + const expandedEntry = this.expandBlueprintFromStorage(entry); + const blueprint = expandedEntry.blueprint && typeof expandedEntry.blueprint === 'object' + ? expandedEntry.blueprint + : (expandedEntry.item || expandedEntry.children ? expandedEntry : null); + if (!blueprint || typeof blueprint !== 'object') return null; + const name = String(expandedEntry.name || blueprint.name || '').trim(); + if (!name) return null; + blueprint.name = String(blueprint.name || name).trim(); + return { name, blueprint }; + }, + + async loadItemBlueprintsFromHandout(handoutRef = '') { + const requestedRef = String(handoutRef || '').trim() || ITEM_BLUEPRINT_HANDOUT; + const refs = [requestedRef].filter(Boolean); + const blueprints = []; + const loadedRefs = []; + + ItemsBlueprintCatalog.clear(); + + for (let i = 0; i < refs.length; i += 1) { + const safeRef = String(refs[i] || '').trim(); + if (!safeRef) continue; + + let notesRaw = ''; + let gmnotesRaw = ''; + try { + notesRaw = await Handout.read(safeRef, 'notes'); + } catch (error) {} + try { + gmnotesRaw = await Handout.read(safeRef, 'gmnotes'); + } catch (error) {} + + let entries = this.tryParseBlueprintEntries(notesRaw); + if (!Array.isArray(entries) || !entries.length) entries = this.tryParseBlueprintEntries(gmnotesRaw); + if (!Array.isArray(entries) || !entries.length) continue; + + loadedRefs.push(safeRef); + for (let j = 0; j < entries.length; j += 1) { + const normalized = this.normalizeBlueprintEntry(entries[j]); + if (normalized) blueprints.push(normalized); + } + } + + ItemsBlueprintCatalog.handoutRef = requestedRef; + ItemsBlueprintCatalog.raw = loadedRefs.join(', '); + ItemsBlueprintCatalog.setEntries(blueprints); + return ItemsBlueprintCatalog.getAll(); + }, + + blueprintChildRules() { + return { + Attack: { + strings: ['actionType', 'range', 'description', 'proficiencyLevel'], + own: [['autoHit', 'autoHit'], ['repeat', 'repeat'], ['_reach', '_reach']], + objects: ['attack', 'save', 'aoe', 'relations'] + }, + Action: { + strings: ['actionType', 'description'], + own: [['excludeFamilialResources', 'excludeFamilialResources']], + objects: ['relations'] + }, + Damage: { + strings: ['ability', 'damageType'], + own: [['_bonus', 'bonus'], ['diceCount', 'count'], ['overrideCrit', 'overrideCrit'], ['critBonus', 'critBonus']], + aliases: [['diceSize', 'die'], ['critDiceSize', 'critDie']] + }, + Item: { + own: [['quantity', 'quantity'], ['weight', 'weight'], ['properties', 'properties']], + objects: ['equipData', 'weaponData', 'armorData', 'shieldData'] + }, + Healing: { + strings: ['ability'], + own: [['_bonus', 'bonus'], ['diceCount', 'count'], ['isTemp', 'isTemp'], ['overrideCrit', 'overrideCrit']], + aliases: [['diceSize', 'die'], ['critDiceSize', 'critDie']] + }, + Attunement: { + own: [['_attuned', 'attuned'], ['requireEquip', 'requireEquip']] + }, + 'Ability Score': { + strings: ['ability', 'calculation'], + formula: true + }, + 'Armor Class': { + strings: ['calculation'], + own: [['defaultAbility', 'defaultAbility']], + formula: true + }, + Defense: { + strings: ['damage', 'condition', 'defense', 'details'] + }, + 'Roll Bonus': { + own: [ + ['bonusCategory', 'bonusCategory'], + ['bonusDetails', 'bonusDetails'], + ['bonusName', 'bonusName'], + ['bonusValue', 'bonusValue'], + ['diceCount', 'diceCount'], + ['totalRoll', 'totalRoll'], + ['situation', 'situation'] + ] + }, + Speed: { + strings: ['calculation', 'speed'], + formula: true + }, + Resource: { + own: [['value', 'value'], ['maxValueFormula', 'maxValueFormula'], ['recoveryRate', 'recoveryRate'], ['relations', 'relations']] + }, + Spell: { + strings: ['castingTime', 'description', 'duration', 'range', 'school', 'upcastText'], + own: [['_prepared', '_prepared'], ['alwaysPrepared', 'alwaysPrepared'], ['level', 'level'], ['concentration', 'concentration'], ['ritual', 'ritual']], + objects: ['components', 'aoe', 'relations'] + }, + Upcasting: { + strings: ['changeMode', 'mode', 'target'], + own: [['level', 'level'], ['startingLevel', 'startingLevel'], ['value', 'value']] + }, + Sense: { + strings: ['calculation'], + own: [['ignoreValue', 'ignoreValue']], + formula: true + }, + Condition: { + strings: ['custom', 'description'], + own: [['_active', 'active']] + }, + 'Hit Points': { + strings: ['calculation', 'hitpointType'], + own: [['isFixed', 'isFixed'], ['isTemp', 'isTemp']], + formula: true + }, + Proficiency: { + strings: ['category', 'notes', 'proficiency', 'proficiencyLevel', 'rollAbility'], + own: [['increaseIfAlreadyAt', 'increaseIfAlreadyAt']] + }, + 'Generic Roll': { + strings: ['rollString'] + }, + Flag: { + strings: ['flag'], + own: [['local', 'local']] + }, + Effect: { + own: [ + ['category', 'category'], + ['description', 'description'], + ['diceValue', 'diceValue'], + ['damageType', 'damageType'], + ['situation', 'situation'], + ['flatValueFormula', 'flatValueFormula'], + ['otherBonus', 'otherBonus'], + ['relations', 'relations'], + ['_active', 'active'] + ] + }, + fallback: { + own: [ + ['description', 'description'], + ['details', 'details'], + ['category', 'category'], + ['value', 'value'], + ['calculation', 'calculation'] + ], + formula: true + } + }; + }, + + blueprintChildSourceByType(type = '') { + const map = { + Attack: 'Item', + Action: 'Item', + Spell: 'Item', + 'Armor Class': 'Armor' + }; + return map[String(type || '').trim()] || ''; + }, + + shouldUseDefaultEquipCascade(childType = '') { + const map = { + Attack: true, + Damage: true, + 'Armor Class': true, + 'Ability Score': true, + Defense: true, + 'Roll Bonus': true, + Effect: true, + Speed: true + }; + return !!map[String(childType || '').trim()]; + }, + + blueprintOwn(obj, key) { + return Object.prototype.hasOwnProperty.call(obj || {}, key); + }, + + setStringIfPresent(out, outKey, source, sourceKey = outKey) { + const value = String((source || {})[sourceKey] || '').trim(); + if (value) out[outKey] = value; + }, + + setOwnIfPresent(out, outKey, source, sourceKey = outKey) { + if (this.blueprintOwn(source, sourceKey)) out[outKey] = this.cloneJsonSafe(source[sourceKey]); + }, + + applyBlueprintRule(out, source, rule) { + if (!rule) return; + const strings = Array.isArray(rule.strings) ? rule.strings : []; + for (let i = 0; i < strings.length; i += 1) this.setStringIfPresent(out, strings[i], source, strings[i]); + const objects = Array.isArray(rule.objects) ? rule.objects : []; + for (let i = 0; i < objects.length; i += 1) { + const key = objects[i]; + if (source[key] && typeof source[key] === 'object') out[key] = this.cloneJsonSafe(source[key]); + } + const aliases = Array.isArray(rule.aliases) ? rule.aliases : []; + for (let i = 0; i < aliases.length; i += 1) this.setStringIfPresent(out, aliases[i][1], source, aliases[i][0]); + const ownPairs = Array.isArray(rule.own) ? rule.own : []; + for (let i = 0; i < ownPairs.length; i += 1) this.setOwnIfPresent(out, ownPairs[i][1], source, ownPairs[i][0]); + }, + + remapBlueprintFormula(value, expand = false) { + if (!value || typeof value !== 'object') return undefined; + const pairs = [ + ['flatValue', 'flat'], + ['ability', 'ability'], + ['proficiency', 'proficiency'], + ['round', 'round'] + ]; + const out = {}; + for (let i = 0; i < pairs.length; i += 1) { + const sourceKey = expand ? pairs[i][1] : pairs[i][0]; + const targetKey = expand ? pairs[i][0] : pairs[i][1]; + if (this.blueprintOwn(value, sourceKey)) out[targetKey] = this.cloneJsonSafe(value[sourceKey]); + } + return Object.keys(out).length ? out : undefined; + }, + + compactCascadeMap(value, aliasByRef = {}) { + if (!value || typeof value !== 'object' || Array.isArray(value)) return []; + const keys = Object.keys(value).sort((a, b) => a.localeCompare(b)); + const out = []; + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const ref = aliasByRef[String(key || '').trim()] || String(key || '').trim(); + const actions = this.parseJsonArrayOrList(value[key]); + if (!ref || !actions.length) continue; + if (ref === 'i' && actions.length === 1 && actions[0] === 'Equip') continue; + out.push({ ref, actions }); + } + return out; + }, + + expandCascadeList(value) { + const list = Array.isArray(value) ? value : []; + const out = {}; + for (let i = 0; i < list.length; i += 1) { + const entry = list[i] || {}; + const ref = String(entry.ref || '').trim(); + if (!ref) continue; + out[ref] = JSON.stringify(Array.isArray(entry.actions) ? entry.actions : []); + } + return out; + }, + + compactCommonBlueprintChild(id = '', node = {}, aliasByRef = {}) { + const out = { + id, + type: String(node.type || 'Unknown').trim() || 'Unknown' + }; + const parentAlias = aliasByRef[String(node.parentID || '').trim()] || + aliasByRef[String(node.sourceID || node.sourceId || '').trim()] || + ''; + if (parentAlias && parentAlias !== 'i') out.parent = parentAlias; + const cascades = this.compactCascadeMap(node.cascades, aliasByRef); + if (cascades.length) out.cascades = cascades; + this.setStringIfPresent(out, 'name', node); + const recordName = String(node.recordName || node.recordname || '').trim(); + if (recordName && recordName !== String(out.name || '').trim()) out.record = recordName; + this.setStringIfPresent(out, 'compendiumPageID', node); + return out; + }, + + inferAttackAbilityBonus(node = {}) { + const attack = node && node.attack && typeof node.attack === 'object' ? node.attack : {}; + if (String(attack.abilityBonus || '').trim()) return ''; + const label = String((node.name || '') + ' ' + (node.recordName || node.recordname || '')).toLowerCase(); + const abilityTerms = [ + ['strength', 'str', 'Strength'], + ['dexterity', 'dex', 'Dexterity'], + ['constitution', 'con', 'Constitution'], + ['intelligence', 'int', 'Intelligence'], + ['wisdom', 'wis', 'Wisdom'], + ['charisma', 'cha', 'Charisma'] + ]; + for (let i = 0; i < abilityTerms.length; i += 1) { + const full = abilityTerms[i][0]; + const short = abilityTerms[i][1]; + if (label.indexOf(full) >= 0 || new RegExp('(^|[^a-z])' + short + '([^a-z]|$)').test(label)) { + return abilityTerms[i][2]; + } + } + const attackType = String(attack.type || '').trim().toLowerCase(); + if (attackType === 'melee') return 'Strength'; + if (attackType === 'ranged') return 'Dexterity'; + return ''; + }, + + compactBlueprintChild(id = '', node = {}, aliasByRef = {}) { + const type = String(node.type || 'Unknown').trim() || 'Unknown'; + const out = this.compactCommonBlueprintChild(id, node, aliasByRef); + const rules = this.blueprintChildRules(); + const rule = rules[type] || rules.fallback; + this.applyBlueprintRule(out, node, rule); + if (type === 'Attack' && out.attack && typeof out.attack === 'object') { + const inferredAbility = this.inferAttackAbilityBonus(node); + if (inferredAbility && !String(out.attack.abilityBonus || '').trim()) out.attack.abilityBonus = inferredAbility; + } + if (type === 'Attack') { + if (this.blueprintOwn(node, 'onHitDisplay')) { + out.onHit = node.onHitDisplay === undefined || node.onHitDisplay === null ? '' : String(node.onHitDisplay); + } else if (this.blueprintOwn(node, 'onHit')) { + out.onHit = node.onHit === undefined || node.onHit === null ? '' : String(node.onHit); + } + } + if (rule.formula) { + const formula = this.remapBlueprintFormula(node.valueFormula, false); + if (formula) out.value = formula; + } + return out; + }, + + expandBlueprintChild(child = {}) { + if (!child || typeof child !== 'object') return null; + const expanded = this.expandBlueprintFromStorage(child); + const type = String(expanded.type || 'Unknown').trim() || 'Unknown'; + const rules = this.blueprintChildRules(); + const rule = rules[type] || rules.fallback; + const node = { + childIDs: '[]', + shortID: 'bp_' + (String(expanded.id || '').trim() || this.makeShortId()).replace(/[^A-Za-z0-9_-]/g, '_'), + source: this.blueprintChildSourceByType(type), + type + }; + node.parentID = String(expanded.parent || 'i').trim() || 'i'; + if (type === 'Attack') node.sourceID = 'i'; + this.setStringIfPresent(node, 'name', expanded); + if (String(expanded.record || '').trim()) node.recordName = String(expanded.record || '').trim(); + else if (String(node.name || '').trim()) node.recordName = String(node.name || '').trim(); + this.setStringIfPresent(node, 'compendiumPageID', expanded); + const cascades = this.expandCascadeList(expanded.cascades); + if (Object.keys(cascades).length) node.cascades = cascades; + + if (type === 'Attack') { + node.actionType = String(expanded.actionType || 'Action'); + if (this.blueprintOwn(expanded, 'onHit')) { + node.onHitDisplay = expanded.onHit === undefined || expanded.onHit === null ? '' : String(expanded.onHit); + } else if (this.blueprintOwn(expanded, 'onHitDisplay')) { + node.onHitDisplay = expanded.onHitDisplay === undefined || expanded.onHitDisplay === null ? '' : String(expanded.onHitDisplay); + } + } else if (type === 'Damage') { + node.ability = String(expanded.ability || 'auto'); + node.diceSize = String(expanded.die || '').trim(); + node.damageType = String(expanded.damageType || '').trim(); + node.critDiceSize = String(expanded.critDie || '').trim(); + node.overrideCrit = Boolean(expanded.overrideCrit); + } else if (type === 'Healing') { + node.ability = String(expanded.ability || 'none'); + node.diceSize = String(expanded.die || '').trim(); + node.critDiceSize = String(expanded.critDie || '').trim(); + node.isTemp = Boolean(expanded.isTemp); + node.overrideCrit = Boolean(expanded.overrideCrit); + } else if (type === 'Item') { + node.quantity = Math.max(1, Utils.toInt(expanded.quantity, 1)); + node.equipData = expanded.equipData && typeof expanded.equipData === 'object' + ? this.cloneJsonSafe(expanded.equipData) + : { equippable: false }; + } else if (type === 'Attunement') { + node._attuned = Boolean(expanded.attuned); + } + + const strings = Array.isArray(rule.strings) ? rule.strings : []; + for (let i = 0; i < strings.length; i += 1) this.setStringIfPresent(node, strings[i], expanded, strings[i]); + const objects = Array.isArray(rule.objects) ? rule.objects : []; + for (let i = 0; i < objects.length; i += 1) { + const key = objects[i]; + if (expanded[key] && typeof expanded[key] === 'object') node[key] = this.cloneJsonSafe(expanded[key]); + } + const aliases = Array.isArray(rule.aliases) ? rule.aliases : []; + for (let i = 0; i < aliases.length; i += 1) this.setStringIfPresent(node, aliases[i][0], expanded, aliases[i][1]); + const ownPairs = Array.isArray(rule.own) ? rule.own : []; + for (let i = 0; i < ownPairs.length; i += 1) { + if ((type === 'Damage' || type === 'Healing') && ownPairs[i][1] === 'overrideCrit') continue; + if (type === 'Healing' && ownPairs[i][1] === 'isTemp') continue; + if (type === 'Attunement' && ownPairs[i][1] === 'attuned') continue; + this.setOwnIfPresent(node, ownPairs[i][0], expanded, ownPairs[i][1]); + } + if (rule.formula) { + const formula = this.remapBlueprintFormula(expanded.value, true); + if (formula) node.valueFormula = formula; + } + return node; + }, + + buildBlueprintAliasMap(itemRowId = '', itemNode = {}, childNodes = {}) { + const aliases = {}; + const assignedIds = {}; + const register = (rowId, node, alias) => { + const id = String(rowId || '').trim(); + if (id) { + aliases[id] = alias; + assignedIds[id] = true; + } + const sid = node && typeof node === 'object' ? String(node.shortID || '').trim() : ''; + if (sid) aliases[sid] = alias; + }; + register(itemRowId, itemNode, 'i'); + const assignTree = (rowId, alias) => { + const id = String(rowId || '').trim(); + const child = childNodes[id]; + if (!id || !child || typeof child !== 'object') return; + if (assignedIds[id]) return; + register(id, child, alias); + const nested = this.parseChildIdList(child.childIDs); + for (let n = 0; n < nested.length; n += 1) assignTree(nested[n], alias + '-c' + String(n + 1)); + }; + const topIds = this.parseChildIdList(itemNode.childIDs); + for (let i = 0; i < topIds.length; i += 1) assignTree(topIds[i], 'c' + String(i + 1)); + const remaining = Object.keys(childNodes).sort((a, b) => a.localeCompare(b)); + let extraIndex = 1; + for (let i = 0; i < remaining.length; i += 1) { + const id = remaining[i]; + if (assignedIds[id]) continue; + assignTree(id, 'x' + String(extraIndex)); + extraIndex += 1; + } + return aliases; + }, + + buildCompactInventoryBlueprint(rootEntry = {}, itemEntry = {}, source = 'store') { + if (!rootEntry || !rootEntry.root || !itemEntry || !Array.isArray(itemEntry.pathTokens)) return null; + const node = this.getAtTokens(rootEntry.root, itemEntry.pathTokens); + if (!node || typeof node !== 'object') return null; + const name = String(itemEntry.name || node.name || node.recordName || '').trim(); + if (!name) return null; + + const parentTokens = itemEntry.pathTokens.slice(0, -1); + const parentContainer = parentTokens.length ? this.getAtTokens(rootEntry.root, parentTokens) : rootEntry.root; + const childNodes = this.collectChildNodesFromObjectContainer(parentContainer, node); + const childKeys = Object.keys(childNodes); + const itemRowId = String(itemEntry.pathTokens[itemEntry.pathTokens.length - 1] || '').split('.').pop(); + const aliasByRef = this.buildBlueprintAliasMap(itemRowId, node, childNodes); + const children = []; + const typeCounts = {}; + for (let i = 0; i < childKeys.length; i += 1) { + const id = childKeys[i]; + const child = childNodes[id]; + if (!child || typeof child !== 'object') continue; + const compactId = aliasByRef[id] || ('x' + String(i + 1)); + const compact = this.compactBlueprintChild(compactId, child, aliasByRef); + const type = String(compact.type || 'Unknown').trim() || 'Unknown'; + typeCounts[type] = (typeCounts[type] || 0) + 1; + children.push(compact); + } + + const itemData = { type: String(node.type || 'Item').trim() || 'Item' }; + if (String(node.compendiumPageID || '').trim()) itemData.compendiumPageID = String(node.compendiumPageID || '').trim(); + if (String(node.description || '').trim()) itemData.description = String(node.description || '').trim(); + if (node.weight !== undefined && node.weight !== '' && String(node.weight).trim() !== '0') itemData.weight = node.weight; + const properties = this.parseJsonArrayOrList(node.properties); + if (properties.length) itemData.properties = properties; + const equipData = node.equipData && typeof node.equipData === 'object' ? node.equipData : {}; + if (equipData.equippable === true) itemData.equipData = { equippable: true }; + const weaponData = node.weaponData && typeof node.weaponData === 'object' ? this.cloneJsonSafe(node.weaponData) : {}; + if (Object.keys(weaponData).length) itemData.weaponData = weaponData; + const armorData = node.armorData && typeof node.armorData === 'object' ? this.cloneJsonSafe(node.armorData) : {}; + if (Object.keys(armorData).length) itemData.armorData = armorData; + const shieldData = node.shieldData && typeof node.shieldData === 'object' ? this.cloneJsonSafe(node.shieldData) : {}; + if (Object.keys(shieldData).length) itemData.shieldData = shieldData; + + return { name, item: itemData, childSummary: typeCounts, children }; + }, + + parseDiceFormulaPartsFromText(text = '') { + const match = String(text || '').match(/(\d*)d(\d+)\s*([+-]\s*\d+)?/i); + if (!match) return null; + return { + count: Math.max(1, Utils.toInt(match[1] || '1', 1)), + die: 'd' + String(Math.max(1, Utils.toInt(match[2], 1))), + bonus: match[3] ? Utils.toInt(String(match[3]).replace(/\s+/g, ''), 0) : 0 + }; + }, + + hydrateHealingChildNodeFromFallback(childNode = {}, blueprintName = '', itemData = {}) { + if (!childNode || String(childNode.type || '').trim() !== 'Healing') return childNode; + const hasDice = Math.max(0, Utils.toInt(childNode.diceCount, 0)) > 0 && String(childNode.diceSize || '').trim(); + if (hasDice) return childNode; + + const catalogItem = ItemCatalog.getByName(blueprintName); + const catalogRaw = catalogItem && catalogItem.toJSON ? catalogItem.toJSON() : (catalogItem || {}); + let parts = null; + const catalogDiceCount = Math.max(0, Utils.toInt(catalogRaw.diceCount, 0)); + const catalogDiceSide = Math.max(0, Utils.toInt(catalogRaw.diceSide, 0)); + if (catalogDiceCount > 0 && catalogDiceSide > 0) { + parts = { + count: catalogDiceCount, + die: 'd' + String(catalogDiceSide), + bonus: Utils.toInt(catalogRaw.bonus, 0) + }; + } + if (!parts) { + parts = this.parseDiceFormulaPartsFromText([ + itemData.description, + childNode.description, + catalogRaw.description, + catalogRaw.effect, + catalogRaw.damage + ].filter(Boolean).join(' ')); + } + if (!parts) return childNode; + + childNode.diceCount = parts.count; + childNode.diceSize = parts.die; + childNode._bonus = parts.bonus; + if (!String(childNode.ability || '').trim()) childNode.ability = 'none'; + if (!Object.prototype.hasOwnProperty.call(childNode, 'isTemp')) childNode.isTemp = false; + if (!Object.prototype.hasOwnProperty.call(childNode, 'overrideCrit')) childNode.overrideCrit = false; + return childNode; + }, + + buildItemRecordFromBlueprint(blueprint = {}, source = 'store', itemName = '') { + const expandedBlueprint = this.expandBlueprintFromStorage(blueprint); + if (!expandedBlueprint || !expandedBlueprint.item || typeof expandedBlueprint.item !== 'object') return null; + const safeSource = this.normalizeSourceKey(source || 'store'); + const name = String(itemName || expandedBlueprint.name || '').trim(); + if (!name) return null; + + const itemData = expandedBlueprint.item || {}; + const children = Array.isArray(expandedBlueprint.children) ? expandedBlueprint.children : []; + const directChildIds = children + .map((child) => this.expandBlueprintFromStorage(child)) + .filter((child) => { + const parent = String(child && child.parent || '').trim(); + return !parent || parent === 'i'; + }) + .map((child) => String(child.id || '').trim()) + .filter(Boolean); + const equippable = itemData.equipData && itemData.equipData.equippable === true; + const node = { + _enabled: true, + _label: '', + builderDisplayName: '', + childIDs: JSON.stringify(directChildIds), + description: String(itemData.description || '').trim(), + equipData: equippable ? { equippable: true, equipped: false } : { equippable: false }, + name, + parentID: '', + recordName: name, + shortID: 'bpItem', + source: '', + type: String(itemData.type || 'Item').trim() || 'Item', + quantity: 1 + }; + if (itemData.weight !== undefined && itemData.weight !== '') node.weight = itemData.weight; + if (String(itemData.compendiumPageID || '').trim()) node.compendiumPageID = String(itemData.compendiumPageID || '').trim(); + if (Array.isArray(itemData.properties)) node.properties = JSON.stringify(itemData.properties); + if (itemData.weaponData && typeof itemData.weaponData === 'object' && Object.keys(itemData.weaponData).length) { + node.weaponData = this.cloneJsonSafe(itemData.weaponData); + } + if (itemData.armorData && typeof itemData.armorData === 'object' && Object.keys(itemData.armorData).length) { + node.armorData = this.cloneJsonSafe(itemData.armorData); + } + if (itemData.shieldData && typeof itemData.shieldData === 'object' && Object.keys(itemData.shieldData).length) { + node.shieldData = this.cloneJsonSafe(itemData.shieldData); + } + + const childNodes = {}; + for (let i = 0; i < children.length; i += 1) { + const child = this.expandBlueprintFromStorage(children[i]); + const childId = String(child && child.id ? child.id : '').trim(); + if (!childId) continue; + const childNode = this.expandBlueprintChild(child); + if (!childNode) continue; + this.hydrateHealingChildNodeFromFallback(childNode, name, itemData); + const hasExplicitCascades = child.cascades && Array.isArray(child.cascades) && child.cascades.length; + if (equippable && !hasExplicitCascades && this.shouldUseDefaultEquipCascade(childNode.type)) { + childNode.cascades = { i: JSON.stringify(['Equip']) }; + } + childNode._enabled = true; + childNode._label = ''; + if (!Object.prototype.hasOwnProperty.call(childNode, 'builderDisplayName')) childNode.builderDisplayName = ''; + if (!String(childNode.shortID || '').trim()) childNode.shortID = 'bpChild' + String(i); + childNodes[childId] = childNode; + } + + const aliases = Object.keys(childNodes); + for (let i = 0; i < aliases.length; i += 1) { + const alias = aliases[i]; + const childNode = childNodes[alias]; + if (!childNode || typeof childNode !== 'object') continue; + const parentAlias = String(childNode.parentID || '').trim(); + if (!parentAlias || parentAlias === 'i') continue; + if (!childNodes[parentAlias] || typeof childNodes[parentAlias] !== 'object') continue; + const current = this.parseChildIdList(childNodes[parentAlias].childIDs); + if (current.indexOf(alias) < 0) current.push(alias); + childNodes[parentAlias].childIDs = JSON.stringify(current); + } + + return { + source: safeSource, + name, + updatedAt: Date.now(), + node, + meta: { + rowId: 'i', + childNodes + } + }; + }, + + buildTemplateRecordFromBlueprint(blueprint = {}, source = 'store', itemName = '') { + return this.buildItemRecordFromBlueprint(blueprint, source, itemName); + }, + + getBlueprintRecord(itemName = '', source = 'store', options = {}) { + const safeName = String(itemName || '').trim(); + if (!safeName) return null; + const catalogItem = ItemCatalog.getByName(safeName); + const readEmbeddedBlueprint = (value) => { + if (value && typeof value === 'object') return value; + const text = String(value === undefined || value === null ? '' : value).trim(); + if (!text || /^(none|null|in handout)$/i.test(text)) return null; + if (/^[\[{]/.test(text)) { + try { + return JSON.parse(text); + } catch (error) { + return null; + } + } + return null; + }; + const embeddedBlueprint = readEmbeddedBlueprint((options && options.blueprint) || (catalogItem && catalogItem.blueprint)); + if (embeddedBlueprint) { + const embeddedRecord = this.buildItemRecordFromBlueprint(embeddedBlueprint, source, safeName); + if (embeddedRecord) return embeddedRecord; + } + + const candidates = Utils.uniqueNames([ + /^[\[{]/.test(String((options && options.blueprint) || '').trim()) ? '' : (options && options.blueprint), + safeName, + catalogItem && catalogItem.name, + catalogItem && catalogItem.displayName, + catalogItem && catalogItem.id, + /^[\[{]/.test(String((catalogItem && catalogItem.blueprint) || '').trim()) ? '' : (catalogItem && catalogItem.blueprint) + ].filter(Boolean)); + + for (let i = 0; i < candidates.length; i += 1) { + const blueprint = ItemsBlueprintCatalog.getAny(candidates[i]); + if (!blueprint) continue; + const record = this.buildItemRecordFromBlueprint(blueprint, source, safeName); + if (record) return record; + } + return null; + }, + + normalizeInventoryItemRecord(record = null) { + if (!record || typeof record !== 'object') return null; + if (!record.node && record.record && typeof record.record === 'object') return record.record; + return record; + }, + + async resolveInventoryItemRecord(itemName = '', options = {}) { + const safeName = String(itemName || '').trim(); + if (!safeName) return { ok: false, itemRecord: null, source: '', message: 'Item name is required.' }; + + const providedRecord = this.normalizeInventoryItemRecord( + (options && options.itemRecord && typeof options.itemRecord === 'object') + ? options.itemRecord + : (options && options.templateRecord && typeof options.templateRecord === 'object') + ? options.templateRecord + : null + ); + if (providedRecord && providedRecord.node && typeof providedRecord.node === 'object') { + return { ok: true, itemRecord: providedRecord, source: 'provided' }; + } + + const fallbackItem = (options && options.fallbackItem && typeof options.fallbackItem === 'object') + ? options.fallbackItem + : null; + const optionsBlueprint = (options && options.blueprint !== undefined && options.blueprint !== null) + ? options.blueprint + : (fallbackItem && fallbackItem.blueprint); + + if (!ItemsBlueprintCatalog.getAll().length) { + await this.loadItemBlueprintsFromHandout(); + } + let itemRecord = this.getBlueprintRecord(safeName, 'store', { blueprint: optionsBlueprint }); + if (!itemRecord && optionsBlueprint) { + await this.loadItemBlueprintsFromHandout(); + itemRecord = this.getBlueprintRecord(safeName, 'store', { blueprint: optionsBlueprint }); + } + itemRecord = this.normalizeInventoryItemRecord(itemRecord); + if (itemRecord && itemRecord.node && typeof itemRecord.node === 'object') { + return { ok: true, itemRecord, source: 'blueprint' }; + } + + const catalogFallbackItem = fallbackItem || ItemCatalog.getByName(safeName); + if (catalogFallbackItem) { + itemRecord = this.buildGenericItemRecord( + safeName, + catalogFallbackItem && catalogFallbackItem.toJSON ? catalogFallbackItem.toJSON() : catalogFallbackItem + ); + if (itemRecord && itemRecord.node && typeof itemRecord.node === 'object') { + return { ok: true, itemRecord, source: 'generic' }; + } + } + + return { ok: false, itemRecord: null, source: '', message: 'Blueprint not found for "' + safeName + '".' }; + }, + + toIntOrNull(value) { + const parsed = parseInt(String(value === undefined || value === null ? '' : value).trim(), 10); + return Number.isNaN(parsed) ? null : parsed; + }, + + normalizeSourceKey() { + return 'store'; + }, + + normalizeInventoryItemKey(itemName = '') { + return String(itemName || '').trim().toLowerCase().replace(/\s+/g, ' '); + }, + + isTargetWithinTransferDistance(sourceTokenId = '', targetTokenId = '', maxDistanceFt = RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT')) { + const sourceId = String(sourceTokenId || '').trim(); + const targetId = String(targetTokenId || '').trim(); + const maxDistance = Math.max(0, Number(maxDistanceFt) || 0); + if (!sourceId || !targetId) { + return { ok: false, distanceFt: 0, maxDistanceFt: maxDistance, message: 'Missing source or target token.' }; + } + + const sourceResolved = R20.resolveTokenRef(sourceId); + const targetResolved = R20.resolveTokenRef(targetId); + const sourceToken = sourceResolved.token; + const targetToken = targetResolved.token; + if (!sourceToken || !targetToken) { + return { ok: false, distanceFt: 0, maxDistanceFt: maxDistance, message: 'Source or target token was not found.' }; + } + + const sourcePageId = String(sourceToken.get('_pageid') || sourceToken.get('pageid') || '').trim(); + const targetPageId = String(targetToken.get('_pageid') || targetToken.get('pageid') || '').trim(); + if (!sourcePageId || !targetPageId || sourcePageId !== targetPageId) { + return { ok: false, distanceFt: Infinity, maxDistanceFt: maxDistance, message: 'Tokens must be on the same page.' }; + } + + const pageObj = getObj('page', sourcePageId); + const feetPerCell = Math.max(1, Number(pageObj && pageObj.get('scale_number')) || 5); + const pxPerCell = 70; + const sx = Number(sourceToken.get('left')) || 0; + const sy = Number(sourceToken.get('top')) || 0; + const tx = Number(targetToken.get('left')) || 0; + const ty = Number(targetToken.get('top')) || 0; + const dxCells = Math.abs(sx - tx) / pxPerCell; + const dyCells = Math.abs(sy - ty) / pxPerCell; + const distanceCells = Math.max(dxCells, dyCells); + const distanceFt = distanceCells * feetPerCell; + + return { + ok: distanceFt <= maxDistance, + distanceFt, + maxDistanceFt: maxDistance, + message: (distanceFt <= maxDistance) + ? 'Target is within range.' + : Html.span( + Utils.escapeHtml(String(targetResolved.tokenName || 'Target')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;' + ) + ' is not within range for this action.' + }; + }, + + cloneJsonSafe(value) { + if (value === null || value === undefined) return value; + try { return JSON.parse(JSON.stringify(value)); } catch (e) { return value; } + }, + + stripHtml(value = '') { + return String(value || '') + .replace(//gi, '\n') + .replace(/<\/(p|div|li|tr|h[1-6])>/gi, '\n') + .replace(/]*>/gi, '- ') + .replace(/<[^>]+>/g, '') + .replace(/ /gi, ' ') + .replace(/"/gi, '"') + .replace(/'|'/gi, '\'') + .replace(/</gi, '<') + .replace(/>/gi, '>') + .replace(/&/gi, '&') + .trim(); + }, + + tryParseHandoutPayload(raw) { + const source = this.stripHtml(raw); + if (!source) return null; + + const candidates = [source]; + const firstBracket = source.indexOf('['); + const lastBracket = source.lastIndexOf(']'); + if (firstBracket >= 0 && lastBracket > firstBracket) { + candidates.push(source.slice(firstBracket, lastBracket + 1).trim()); + } + const firstBrace = source.indexOf('{'); + const lastBrace = source.lastIndexOf('}'); + if (firstBrace >= 0 && lastBrace > firstBrace) { + candidates.push(source.slice(firstBrace, lastBrace + 1).trim()); + } + + for (let i = 0; i < candidates.length; i += 1) { + const candidate = candidates[i]; + try { return JSON.parse(candidate); } catch (e) {} + try { return JSON.parse(candidate.replace(/,\s*([}\]])/g, '$1')); } catch (e) {} + } + return null; + }, + + parseRootObject(raw) { + if (raw && typeof raw === 'object') return this.cloneJsonSafe(raw); + if (typeof raw !== 'string') return null; + return this.tryParseHandoutPayload(raw); + }, + + getInventoryRootContext(characterId) { + const attrs = findObjs({ + _type: 'attribute', + _characterid: String(characterId) + }) || []; + const rootAttr = attrs.find((attr) => { + const attrName = String(attr.get('name') || '').trim().toLowerCase(); + return attrName === 'store'; + }) || null; + + return { + attrs, + rootAttr + }; + }, + + loadInventoryRoot(characterId, options = {}) { + const createIfMissing = !!options.createIfMissing; + const context = this.getInventoryRootContext(characterId); + let rootAttr = context.rootAttr; + + if (!rootAttr && createIfMissing) { + rootAttr = createObj('attribute', { + _characterid: String(characterId), + characterid: String(characterId), + name: 'store', + current: '{}' + }); + } + + if (!rootAttr) { + return { + ok: false, + message: 'Inventory source attribute not found.', + attrs: context.attrs, + rootAttr: null + }; + } + + const rawCurrent = rootAttr.get('current'); + const mode = (rawCurrent && typeof rawCurrent === 'object') ? 'object' : 'json-string'; + let root = this.parseRootObject(rawCurrent); + if ((!root || typeof root !== 'object') && createIfMissing) root = {}; + if (!root || typeof root !== 'object') { + return { + ok: false, + message: 'Inventory source is empty or invalid.', + attrs: context.attrs, + rootAttr + }; + } + + return { + ok: true, + attrs: context.attrs, + rootAttr, + rawCurrent, + mode, + root + }; + }, + + serializeInventoryRoot(rootEntry) { + if (!rootEntry || !rootEntry.rootAttr || !rootEntry.root || typeof rootEntry.root !== 'object') { + return { ok: false, message: 'Inventory root is invalid.' }; + } + if (rootEntry.mode === 'object') { + return { ok: true, value: rootEntry.root }; + } + try { + const value = JSON.stringify(rootEntry.root); + if (!this.parseRootObject(value)) { + return { ok: false, message: 'Serialized inventory root could not be parsed back.' }; + } + return { ok: true, value }; + } catch (error) { + return { + ok: false, + message: error && error.message ? error.message : String(error) + }; + } + }, + + saveInventoryRoot(rootEntry) { + const serialized = this.serializeInventoryRoot(rootEntry); + if (!serialized.ok) { + Logger.error('Inventory save blocked:', serialized.message || 'Unknown serialization error.'); + return false; + } + rootEntry.rootAttr.set('current', serialized.value); + return true; + }, + + waitForSheetWorkerCompleted(timeoutMs = 2500) { + if (typeof onSheetWorkerCompleted !== 'function') { + return Promise.resolve(false); + } + + return new Promise((resolve) => { + let done = false; + const finish = (value) => { + if (done) return; + done = true; + resolve(value); + }; + try { + onSheetWorkerCompleted(() => finish(true)); + setTimeout(() => finish(false), Math.max(250, Number(timeoutMs) || 2500)); + } catch (error) { + Logger.debug('[Inventory:equip worker wait failed]', error && error.message ? error.message : String(error)); + finish(false); + } + }); + }, + + async saveInventoryRootWithSheetWorker(characterId = '', rootEntry = null) { + if (!rootEntry || !rootEntry.rootAttr) return false; + const serialized = this.serializeInventoryRoot(rootEntry); + if (!serialized.ok) { + Logger.error('Inventory worker save blocked:', serialized.message || 'Unknown serialization error.'); + return false; + } + const value = serialized.value; + const attr = rootEntry.rootAttr; + + if (attr && typeof attr.setWithWorker === 'function') { + try { + const workerPromise = this.waitForSheetWorkerCompleted(); + attr.setWithWorker({ current: value }); + await workerPromise; + return true; + } catch (error) { + Logger.debug('[Inventory:equip setWithWorker failed]', error && error.message ? error.message : String(error)); + } + } + + return this.saveInventoryRoot(rootEntry); + }, + + snapshotInventoryStoreAttribute(characterId) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return null; + + const context = this.getInventoryRootContext(safeCharacterId); + if (!context.rootAttr) return null; + + return { + characterId: safeCharacterId, + attributeId: context.rootAttr.id, + current: this.cloneJsonSafe(context.rootAttr.get('current')) + }; + }, + + restoreInventoryStoreAttribute(snapshot, reason = '') { + if (!snapshot || !snapshot.characterId || !snapshot.attributeId) return false; + + let attr = getObj('attribute', snapshot.attributeId); + if (!attr) { + const context = this.getInventoryRootContext(snapshot.characterId); + attr = context.rootAttr; + } + if (!attr) return false; + + attr.set('current', this.cloneJsonSafe(snapshot.current)); + Logger.debug( + '[Inventory:restore store]', + 'characterId=' + String(snapshot.characterId || ''), + 'attributeId=' + String(attr.id || ''), + 'reason=' + String(reason || 'sheet-write-protection') + ); + return true; + }, + + getSheetSnapshotCandidateKeys(attrName = '') { + const safeAttrName = String(attrName || '').trim(); + if (!safeAttrName) return []; + + const normalized = safeAttrName.toLowerCase(); + const keys = [safeAttrName]; + + if (normalized === 'hp') { + keys.push('currentHP', 'currenthp'); + } else if (normalized === 'hp_max' || normalized === 'hpmax') { + keys.push('hp_max', 'maxHP', 'maxhp', 'hpMax'); + } + + return Utils.uniqueNames(keys); + }, + + updateInventorySnapshotValue(snapshot, candidateKeys = [], value, options = {}) { + if (!snapshot || !Array.isArray(candidateKeys) || !candidateKeys.length) return false; + + const originalCurrent = snapshot.current; + const parsed = this.parseRootObject(originalCurrent); + if (!parsed || typeof parsed !== 'object') return false; + const parsedAfterSet = this.parseRootObject(options && options.currentAfterSet); + + const keyLookup = {}; + for (let i = 0; i < candidateKeys.length; i += 1) { + const key = String(candidateKeys[i] || '').trim().toLowerCase(); + if (key) keyLookup[key] = true; + } + + const paths = []; + const walk = (node, path = []) => { + if (!node || typeof node !== 'object') return; + + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) { + walk(node[i], path.concat(i)); + } + return; + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const nextPath = path.concat(key); + const currentValue = node[key]; + const isWritableLeaf = currentValue === null || typeof currentValue !== 'object'; + if (isWritableLeaf && keyLookup[String(key || '').trim().toLowerCase()]) { + paths.push(nextPath); + } + walk(currentValue, nextPath); + } + }; + + walk(parsed, []); + + if (!paths.length && parsedAfterSet && typeof parsedAfterSet === 'object') { + const expectedValue = String(value === undefined || value === null ? '' : value); + const seenPath = {}; + + const walkChangedLeaves = (beforeNode, afterNode, path = []) => { + if (afterNode === null || afterNode === undefined) return; + if (typeof afterNode !== 'object') { + const beforeText = String(beforeNode === undefined || beforeNode === null ? '' : beforeNode); + const afterText = String(afterNode === undefined || afterNode === null ? '' : afterNode); + if (afterText === expectedValue && beforeText !== afterText) { + const pathKey = path.join('.'); + if (path.length && !seenPath[pathKey]) { + paths.push(path.slice()); + seenPath[pathKey] = true; + } + } + return; + } + + if (Array.isArray(afterNode)) { + for (let i = 0; i < afterNode.length; i += 1) { + const nextBefore = Array.isArray(beforeNode) ? beforeNode[i] : undefined; + walkChangedLeaves(nextBefore, afterNode[i], path.concat(i)); + } + return; + } + + const keys = Object.keys(afterNode); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const nextBefore = beforeNode && typeof beforeNode === 'object' ? beforeNode[key] : undefined; + walkChangedLeaves(nextBefore, afterNode[key], path.concat(key)); + } + }; + + walkChangedLeaves(parsed, parsedAfterSet, []); + } + + if (!paths.length) return false; + + for (let i = 0; i < paths.length; i += 1) { + this.setAtPath(parsed, paths[i], value); + } + + snapshot.current = (typeof originalCurrent === 'string') + ? JSON.stringify(parsed) + : parsed; + + Logger.debug( + '[Inventory:update snapshot]', + 'characterId=' + String(snapshot.characterId || ''), + 'paths=' + String(paths.map((path) => path.join('.')).join('|')), + 'value=' + String(value) + ); + return true; + }, + + getInventoryContainer(rootObj) { + if (!rootObj || typeof rootObj !== 'object') return null; + if ( + rootObj.integrants && + typeof rootObj.integrants === 'object' && + rootObj.integrants.integrants && + typeof rootObj.integrants.integrants === 'object' + ) { + return rootObj.integrants.integrants; + } + return rootObj; + }, + + parsePathTokens(pathText = '') { + const parts = String(pathText || '').split('.'); + const tokens = []; + for (let i = 0; i < parts.length; i += 1) { + const re = /([^\[\]]+)|\[(\d+)\]/g; + let match; + while ((match = re.exec(parts[i])) !== null) { + if (match[1]) tokens.push(match[1]); + else if (match[2]) tokens.push(Number(match[2])); + } + } + return tokens; + }, + + getAtTokens(start, tokens = []) { + let node = start; + for (let i = 0; i < tokens.length; i += 1) { + if (node === null || node === undefined) return null; + node = node[tokens[i]]; + } + return node; + }, + + ensureObjectPath(start, tokens = []) { + let node = start; + for (let i = 0; i < tokens.length; i += 1) { + const key = tokens[i]; + if (!node[key] || typeof node[key] !== 'object' || Array.isArray(node[key])) node[key] = {}; + node = node[key]; + } + return node; + }, + + parseChildIdList(value) { + if (Array.isArray(value)) return value.map((entry) => String(entry || '').trim()).filter(Boolean); + const text = String(value === undefined || value === null ? '' : value).trim(); + if (!text) return []; + try { + const parsed = JSON.parse(text); + if (!Array.isArray(parsed)) return []; + return parsed.map((entry) => String(entry || '').trim()).filter(Boolean); + } catch (e) { + return []; + } + }, + + parseJsonArrayOrList(value) { + if (Array.isArray(value)) return value.map((entry) => String(entry || '').trim()).filter(Boolean); + const text = String(value === undefined || value === null ? '' : value).trim(); + if (!text) return []; + try { + const parsed = JSON.parse(text); + if (Array.isArray(parsed)) return parsed.map((entry) => String(entry || '').trim()).filter(Boolean); + } catch (e) {} + return text + .split(',') + .map((entry) => String(entry || '').trim()) + .filter(Boolean); + }, + + normalizeStackComparable(value) { + if (value === undefined || value === null) return ''; + if (typeof value === 'string') return value.trim().toLowerCase(); + if (typeof value === 'number' || typeof value === 'boolean') return String(value); + if (Array.isArray(value)) { + return value + .map((entry) => this.normalizeStackComparable(entry)) + .filter(Boolean) + .join('|'); + } + if (typeof value === 'object') { + const ignoredKeys = { + sourceid: true, + shortid: true, + parentid: true, + createdtime: true, + arrayposition: true + }; + const keys = Object.keys(value) + .filter((key) => !ignoredKeys[String(key || '').trim().toLowerCase()]) + .sort(); + const parts = []; + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + parts.push(key + ':' + this.normalizeStackComparable(value[key])); + } + return '{' + parts.join(',') + '}'; + } + return String(value).trim().toLowerCase(); + }, + + isStackVolatileKey(key = '') { + const normalized = String(key || '').trim().toLowerCase(); + return { + _id: true, + id: true, + rowid: true, + row_id: true, + path: true, + sourceid: true, + source_id: true, + source: true, + shortid: true, + short_id: true, + parentid: true, + parent_id: true, + childid: true, + childids: true, + child_ids: true, + cascades: true, + createdtime: true, + created_at: true, + updatedat: true, + updated_at: true, + arrayposition: true, + builderdisplayname: true, + _enabled: true, + _label: true, + equipped: true, + _equipped: true, + attuned: true, + _attuned: true, + quantity: true + }[normalized] === true; + }, + + normalizeStackNodePayload(value) { + if (value === undefined || value === null) return ''; + if (typeof value !== 'object') return this.normalizeStackComparable(value); + if (Array.isArray(value)) { + return '[' + value + .map((entry) => this.normalizeStackNodePayload(entry)) + .filter((entry) => entry !== '') + .sort() + .join('|') + ']'; + } + + const keys = Object.keys(value) + .filter((key) => !this.isStackVolatileKey(key)) + .sort(); + const parts = []; + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const normalized = this.normalizeStackNodePayload(value[key]); + if (normalized === '') continue; + parts.push(String(key).toLowerCase() + ':' + normalized); + } + return '{' + parts.join(',') + '}'; + }, + + normalizeStackChildPayloads(childNodes = {}) { + if (!childNodes || typeof childNodes !== 'object' || Array.isArray(childNodes)) return ''; + const signatures = []; + const keys = Object.keys(childNodes); + for (let i = 0; i < keys.length; i += 1) { + const node = childNodes[keys[i]]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + signatures.push(this.normalizeStackNodePayload(node)); + } + return signatures.filter(Boolean).sort().join('||'); + }, + + getNodeChildIdStackKey(node = {}) { + const explicitChildId = Object.prototype.hasOwnProperty.call(node, 'childID') + ? node.childID + : (Object.prototype.hasOwnProperty.call(node, 'childId') ? node.childId : ''); + if (explicitChildId !== undefined && explicitChildId !== null && String(explicitChildId).trim() !== '') { + return this.normalizeStackComparable(explicitChildId); + } + + const childValue = Object.prototype.hasOwnProperty.call(node, 'childIDs') ? node.childIDs : ''; + + const parsedChildIds = this.parseChildIdList(childValue); + if (parsedChildIds.length) { + return 'count:' + String(parsedChildIds.length); + } + return this.normalizeStackComparable(childValue); + }, + + getNodeModifierStackKey(node = {}) { + const modifierValue = Object.prototype.hasOwnProperty.call(node, 'modifier') + ? node.modifier + : (Object.prototype.hasOwnProperty.call(node, 'modifiers') ? node.modifiers : ''); + return this.normalizeStackComparable(modifierValue); + }, + + getNodeStackSignature(node = {}, fallbackName = '') { + const safeNode = (node && typeof node === 'object') ? node : {}; + const name = this.getFirstStringValue(safeNode, ['name', 'recordName', 'itemName', 'label', 'title']) || String(fallbackName || ''); + + return { + name: this.normalizeStackComparable(name), + childKey: this.getNodeChildIdStackKey(safeNode), + modifierKey: this.getNodeModifierStackKey(safeNode), + nodeKey: this.normalizeStackNodePayload(safeNode) + }; + }, + + isSameStackSignature(leftNode = {}, rightNode = {}, leftName = '', rightName = '', leftChildNodes = {}, rightChildNodes = {}) { + const left = this.getNodeStackSignature(leftNode, leftName); + const right = this.getNodeStackSignature(rightNode, rightName); + return ( + left.name === right.name && + left.childKey === right.childKey && + left.modifierKey === right.modifierKey && + left.nodeKey === right.nodeKey && + this.normalizeStackChildPayloads(leftChildNodes) === this.normalizeStackChildPayloads(rightChildNodes) + ); + }, + + collectChildNodesFromObjectContainer(container, parentNode = {}) { + if (!container || typeof container !== 'object' || Array.isArray(container)) return {}; + if (!parentNode || typeof parentNode !== 'object') return {}; + + const childNodes = {}; + const visited = {}; + const queue = []; + const relatedRowIds = {}; + const parentShortIds = {}; + const generatedArmorRuleNodeIds = { + 'heavy-armor-stealth-disadvantage': true + }; + const isArmorRoot = !!(parentNode.armorData && typeof parentNode.armorData === 'object'); + const isGeneratedArmorRuleNode = (id, node) => { + if (!isArmorRoot || !node || typeof node !== 'object') return false; + const type = String(node.type || '').trim(); + if (type !== 'Roll Bonus' && type !== 'Speed') return false; + const key = String(id || '').trim(); + if (Object.prototype.hasOwnProperty.call(generatedArmorRuleNodeIds, key)) return true; + const text = String((node.name || '') + ' ' + (node.label || '')).toLowerCase(); + return text.indexOf('stealth disadvantage') >= 0 || + text.indexOf('no armor proficiency') >= 0 || + text.indexOf('armor speed reduction') >= 0; + }; + + const visitById = (id) => { + const safeId = String(id || '').trim(); + if (!safeId || visited[safeId]) return; + if (!Object.prototype.hasOwnProperty.call(container, safeId)) return; + + const node = container[safeId]; + if (!node || typeof node !== 'object') return; + if (isGeneratedArmorRuleNode(safeId, node)) return; + + visited[safeId] = true; + relatedRowIds[safeId] = true; + childNodes[safeId] = this.cloneJsonSafe(node); + + const childShortId = String(node.shortID || '').trim(); + if (childShortId) parentShortIds[childShortId] = true; + + const nestedIds = this.parseChildIdList(node.childIDs); + for (let i = 0; i < nestedIds.length; i += 1) { + queue.push(nestedIds[i]); + } + }; + + const topIds = this.parseChildIdList(parentNode.childIDs); + for (let i = 0; i < topIds.length; i += 1) { + queue.push(topIds[i]); + } + + const parentShortId = String(parentNode.shortID || '').trim(); + if (parentShortId) parentShortIds[parentShortId] = true; + + let changed = true; + while (changed || queue.length) { + changed = false; + while (queue.length) { + const nextId = queue.shift(); + const before = Object.keys(childNodes).length; + visitById(nextId); + if (Object.keys(childNodes).length > before) changed = true; + } + + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + if (visited[key]) continue; + const node = container[key]; + if (!node || typeof node !== 'object') continue; + const currentParentId = String(node.parentID || '').trim(); + const sourceId = String(node.sourceID || node.sourceId || '').trim(); + const cascades = node.cascades && typeof node.cascades === 'object' && !Array.isArray(node.cascades) + ? node.cascades + : {}; + const linkedByParent = currentParentId && (parentShortIds[currentParentId] || relatedRowIds[currentParentId]); + const linkedBySource = sourceId && (relatedRowIds[sourceId] || parentShortIds[sourceId]); + const linkedByCascade = Object.keys(cascades).some((ref) => parentShortIds[ref] || relatedRowIds[ref]); + if (!linkedByParent && !linkedBySource && !linkedByCascade) continue; + const before = Object.keys(childNodes).length; + visitById(key); + if (Object.keys(childNodes).length > before) changed = true; + } + } + + return childNodes; + }, + + removeChildrenFromObjectContainer(container, childIds = [], parentShortId = '', skipKey = '') { + if (!container || typeof container !== 'object' || Array.isArray(container)) return 0; + const toRemove = {}; + const relatedRefs = {}; + const queue = []; + const safeSkipKey = String(skipKey || '').trim(); + const addRef = (value) => { + const ref = String(value || '').trim(); + if (ref) relatedRefs[ref] = true; + }; + const mark = (id) => { + const safeId = String(id || '').trim(); + if (!safeId || safeId === safeSkipKey || toRemove[safeId]) return; + if (!Object.prototype.hasOwnProperty.call(container, safeId)) return; + toRemove[safeId] = true; + queue.push(safeId); + }; + + addRef(parentShortId); + addRef(skipKey); + for (let i = 0; i < childIds.length; i += 1) mark(childIds[i]); + + let changed = true; + while (changed || queue.length) { + changed = false; + while (queue.length) { + const id = queue.shift(); + const node = container[id]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + addRef(id); + addRef(node.shortID || node.shortId); + addRef(node._id || node.id); + this.parseChildIdList(node.childIDs).forEach(mark); + } + + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + if (key === safeSkipKey || toRemove[key]) continue; + const node = container[key]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + const parentId = String(node.parentID || node.parentId || '').trim(); + const sourceId = String(node.sourceID || node.sourceId || '').trim(); + const cascades = node.cascades && typeof node.cascades === 'object' && !Array.isArray(node.cascades) + ? node.cascades + : {}; + const linked = (parentId && relatedRefs[parentId]) || + (sourceId && relatedRefs[sourceId]) || + Object.keys(cascades).some((ref) => relatedRefs[String(ref || '').trim()]); + if (!linked) continue; + mark(key); + changed = true; + } + } + + const removeKeys = Object.keys(toRemove); + for (let i = 0; i < removeKeys.length; i += 1) delete container[removeKeys[i]]; + return removeKeys.length; + }, + + getNextArrayPosition(container) { + if (!container || typeof container !== 'object') return 1; + let maxPos = 0; + const nodes = Array.isArray(container) ? container : Object.keys(container).map((k) => container[k]); + for (let i = 0; i < nodes.length; i += 1) { + const node = nodes[i]; + if (!node || typeof node !== 'object') continue; + const pos = this.toIntOrNull(node.arrayPosition); + if (pos !== null && pos > maxPos) maxPos = pos; + } + return maxPos + 1; + }, + + randomToken(length = 8, chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789') { + let out = ''; + for (let i = 0; i < length; i += 1) out += chars.charAt(Math.floor(Math.random() * chars.length)); + return out; + }, + + makeInventoryRowId(container) { + let id = this.randomToken(21, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-'); + while (Object.prototype.hasOwnProperty.call(container, id)) { + id = this.randomToken(21, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-'); + } + return id; + }, + + makeShortId() { + return this.randomToken(9); + }, + + isPlaceholderInventoryRowId(value = '') { + const text = String(value || '').trim().toLowerCase(); + return text === '__temporary__' || text === '__row_id__'; + }, + + remapSourceIdsDeep(value, sourceIdMap) { + if (!value || typeof value !== 'object') return; + if (!sourceIdMap || typeof sourceIdMap !== 'object') return; + + const seen = []; + const walk = (node) => { + if (!node || typeof node !== 'object') return; + if (seen.indexOf(node) >= 0) return; + seen.push(node); + + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) walk(node[i]); + return; + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const mappedKey = Object.prototype.hasOwnProperty.call(sourceIdMap, key) + ? sourceIdMap[key] + : key; + if (mappedKey !== key) { + node[mappedKey] = node[key]; + delete node[key]; + } + + const currentKey = mappedKey; + if ( + typeof node[currentKey] === 'string' && + Object.prototype.hasOwnProperty.call(sourceIdMap, node[currentKey]) + ) { + node[currentKey] = sourceIdMap[node[currentKey]]; + } + if (String(currentKey || '').trim().toLowerCase() === 'sourceid') { + const oldId = String(node[currentKey] || '').trim(); + if (oldId && Object.prototype.hasOwnProperty.call(sourceIdMap, oldId)) { + node[currentKey] = sourceIdMap[oldId]; + } + continue; + } + walk(node[currentKey]); + } + }; + + walk(value); + }, + + getFirstStringValue(obj, keys = []) { + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + if (!Object.prototype.hasOwnProperty.call(obj, key)) continue; + const value = obj[key]; + if (typeof value === 'string' && value.trim().length) return value.trim(); + } + return ''; + }, + + getFirstQtyKey(obj, qtyKeys = []) { + for (let i = 0; i < qtyKeys.length; i += 1) { + const key = qtyKeys[i]; + if (!Object.prototype.hasOwnProperty.call(obj, key)) continue; + if (this.toIntOrNull(obj[key]) !== null) return key; + } + return ''; + }, + + isInventoryChildNode(node = {}) { + const safeNode = (node && typeof node === 'object' && !Array.isArray(node)) ? node : {}; + const nodeType = String(safeNode.type || '').trim().toLowerCase(); + const actionType = String(safeNode.actionType || '').trim(); + const qtyKeys = ['quantity', 'qty', 'count', 'amount', 'uses', 'charges', 'itemcount', 'item_count', 'itemQuantity', 'item_quantity']; + const hasQty = qtyKeys.some((key) => Object.prototype.hasOwnProperty.call(safeNode, key)); + const hasItemSignals = + nodeType === 'item' || + Object.prototype.hasOwnProperty.call(safeNode, 'equipData') || + Object.prototype.hasOwnProperty.call(safeNode, 'weaponData') || + Object.prototype.hasOwnProperty.call(safeNode, 'armorData') || + Object.prototype.hasOwnProperty.call(safeNode, 'weight') || + Object.prototype.hasOwnProperty.call(safeNode, 'rarity') || + Object.prototype.hasOwnProperty.call(safeNode, 'itemType'); + if (hasQty && hasItemSignals) return false; + + const childTypes = [ + 'attack', + 'damage', + 'defense', + 'armor class', + 'roll bonus', + 'action', + 'resource', + 'spell', + 'trait' + ]; + if (actionType || childTypes.indexOf(nodeType) >= 0) return true; + + const parentId = String(safeNode.parentID || safeNode.parentId || '').trim(); + if (parentId) return true; + + const sourceId = String(safeNode.sourceID || safeNode.sourceId || '').trim(); + if (sourceId && (nodeType && nodeType !== 'item')) return true; + + return false; + }, + + looksLikeInventoryItemNode(node) { + if (!node || typeof node !== 'object' || Array.isArray(node)) return false; + if (this.isInventoryChildNode(node)) return false; + + const nameKeys = ['name', 'label', 'title', 'itemName', 'item_name', 'displayName', 'recordName']; + const qtyKeys = ['quantity', 'qty', 'count', 'amount', 'uses', 'charges', 'itemcount', 'item_count', 'itemQuantity', 'item_quantity']; + const hintKeys = ['equipped', 'weight', 'rarity', 'weaponType', 'armorType', 'equipData', 'weaponData', 'armorData']; + const name = this.getFirstStringValue(node, nameKeys); + if (!name) return false; + const hasQty = qtyKeys.some((key) => Object.prototype.hasOwnProperty.call(node, key)); + const hasHints = hintKeys.some((key) => Object.prototype.hasOwnProperty.call(node, key)); + return hasQty || hasHints; + }, + + walkInventoryNodes(root, onItem, options = {}) { + const maxDepth = Number(options.maxDepth) || 8; + const maxVisits = Number(options.maxVisits) || 5000; + const seen = []; + let visits = 0; + + const nameKeys = ['name', 'label', 'title', 'itemName', 'item_name', 'displayName', 'recordName']; + const qtyKeys = ['quantity', 'qty', 'count', 'amount', 'uses', 'charges', 'itemcount', 'item_count', 'itemQuantity', 'item_quantity']; + + const walk = (node, path = '', pathTokens = [], depth = 0) => { + if (visits >= maxVisits || depth > maxDepth) return false; + if (!node || typeof node !== 'object') return false; + if (seen.indexOf(node) >= 0) return false; + seen.push(node); + visits += 1; + + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) { + const nextPath = path + '[' + String(i) + ']'; + if (walk(node[i], nextPath, pathTokens.concat(i), depth + 1)) return true; + } + return false; + } + + if (this.looksLikeInventoryItemNode(node)) { + const entry = { + node, + path, + pathTokens: pathTokens.slice(), + name: this.getFirstStringValue(node, nameKeys), + qtyKey: this.getFirstQtyKey(node, qtyKeys) + }; + if (typeof onItem === 'function' && onItem(entry) === true) return true; + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const nextPath = path ? (path + '.' + key) : key; + if (walk(node[key], nextPath, pathTokens.concat(key), depth + 1)) return true; + } + return false; + }; + + walk(root, '', [], 0); + }, + + extractInventoryMeta(node = {}) { + const readFirst = (keys = []) => { + for (let i = 0; i < keys.length; i += 1) { + const k = keys[i]; + if (!Object.prototype.hasOwnProperty.call(node, k)) continue; + const value = node[k]; + if (value === undefined || value === null) continue; + return value; + } + return null; + }; + const readNestedFirst = (containerKeys = [], keys = []) => { + for (let i = 0; i < containerKeys.length; i += 1) { + const container = node[containerKeys[i]]; + if (!container || typeof container !== 'object' || Array.isArray(container)) continue; + for (let j = 0; j < keys.length; j += 1) { + const key = keys[j]; + if (Object.prototype.hasOwnProperty.call(container, key)) return container[key]; + } + } + return null; + }; + const asText = (value) => { + if (value === undefined || value === null) return ''; + if (typeof value === 'string') return value.trim(); + if (typeof value === 'number' || typeof value === 'boolean') return String(value); + if (Array.isArray(value)) return value.map((entry) => asText(entry)).filter(Boolean).join(', '); + try { return JSON.stringify(value); } catch (e) { return String(value); } + }; + const toBoolOrNull = (value) => { + if (value === true || value === false) return value; + const text = asText(value).toLowerCase(); + if (!text) return null; + if (['1', 'true', 'yes', 'y', 'on'].includes(text)) return true; + if (['0', 'false', 'no', 'n', 'off'].includes(text)) return false; + return null; + }; + + const meta = {}; + const setIfText = (key, value) => { + const text = asText(value); + if (text) meta[key] = text; + }; + + setIfText('blueprint', readFirst(['blueprint', 'compendiumPageID'])); + setIfText('displayName', readFirst(['displayName', 'shortName', 'label'])); + setIfText('description', readFirst(['description', 'desc', 'details', 'text'])); + setIfText('type', readFirst(['type', 'itemType', 'classification', 'kind', 'category'])); + setIfText('subtype', readFirst(['subtype', 'weaponType', 'armorType', 'itemSubtype'])); + setIfText('rarity', readFirst(['rarity', 'quality'])); + setIfText('imageUrl', readFirst(['imageUrl', 'imageURL', 'img', 'icon', 'iconUrl', 'image', 'avatar'])); + setIfText('AC', readFirst(['AC', 'ac', 'armorClass', 'armor_class'])); + setIfText('modifier', readFirst(['modifier', 'modifiers', 'itemModifier', 'itemModifiers'])); + setIfText('debuff', readFirst(['debuff', 'debuffs', 'penalty', 'penalties'])); + setIfText('requirement', readFirst(['requirement', 'requirements', 'prerequisite', 'prerequisites'])); + setIfText('effect', readFirst(['effect', 'itemEffect'])); + setIfText('damage', readFirst(['damage', 'damageDice', 'damageRoll', 'dmg'])); + setIfText('damageType', readFirst(['damageType', 'damage_type', 'dmgType', 'damageKind'])); + setIfText('properties', readFirst(['properties', 'property', 'weaponProperties'])); + setIfText('mastery', readFirst(['mastery', 'weaponMastery'])); + setIfText('tags', readFirst(['tags', 'tagList', 'keywords'])); + setIfText('useRange', readFirst(['useRange', 'consumableRange', 'range'])); + setIfText('consumableRange', readFirst(['consumableRange', 'range'])); + + const diceCount = this.toIntOrNull(readFirst(['diceCount', 'dice_count', 'dice'])); + if (diceCount !== null) meta.diceCount = diceCount; + const diceSide = this.toIntOrNull(readFirst(['diceSide', 'dice_side', 'die', 'sides'])); + if (diceSide !== null) meta.diceSide = diceSide; + const bonusRaw = this.toIntOrNull(readFirst(['bonus', 'flatBonus'])); + if (bonusRaw !== null) meta.bonus = bonusRaw; + const rollBonusRaw = this.toIntOrNull(readFirst(['rollBonus', 'roll_bonus'])); + if (rollBonusRaw !== null) meta.rollBonus = rollBonusRaw; + + const weightRaw = readFirst(['weight', 'itemWeight', 'weightLb', 'weightLbs', 'lbs']); + const weight = this.toIntOrNull(weightRaw); + if (weight !== null) meta.weight = weight; + + const consumable = toBoolOrNull(readFirst(['consumable', 'isConsumable'])); + if (consumable !== null) meta.consumable = consumable; + + const usable = toBoolOrNull(readFirst(['usable', 'isUsable', 'canUse'])); + if (usable !== null) meta.usable = usable; + + const useTarget = toBoolOrNull(readFirst(['useTarget', 'requiresTarget', 'targetRequired', 'isTargetRequired'])); + if (useTarget !== null) meta.useTarget = useTarget; + + const readDirectOrNested = (keys = [], containerKeys = [], nestedKeys = []) => { + const direct = readFirst(keys); + return direct !== null ? direct : readNestedFirst(containerKeys, nestedKeys); + }; + const equippable = toBoolOrNull( + readDirectOrNested( + ['equippable', 'Equippable', 'canEquip', 'CanEquip', 'isEquippable', 'IsEquippable'], + ['equipData', 'weaponData', 'armorData'], + ['equippable', 'Equippable', 'canEquip', 'CanEquip', 'isEquippable', 'IsEquippable'] + ) + ); + if (equippable !== null) meta.equippable = equippable; + + const equipped = toBoolOrNull( + readDirectOrNested( + ['equipped', 'Equipped', 'isEquipped', 'IsEquipped'], + ['equipData', 'weaponData', 'armorData'], + ['equipped', 'Equipped', 'isEquipped', 'IsEquipped'] + ) + ); + if (equipped !== null) meta.equipped = equipped; + + return meta; + }, + + extractInventoryItemBlueprint(characterId = '', itemName = '', options = {}) { + const safeCharacterId = String(characterId || '').trim(); + const safeName = String(itemName || '').trim(); + const source = this.normalizeSourceKey(options.source || 'store'); + if (!safeCharacterId || !safeName) return { ok: false, message: 'Missing character or item name.' }; + + const rootEntry = this.loadInventoryRoot(safeCharacterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message || 'Inventory source is invalid.' }; + + let targetEntry = null; + const normalizedName = this.normalizeInventoryItemKey(safeName); + this.walkInventoryNodes(rootEntry.root, (entry) => { + if (this.normalizeInventoryItemKey(entry.name) !== normalizedName) return false; + if (!targetEntry) targetEntry = entry; + return true; + }); + if (!targetEntry) return { ok: false, message: 'Item was not found in inventory.' }; + + const blueprint = this.buildCompactInventoryBlueprint(rootEntry, targetEntry, source); + if (!blueprint) return { ok: false, message: 'Unable to build item blueprint.' }; + + return { + ok: true, + itemName: blueprint.name, + source, + blueprint, + childCount: Array.isArray(blueprint.children) ? blueprint.children.length : 0 + }; + }, + + async saveInventoryItemBlueprint(characterId = '', itemName = '', options = {}) { + const extracted = this.extractInventoryItemBlueprint(characterId, itemName, options); + if (!extracted.ok) return extracted; + const blueprint = extracted.blueprint; + const source = extracted.source; + + let raw = ''; + try { + raw = await Handout.read(ITEM_BLUEPRINT_HANDOUT, 'notes', { createIfMissing: true }); + } catch (error) { + raw = ''; + } + const existingEntries = this.tryParseBlueprintEntries(raw) || []; + const list = existingEntries.map((entry) => this.compactBlueprintForStorage(this.normalizeBlueprintEntry(entry))).filter(Boolean); + const compactEntry = this.compactBlueprintForStorage({ + name: blueprint.name, + blueprint + }); + const wantedKey = ItemsBlueprintCatalog.normalizeNameKey(blueprint.name); + let replaced = false; + + for (let i = 0; i < list.length; i += 1) { + const normalized = this.normalizeBlueprintEntry(list[i]); + const currentKey = normalized ? ItemsBlueprintCatalog.normalizeNameKey(normalized.name) : ''; + if (currentKey !== wantedKey) continue; + list[i] = compactEntry; + replaced = true; + break; + } + if (!replaced) list.push(compactEntry); + + const blueprintJson = JSON.stringify(this.compactBlueprintForStorage({ blueprints: list })); + await Handout.write( + ITEM_BLUEPRINT_HANDOUT, + '
' + Utils.escapeHtml(blueprintJson) + '
', + 'notes', + { createIfMissing: true } + ); + await this.loadItemBlueprintsFromHandout(); + + return { + ok: true, + action: replaced ? 'updated' : 'added', + itemName: blueprint.name, + handoutRef: ITEM_BLUEPRINT_HANDOUT, + source, + childCount: Array.isArray(blueprint.children) ? blueprint.children.length : 0 + }; + }, + + buildGenericItemRecord(itemName = '', itemData = {}) { + const safeItem = itemData && typeof itemData === 'object' ? itemData : {}; + const safeName = String(itemName || safeItem.name || safeItem.recordName || '').trim(); + if (!safeName) return null; + + const createdTime = Date.now(); + const weightRaw = this.toIntOrNull(safeItem.weight); + const weight = weightRaw === null ? 0 : weightRaw; + const asString = (value) => value === undefined || value === null ? '' : String(value); + const asBoolean = (value) => { + if (value === true || value === false) return value; + const text = String(value === undefined || value === null ? '' : value).trim().toLowerCase(); + return text === 'true' || text === '1' || text === 'yes' || text === 'on'; + }; + + const node = { + _enabled: true, + _label: '', + arrayPosition: 0, + builderDisplayName: '', + childIDs: '[]', + cost: asString(safeItem.cost), + createdTime, + AC: asString(safeItem.AC), + debuff: asString(safeItem.debuff), + description: asString(safeItem.description), + equipData: { + equippable: asBoolean(safeItem.equippable), + equipped: asBoolean(safeItem.equipped) + }, + modifier: asString(safeItem.modifier), + name: safeName, + parentID: '', + quantity: 1, + requirement: asString(safeItem.requirement), + shortID: this.makeShortId(), + source: '', + type: 'Item', + weight + }; + + const meta = { + rowId: '', + path: '', + childNodes: {} + }; + + return { + source: 'store', + name: safeName, + updatedAt: createdTime, + node, + meta + }; + }, + + async transferItem({ + sourceTokenId = '', + targetTokenId = '', + itemName = '', + quantity = 1, + playerId = '', + isGM = false, + maxDistanceFt = RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT') + } = {}) { + const sourceId = String(sourceTokenId || '').trim(); + const targetId = String(targetTokenId || '').trim(); + const safeName = String(itemName || '').trim(); + const qty = Math.max(1, this.toIntOrNull(quantity) || 1); + if (!sourceId || !targetId || !safeName) { + return { ok: false, message: 'Missing source token, target token, or item name.' }; + } + + const sourceAccessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceId, + playerId, + isGM, + actionLabel: 'transfer items from' + }); + if (!sourceAccessResult.ok) { + return { + ok: false, + message: sourceAccessResult.message, + sourceAccess: sourceAccessResult.access + }; + } + + const sourceToken = sourceAccessResult.access.token; + const targetResolved = R20.resolveTokenRef(targetId); + const targetToken = targetResolved.token; + if (!targetToken) { + return { ok: false, message: 'Target token was not found.' }; + } + + const sourceCharId = String(sourceAccessResult.access.character.id || sourceToken.get('represents') || '').trim(); + const targetCharId = String(targetResolved.characterId || targetToken.get('represents') || '').trim(); + if (!sourceCharId || !targetCharId) { + return { ok: false, message: 'Source or target token is not linked to a character.' }; + } + if (sourceCharId === targetCharId) { + return { ok: false, message: 'Source and target use the same inventory.' }; + } + + const normalizedName = safeName.toLowerCase(); + const sourceRootEntry = this.loadInventoryRoot(sourceCharId); + if (!sourceRootEntry.ok) { + return { ok: false, message: sourceRootEntry.message || 'Source inventory is invalid.' }; + } + + let sourceEntry = null; + this.walkInventoryNodes(sourceRootEntry.root, (entry) => { + if (String(entry.name || '').trim().toLowerCase() !== normalizedName) return false; + + const currentQty = entry.qtyKey ? this.toIntOrNull(entry.node[entry.qtyKey]) : null; + if (currentQty !== null && (currentQty <= 0 || currentQty < qty)) return false; + if (currentQty === null && qty > 1) return false; + + sourceEntry = { + node: entry.node, + name: String(entry.name || safeName).trim(), + qtyKey: entry.qtyKey, + path: entry.path, + pathTokens: entry.pathTokens.slice(), + currentQty + }; + return true; + }); + + const availableQty = sourceEntry + ? (sourceEntry.currentQty === null ? 1 : Math.max(0, sourceEntry.currentQty)) + : 0; + + if (!sourceEntry) { + return { + ok: false, + message: 'Not enough items to transfer.', + availableQty + }; + } + + const inRange = this.isTargetWithinTransferDistance(sourceId, targetId, maxDistanceFt); + if (!inRange.ok) { + return { + ok: false, + message: inRange.message, + distanceFt: inRange.distanceFt, + maxDistanceFt: inRange.maxDistanceFt + }; + } + + const pathTokens = Array.isArray(sourceEntry.pathTokens) ? sourceEntry.pathTokens.slice() : []; + if (!pathTokens.length) { + return { ok: false, message: 'Source item path is invalid.' }; + } + + const sourceLeaf = pathTokens[pathTokens.length - 1]; + const sourceParentTokens = pathTokens.slice(0, -1); + const sourceContainer = sourceParentTokens.length + ? this.getAtTokens(sourceRootEntry.root, sourceParentTokens) + : sourceRootEntry.root; + + if (!sourceContainer || typeof sourceContainer !== 'object') { + return { ok: false, message: 'Source container was not found.' }; + } + + const transferNode = this.cloneJsonSafe(sourceEntry.node); + if (!transferNode || typeof transferNode !== 'object') { + return { ok: false, message: 'Source node could not be cloned.' }; + } + + if (sourceEntry.qtyKey) { + transferNode[sourceEntry.qtyKey] = qty; + } + transferNode.quantity = qty; + if (Object.prototype.hasOwnProperty.call(transferNode, 'name')) transferNode.name = sourceEntry.name; + if (Object.prototype.hasOwnProperty.call(transferNode, 'recordName')) transferNode.recordName = sourceEntry.name; + + const transferChildNodes = (!Array.isArray(sourceContainer)) + ? this.collectChildNodesFromObjectContainer(sourceContainer, sourceEntry.node) + : {}; + + const transferItemRecord = this.normalizeTransferItemRecordAsUnequipped({ + source: this.normalizeSourceKey('store'), + name: sourceEntry.name, + updatedAt: Date.now(), + node: transferNode, + meta: { + path: String(sourceEntry.path || '').trim(), + rowId: (typeof sourceLeaf === 'string') ? String(sourceLeaf).trim() : '', + childNodes: transferChildNodes + } + }); + + const addResult = await this.addInventoryItem(targetCharId, sourceEntry.name, qty, { + itemRecord: transferItemRecord + }); + if (!addResult.ok) { + return { ok: false, message: addResult.message || 'Unable to add item to target.' }; + } + + const removeResult = await this.removeInventoryItem(sourceCharId, sourceEntry.name, qty, { + dequipBeforeFullRemove: true + }); + if (!removeResult.ok) { + return { + ok: false, + message: 'Item was added to the target, but the source inventory could not be updated. No item was lost; remove the source copy manually.', + targetAdded: true, + itemName: sourceEntry.name, + transferred: qty + }; + } + + return { + ok: true, + itemName: sourceEntry.name, + transferred: qty, + sourceRemaining: Math.max(0, availableQty - qty), + removedChildren: Number(removeResult.removedChildren) || 0, + distanceFt: inRange.distanceFt, + maxDistanceFt: inRange.maxDistanceFt + }; + }, + + normalizeCurrencyType(currencyType = '') { + const safeType = String(currencyType || '').trim().toLowerCase(); + if (CURRENCY_TYPES.includes(safeType)) return safeType; + return ''; + }, + + async transferCurrency({ + action = 'give', + sourceTokenId = '', + targetTokenId = '', + currencyType = '', + quantity = 1, + playerId = '', + isGM = false, + maxDistanceFt = RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT') + } = {}) { + const safeAction = String(action || '').trim().toLowerCase(); + if (safeAction !== 'give' && safeAction !== 'take') { + return { ok: false, message: 'Invalid action. Use give or take.' }; + } + + const sourceId = String(sourceTokenId || '').trim(); + const targetId = String(targetTokenId || '').trim(); + const coinType = this.normalizeCurrencyType(currencyType); + const qty = Math.max(1, this.toIntOrNull(quantity) || 0); + if (!sourceId || !targetId || !coinType || qty <= 0) { + return { ok: false, message: 'Missing source token, target token, currency type, or quantity.' }; + } + if (sourceId === targetId) { + return { ok: false, message: 'Select a different token.' }; + } + + const sourceAccessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceId, + playerId, + isGM, + actionLabel: safeAction === 'take' ? 'take currency with' : 'transfer currency from' + }); + const sourceAccess = sourceAccessResult.access; + if (!sourceAccessResult.ok) { + return { + ok: false, + message: sourceAccessResult.message, + sourceAccess + }; + } + if (!sourceAccess.token || !sourceAccess.character) { + return { ok: false, message: 'Source token is not linked to a character.' }; + } + + const targetResolved = R20.resolveTokenRef(targetId); + const targetToken = targetResolved.token; + if (!targetToken) { + return { ok: false, message: 'Target token was not found.' }; + } + const targetCharacter = targetResolved.character || R20.getCharacterFromToken(targetToken); + if (!targetCharacter) { + return { ok: false, message: 'Target token is not linked to a character.' }; + } + + if (safeAction === 'take') { + const targetAccessResult = R20.requireSourceTokenAccess({ + sourceTokenId: targetId, + playerId, + isGM, + actionLabel: 'take currency from' + }); + if (!targetAccessResult.ok) { + return { + ok: false, + message: targetAccessResult.message, + sourceAccess: targetAccessResult.access + }; + } + } + + const inRange = this.isTargetWithinTransferDistance(sourceId, targetId, maxDistanceFt); + if (!inRange.ok) { + return { + ok: false, + message: inRange.message, + distanceFt: inRange.distanceFt, + maxDistanceFt: inRange.maxDistanceFt + }; + } + + const sourceCharacterId = String(sourceAccess.character.id || '').trim(); + const targetCharacterId = String(targetCharacter.id || '').trim(); + if (!sourceCharacterId || !targetCharacterId) { + return { ok: false, message: 'Source or target character was not found.' }; + } + if (sourceCharacterId === targetCharacterId) { + return { ok: false, message: 'Select a different token.' }; + } + + const debitCharacterId = (safeAction === 'give') ? sourceCharacterId : targetCharacterId; + const creditCharacterId = (safeAction === 'give') ? targetCharacterId : sourceCharacterId; + const debitTokenId = (safeAction === 'give') ? sourceId : targetId; + const creditTokenId = (safeAction === 'give') ? targetId : sourceId; + + const debitRaw = await R20.getSheet(debitCharacterId, coinType); + const creditRaw = await R20.getSheet(creditCharacterId, coinType); + const debitBefore = Math.max(0, this.toIntOrNull(debitRaw) || 0); + const creditBefore = Math.max(0, this.toIntOrNull(creditRaw) || 0); + + if (debitBefore < qty) { + return { + ok: false, + message: 'Not enough ' + coinType.toUpperCase() + ' to transfer.', + available: debitBefore, + requested: qty, + currencyType: coinType + }; + } + + const debitAfter = debitBefore - qty; + const creditAfter = creditBefore + qty; + await R20.setSheet(debitCharacterId, coinType, debitAfter === 0 ? -1 : debitAfter, { snapshotValue: debitAfter }); + await R20.setSheet(creditCharacterId, coinType, creditAfter); + + const debitContext = R20.getTokenContext(debitTokenId, debitTokenId); + const creditContext = R20.getTokenContext(creditTokenId, creditTokenId); + + return { + ok: true, + action: safeAction, + currencyType: coinType, + transferred: qty, + debit: { + tokenId: debitTokenId, + characterId: debitCharacterId, + tokenName: debitContext.tokenName, + before: debitBefore, + after: debitAfter + }, + credit: { + tokenId: creditTokenId, + characterId: creditCharacterId, + tokenName: creditContext.tokenName, + before: creditBefore, + after: creditAfter + }, + distanceFt: inRange.distanceFt, + maxDistanceFt: inRange.maxDistanceFt + }; + }, + + setAtPath(root, path = [], value) { + if (!root || typeof root !== 'object' || !Array.isArray(path) || !path.length) return false; + let node = root; + for (let i = 0; i < path.length - 1; i += 1) { + node = node[path[i]]; + if (!node || typeof node !== 'object') return false; + } + node[path[path.length - 1]] = value; + return true; + }, + + parseDiceFormula(text = '') { + const match = String(text || '').match(/(\d+)\s*d\s*(\d+)\s*([+-]\s*\d+)?/i); + if (!match) return null; + const count = Math.max(1, this.toIntOrNull(match[1]) || 1); + const sides = Math.max(1, this.toIntOrNull(match[2]) || 1); + const bonus = match[3] ? Number(String(match[3]).replace(/\s+/g, '')) || 0 : 0; + return { count, sides, bonus }; + }, + + rollDice({ count = 1, sides = 1, bonus = 0 } = {}) { + const safeCount = Math.max(1, this.toIntOrNull(count) || 1); + const safeSides = Math.max(1, this.toIntOrNull(sides) || 1); + const safeBonus = Number(bonus) || 0; + const rolls = []; + let total = 0; + + for (let i = 0; i < safeCount; i += 1) { + const roll = Utils.rollDie(safeSides); + rolls.push(roll); + total += roll; + } + total += safeBonus; + + return { + count: safeCount, + sides: safeSides, + bonus: safeBonus, + rolls, + total + }; + }, + + buildUseEffectContext(item = {}) { + const safeItem = item || {}; + const effectText = String(safeItem.effect || '').trim(); + + let diceCount = Math.max(0, this.toIntOrNull(safeItem.diceCount) || 0); + let diceSide = Math.max(0, this.toIntOrNull(safeItem.diceSide) || 0); + let flatBonus = Number(safeItem.bonus) || 0; + flatBonus += Number(safeItem.rollBonus) || 0; + + if (!(diceCount > 0 && diceSide > 0)) { + const parsed = this.parseDiceFormula(effectText); + if (parsed) { + diceCount = parsed.count; + diceSide = parsed.sides; + flatBonus += parsed.bonus; + } + } + + return { + effectText, + diceCount, + diceSide, + bonus: flatBonus + }; + }, + + parseFeetFromRangeText(rangeText = '', fallbackFt = RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT')) { + const fallback = Math.max(0, Number(fallbackFt) || 0); + const safeText = String(rangeText || '').trim().toLowerCase(); + if (!safeText) return fallback; + if (safeText === 'self') return 0; + if (safeText === 'touch') return 5; + + const numberMatch = safeText.match(/(\d+(\.\d+)?)/); + if (!numberMatch) return fallback; + return Math.max(0, Number(numberMatch[1]) || fallback); + }, + + getItemUseRangeFeet(item = {}) { + const safeItem = item || {}; + const rangeText = String( + safeItem.useRange || + safeItem.consumableRange || + '' + ).trim(); + return this.parseFeetFromRangeText(rangeText, RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT')); + }, + + resolveUseEffectKey(effectText = '') { + const normalized = String(effectText || '').trim().toLowerCase(); + if (!normalized) return 'apply_only'; + + if ( + normalized.includes('heal') || + normalized.includes('healing') || + normalized.includes('cura') || + normalized.includes('curar') || + normalized.includes('curacion') + ) { + return 'heal'; + } + if ( + normalized === 'deal' || + normalized === 'damage' || + normalized === 'deal damage' || + normalized.includes('deal damage') || + normalized.includes('damage') + ) { + return 'damage'; + } + return 'apply_only'; + }, + + async executeDamageEffect({ sourceCharacterId = '', sourceToken = null, targetCharacterId = '', targetToken = null, item = {} } = {}) { + const safeSourceCharacterId = String(sourceCharacterId || '').trim(); + const safeItem = item || {}; + if (!safeSourceCharacterId) return { ok: false, message: 'Source character was not found.', effectType: 'damage' }; + + const context = this.buildUseEffectContext(safeItem); + if (!(context.diceCount > 0 && context.diceSide > 0)) { + const parsedDamage = this.parseDiceFormula(safeItem.damage || ''); + if (parsedDamage) { + context.diceCount = parsedDamage.count; + context.diceSide = parsedDamage.sides; + context.bonus += parsedDamage.bonus; + } + } + if (!(context.diceCount > 0 && context.diceSide > 0)) { + return { ok: false, message: 'Damage effect is missing dice data.', effectType: 'damage' }; + } + + const attributes = TokenService.getCharacterAttributes(safeSourceCharacterId); + const dexRaw = await TokenService.getResolvedAttributeValue(safeSourceCharacterId, attributes, 'dexterity_mod'); + const dexMod = TokenService.modifierValueToNumber(dexRaw || 0); + const exhaustionPenalty = TokenService.getExhaustionD20Penalty(safeSourceCharacterId); + const attackModifier = dexMod + exhaustionPenalty; + const attackNatural = Utils.rollDie(20); + const attackTotal = attackNatural + attackModifier; + const damageRoll = this.rollDice({ + count: context.diceCount, + sides: context.diceSide, + bonus: context.bonus + }); + const damageType = String(safeItem.damageType || safeItem.damage_type || 'normal').trim() || 'normal'; + const formula = String(context.diceCount) + 'd' + String(context.diceSide) + (context.bonus > 0 ? ('+' + String(context.bonus)) : (context.bonus < 0 ? String(context.bonus) : '')); + const tokenName = sourceToken && Utils.isFunction(sourceToken.get) + ? String(sourceToken.get('name') || 'Token') + : 'Token'; + const tokenImgsrc = sourceToken && Utils.isFunction(sourceToken.get) && TokenService.isRoll20TokenImageSource(sourceToken.get('imgsrc')) + ? String(sourceToken.get('imgsrc') || '') + : ''; + const rollResult = { + ok: true, + effectType: 'damage', + tokenName, + tokenImgsrc, + attackName: String(safeItem.name || 'Item Attack'), + attackBonusText: TokenService.tooltipSignedValue(attackModifier), + attackTotal, + attackRolls: [{ + natural: attackNatural, + total: attackTotal, + modifier: attackModifier, + tooltip: TokenService.rollLabelTooltip([ + { label: 'Roll', source: '1d20', value: String(attackNatural) }, + { label: 'Bonus', value: TokenService.tooltipSignedValue(0) }, + { label: 'Mod', value: TokenService.tooltipSignedValue(dexMod) }, + exhaustionPenalty ? { label: 'Exhaustion', value: TokenService.tooltipSignedValue(exhaustionPenalty) } : null, + { label: 'Total', value: String(attackTotal) } + ].filter(Boolean)) + }], + damageType, + damageTotal: damageRoll.total, + damageFormula: formula, + damageRolls: [{ + total: damageRoll.total, + formula, + damageType, + tooltip: TokenService.rollLabelTooltip([ + { label: 'Roll', source: String(context.diceCount) + 'd' + String(context.diceSide), value: damageRoll.rolls.join('+') }, + { label: 'Bonus', value: TokenService.tooltipSignedValue(context.bonus) }, + { label: 'Mod', value: TokenService.tooltipSignedValue(0) }, + { label: 'Total', value: String(damageRoll.total) } + ]) + }], + message: 'Rolls an attack with ' + Utils.escapeHtml(String(safeItem.name || 'item')) + '.', + narrativeType: 'attack', + narrativeValue: String(attackTotal) + }; + return Object.assign({}, rollResult, { + attackCard: Render.showAttackRollCard(rollResult), + gmPromptCard: Render.showAttackDamagePrompt(rollResult) + }); + }, + + async executeHealEffect({ targetCharacterId = '', targetToken = null, item = {} } = {}) { + const safeTargetCharacterId = String(targetCharacterId || '').trim(); + if (!safeTargetCharacterId) return { ok: false, message: 'Target character was not found.' }; + + const context = this.buildUseEffectContext(item); + if (!(context.diceCount > 0 && context.diceSide > 0)) { + return { + ok: false, + message: 'Healing effect is missing dice data.', + effectType: 'heal' + }; + } + + const roll = this.rollDice({ + count: context.diceCount, + sides: context.diceSide, + bonus: context.bonus + }); + const attributes = TokenService.getCharacterAttributes(safeTargetCharacterId); + const hpTarget = targetToken + ? await TokenService.resolveTokenHpTarget(targetToken, safeTargetCharacterId, attributes) + : { ok: false }; + + if (targetToken && !hpTarget.ok) { + return { + ok: false, + message: hpTarget.message || 'HP bar could not be identified.', + effectType: 'heal' + }; + } + + if (targetToken && hpTarget.ok) { + const tokenData = await TokenService.getTokenData(safeTargetCharacterId, attributes); + const isNpcToken = Utils.toBoolean(TokenService.getFastTokenDetails(tokenData).NPC, false); + const currentHp = Number(hpTarget.currentHp) || 0; + const maxRaw = Number( + hpTarget.maxHp !== undefined && hpTarget.maxHp !== null + ? hpTarget.maxHp + : (await TokenService.getResolvedAttributeValue(safeTargetCharacterId, attributes, 'hp_max')) + ); + const hasMax = !Number.isNaN(maxRaw) && maxRaw > 0; + const nextHp = hasMax ? Math.min(maxRaw, currentHp + roll.total) : (currentHp + roll.total); + + if (!isNpcToken && currentHp <= 0) { + const deathState = TokenService.getDeathSavesState(safeTargetCharacterId); + if (deathState.ok && deathState.open && Utils.toInt(deathState.failures, 0) >= 3) { + return { + ok: true, + effectType: 'heal', + noEffect: true, + roll: null, + amount: 0, + previousHp: currentHp, + currentHp, + maxHp: hasMax ? maxRaw : null, + message: 'Healing had no effect because the target is dead.', + narrativeType: 'no_effect', + narrativeValue: 'is already dead' + }; + } + await TokenService.clearHealedPlayerDefeatState(targetToken, safeTargetCharacterId); + } + if (isNpcToken && nextHp > 0) { + TokenService.setTokenStatusMarker(targetToken, CONFIG.DEATH_STATUS_MARKER, false); + } + + if (hpTarget.mode === 'token-bar' && hpTarget.bar) { + targetToken.set({ ['bar' + String(hpTarget.bar) + '_value']: nextHp }); + } else { + await R20.setSheet(safeTargetCharacterId, 'hp', nextHp); + if (hpTarget.bar && Utils.isFunction(targetToken.set)) { + targetToken.set({ ['bar' + String(hpTarget.bar) + '_value']: nextHp }); + } + } + + Logger.info( + '[Heal:' + hpTarget.mode + ']', + 'characterId=' + safeTargetCharacterId, + 'bar=' + String(hpTarget.bar || ''), + 'previous=' + String(currentHp), + 'next=' + String(nextHp) + ); + + return { + ok: true, + effectType: 'heal', + roll, + amount: roll.total, + previousHp: currentHp, + currentHp: nextHp, + maxHp: hasMax ? maxRaw : null, + hpMode: hpTarget.mode, + hpBar: hpTarget.bar || 0, + message: + 'Heals ' + Utils.escapeHtml(String(roll.total)) + ' HP' + + ' (' + Utils.escapeHtml(String(currentHp)) + ' -> ' + Utils.escapeHtml(String(nextHp)) + + (hasMax ? '/' + Utils.escapeHtml(String(maxRaw)) : '') + ').', + narrativeType: 'heal', + narrativeValue: String(roll.total) + }; + } + + const maxRawValue = await R20.getSheet(safeTargetCharacterId, 'hp_max'); + const currentRawValue = await R20.getSheet(safeTargetCharacterId, 'hp'); + + const hasCurrentHp = + currentRawValue !== undefined && + currentRawValue !== null && + String(currentRawValue).trim() !== ''; + if (!hasCurrentHp) { + return { + ok: false, + message: 'HP attribute was not found for this character.', + effectType: 'heal' + }; + } + + const currentHp = Number(currentRawValue) || 0; + const maxRaw = Number(maxRawValue); + const hasMax = + maxRawValue !== undefined && + maxRawValue !== null && + String(maxRawValue).trim() !== '' && + !Number.isNaN(maxRaw) && + maxRaw > 0; + const nextHp = hasMax ? Math.min(maxRaw, currentHp + roll.total) : (currentHp + roll.total); + + if (currentHp <= 0) { + const deathState = TokenService.getDeathSavesState(safeTargetCharacterId); + if (deathState.ok && deathState.open && Utils.toInt(deathState.failures, 0) >= 3) { + return { + ok: true, + effectType: 'heal', + noEffect: true, + roll: null, + amount: 0, + previousHp: currentHp, + currentHp, + maxHp: hasMax ? maxRaw : null, + message: 'Healing had no effect because the target is dead.', + narrativeType: 'no_effect', + narrativeValue: 'is already dead' + }; + } + await TokenService.clearHealedPlayerDefeatState(targetToken, safeTargetCharacterId); + } + await R20.setSheet(safeTargetCharacterId, 'hp', nextHp); + Logger.info( + '[Heal:setSheet hp]', + 'characterId=' + safeTargetCharacterId, + 'previous=' + String(currentHp), + 'next=' + String(nextHp) + ); + + return { + ok: true, + effectType: 'heal', + roll, + amount: roll.total, + previousHp: currentHp, + currentHp: nextHp, + maxHp: hasMax ? maxRaw : null, + message: + 'Heals ' + Utils.escapeHtml(String(roll.total)) + ' HP' + + ' (' + Utils.escapeHtml(String(currentHp)) + ' -> ' + Utils.escapeHtml(String(nextHp)) + + (hasMax ? '/' + Utils.escapeHtml(String(maxRaw)) : '') + ').', + narrativeType: 'heal', + narrativeValue: String(roll.total) + }; + }, + + async executeUseEffect({ sourceCharacterId = '', sourceToken = null, targetCharacterId = '', targetToken = null, item = {} } = {}) { + const safeItem = item || {}; + const effectText = String(safeItem.effect || '').trim(); + const effectKey = this.resolveUseEffectKey(effectText); + + if (effectKey === 'heal') { + return this.executeHealEffect({ + targetCharacterId, + targetToken, + item: safeItem + }); + } + + if (effectKey === 'damage') { + return this.executeDamageEffect({ + sourceCharacterId, + sourceToken, + targetCharacterId, + targetToken, + item: safeItem + }); + } + + if (effectKey === 'apply_only') { + const effectLabel = effectText || 'Item effect'; + return { + ok: true, + effectType: 'apply_only', + message: 'Applied ' + Utils.escapeHtml(effectLabel) + '.', + narrativeType: 'applied', + narrativeValue: effectLabel + }; + } + + return { + ok: false, + effectType: 'unknown', + message: 'Unsupported item effect: "' + effectText + '".' + }; + }, + + async useInventoryItem({ sourceTokenId = '', targetTokenId = '', itemName = '', playerId = '', isGM = false } = {}) { + const sourceId = String(sourceTokenId || '').trim(); + const targetId = String(targetTokenId || '').trim(); + const safeName = String(itemName || '').trim(); + if (!sourceId || !targetId || !safeName) { + return { ok: false, message: 'Missing source token, target token, or item name.' }; + } + + const sourceAccessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceId, + playerId, + isGM, + actionLabel: 'use items from' + }); + const sourceAccess = sourceAccessResult.access; + if (!sourceAccessResult.ok) { + return { + ok: false, + message: sourceAccessResult.message, + sourceAccess + }; + } + if (!sourceAccess.token || !sourceAccess.character) { + return { ok: false, message: 'Source token is not linked to a character.' }; + } + + const targetResolved = R20.resolveTokenRef(targetId); + const targetToken = targetResolved.token; + if (!targetToken) { + return { ok: false, message: 'Target token was not found.' }; + } + const targetCharacterId = String(targetResolved.characterId || targetToken.get('represents') || '').trim(); + if (!targetCharacterId) { + return { ok: false, message: 'Target token is not linked to a character.' }; + } + + const characterId = String(sourceAccess.character.id || '').trim(); + if (!characterId) { + return { ok: false, message: 'Source character was not found.' }; + } + + const sourceItems = await this.getSheetInventory(characterId); + const sourceItem = sourceItems.find((entry) => + String(entry.name || '').trim().toLowerCase() === safeName.toLowerCase() + ); + + if (!sourceItem) { + return { ok: false, message: 'Item was not found in source inventory.' }; + } + + const availableQty = Math.max(0, this.toIntOrNull(sourceItem.quantity) || 0); + const sourceItemType = String(sourceItem.type || '').trim().toLowerCase(); + const sourceItemEffect = String(sourceItem.effect || '').trim().toLowerCase(); + const sourceItemSubtype = String(sourceItem.subtype || '').trim().toLowerCase(); + const sourceItemUseRange = String(sourceItem.useRange || sourceItem.consumableRange || '').trim().toLowerCase(); + const sourceItemTags = String(sourceItem.tags || '').trim().toLowerCase(); + const isAmmoItem = + sourceItemType === 'ammo' || + sourceItemEffect === 'ammo' || + sourceItemSubtype === 'ammo' || + sourceItemUseRange === 'ammo' || + sourceItemTags.indexOf('ammo') >= 0; + const isConsumable = sourceItem.consumable === true || String(sourceItem.consumable || '').trim().toLowerCase() === 'true'; + + const maxUseDistanceFt = this.getItemUseRangeFeet(sourceItem); + const inRange = this.isTargetWithinTransferDistance(sourceId, targetId, maxUseDistanceFt); + if (!inRange.ok) { + return { + ok: false, + message: inRange.message, + distanceFt: inRange.distanceFt, + maxDistanceFt: inRange.maxDistanceFt + }; + } + + let effectResult = null; + if (isAmmoItem) { + effectResult = { + ok: true, + effectType: 'ammo', + message: '', + narrativeType: 'ammo', + narrativeValue: '' + }; + } else { + effectResult = await this.executeUseEffect({ + sourceCharacterId: characterId, + sourceToken: sourceAccess.token, + targetCharacterId, + targetToken, + item: sourceItem + }); + + if (!effectResult.ok) { + return { + ok: false, + message: effectResult.message || 'Unable to apply item effect.', + effect: String(sourceItem.effect || '').trim() + }; + } + } + + let consumed = 0; + let remaining = Math.max(0, availableQty); + if (isConsumable && availableQty > 0) { + const removeResult = await this.removeInventoryItem(characterId, sourceItem.name, 1); + if (!removeResult.ok) { + return { ok: false, message: removeResult.message || 'Unable to consume item.' }; + } + consumed = 1; + remaining = Math.max(0, this.toIntOrNull(removeResult.remaining) || 0); + } + + return { + ok: true, + itemName: String(sourceItem.name || safeName), + itemDescription: String(sourceItem.description || '').trim(), + itemType: sourceItemType, + consumed, + remaining, + availableQty, + isConsumable, + effect: String(sourceItem.effect || '').trim(), + effectType: effectResult.effectType || '', + effectMessage: effectResult.message || '', + effectResult, + useRangeFt: maxUseDistanceFt, + distanceFt: inRange.distanceFt, + targetTokenId: targetResolved.tokenId || targetId, + sourceAccess + }; + }, + + async getSheetInventory(characterId) { + const items = []; + const rootEntry = this.loadInventoryRoot(characterId); + const attrs = rootEntry.attrs || this.getInventoryRootContext(characterId).attrs; + + if (rootEntry.ok) { + const inventoryContainer = this.getInventoryContainer(rootEntry.root) || rootEntry.root; + this.walkInventoryNodes(inventoryContainer, (entry) => { + const qty = entry.qtyKey ? this.toIntOrNull(entry.node[entry.qtyKey]) : null; + if (qty !== null && qty <= 0) return false; + const meta = this.extractInventoryMeta(entry.node); + items.push({ + name: entry.name, + quantity: qty === null ? 1 : Math.max(0, qty), + __path: entry.path, + ...meta + }); + return false; + }); + } + + if (Array.isArray(attrs)) { + for (let i = 0; i < attrs.length; i += 1) { + const attrNameRaw = String(attrs[i].get('name') || '').trim(); + if (!attrNameRaw || attrNameRaw.toLowerCase().indexOf('store.') !== 0) continue; + if (attrNameRaw.toLowerCase() === 'store') continue; + const qty = this.toIntOrNull(attrs[i].get('current')); + if (qty === null) continue; + const prettyName = attrNameRaw.slice('store.'.length).replace(/[_\.]+/g, ' ').replace(/\s+/g, ' ').trim(); + if (!prettyName) continue; + items.push({ + name: prettyName, + quantity: Math.max(0, qty), + __path: attrNameRaw + }); + } + } + + const dedup = {}; + for (let i = 0; i < items.length; i += 1) { + const item = items[i]; + const key = String(item.name || '').trim().toLowerCase(); + if (!key) continue; + + const existing = dedup[key]; + if (!existing) { + dedup[key] = item; + continue; + } + + const existingQty = Math.max(0, this.toIntOrNull(existing.quantity) || 0); + const itemQty = Math.max(0, this.toIntOrNull(item.quantity) || 0); + if (itemQty > existingQty) { + dedup[key] = item; + } + } + + return Object.keys(dedup) + .map((k) => { + const inventoryItem = dedup[k]; + const catalogItem = ItemCatalog.getByName(inventoryItem.name); + const merged = Object.assign({}, catalogItem || {}, inventoryItem); + const inventoryType = String(inventoryItem.type || '').trim().toLowerCase(); + const hasUsefulInventoryType = inventoryType && + !['item', 'other possession', 'other possessions', 'equipment', 'adventuring gear'].includes(inventoryType); + if (catalogItem && !hasUsefulInventoryType && String(catalogItem.type || '').trim()) { + merged.type = catalogItem.type; + } + if (catalogItem) { + ['subtype', 'tags', 'properties'].forEach((keyName) => { + if (!String(merged[keyName] || '').trim() && String(catalogItem[keyName] || '').trim()) { + merged[keyName] = catalogItem[keyName]; + } + }); + } + delete merged.__path; + if (!merged.id) { + merged.id = 'inv_' + String(merged.name || 'item').toLowerCase().replace(/[^a-z0-9]+/g, '_'); + } + return new ItemRawData(merged); + }) + .sort((a, b) => String(a.name || '').localeCompare(String(b.name || ''))); + }, + + setInventoryTargetEquipped(rootEntry, target, nextEquipped) { + if (!rootEntry || !rootEntry.root || !target || !target.node || typeof target.node !== 'object') { + return { ok: false, message: 'Inventory target is invalid.' }; + } + + let changed = false; + if (target.node.equipData && typeof target.node.equipData === 'object' && !Array.isArray(target.node.equipData)) { + target.node.equipData.equipped = nextEquipped; + changed = true; + } else if (Object.prototype.hasOwnProperty.call(target.node, 'equipped')) { + target.node.equipped = nextEquipped; + changed = true; + } + if (!changed) { + return { ok: false, message: 'Item does not expose an equipped field to update safely.' }; + } + + const pathTokens = Array.isArray(target.pathTokens) ? target.pathTokens.slice() : []; + const leaf = pathTokens.length ? pathTokens[pathTokens.length - 1] : ''; + const parentTokens = pathTokens.slice(0, -1); + const parentNode = parentTokens.length ? this.getAtTokens(rootEntry.root, parentTokens) : rootEntry.root; + const itemNodeId = (!Array.isArray(parentNode) && leaf !== undefined && leaf !== null) + ? String(leaf || '').trim() + : String(target.node.id || target.node._id || target.node.shortID || '').trim(); + let cascadeChanges = 0; + if (itemNodeId && parentNode && typeof parentNode === 'object' && !Array.isArray(parentNode)) { + const visited = {}; + const topIds = this.parseChildIdList(target.node.childIDs); + const parentKeys = Object.keys(parentNode); + for (let i = 0; i < parentKeys.length; i += 1) { + const key = parentKeys[i]; + const node = parentNode[key]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + if (String(node.parentID || '').trim() === itemNodeId || String(node.sourceID || '').trim() === itemNodeId) { + topIds.push(key); + } + } + + const updateChildCascade = (childId) => { + const safeChildId = String(childId || '').trim(); + if (!safeChildId || visited[safeChildId]) return; + const childNode = parentNode[safeChildId]; + if (!childNode || typeof childNode !== 'object' || Array.isArray(childNode)) return; + + visited[safeChildId] = true; + if (nextEquipped) { + if (childNode.cascades && typeof childNode.cascades === 'object' && !Array.isArray(childNode.cascades) && + Object.prototype.hasOwnProperty.call(childNode.cascades, itemNodeId)) { + delete childNode.cascades[itemNodeId]; + if (!Object.keys(childNode.cascades).length) delete childNode.cascades; + cascadeChanges += 1; + } + } else { + if (!childNode.cascades || typeof childNode.cascades !== 'object' || Array.isArray(childNode.cascades)) { + childNode.cascades = {}; + } + if (childNode.cascades[itemNodeId] !== '["Equip"]') { + childNode.cascades[itemNodeId] = '["Equip"]'; + cascadeChanges += 1; + } + } + + const nestedIds = this.parseChildIdList(childNode.childIDs); + for (let i = 0; i < nestedIds.length; i += 1) updateChildCascade(nestedIds[i]); + }; + + for (let i = 0; i < topIds.length; i += 1) updateChildCascade(topIds[i]); + } + + return { ok: true, changed, cascadeChanges }; + }, + + async dequipInventoryTargetBeforeRemoval(characterId, rootEntry, target) { + const meta = target && target.meta ? target.meta : this.extractInventoryMeta(target && target.node); + if (!Utils.toBoolean(meta && meta.equipped, false)) { + return { ok: true, dequipped: false, cascadeChanges: 0, rootEntry }; + } + + const dequipResult = this.setInventoryTargetEquipped(rootEntry, target, false); + if (!dequipResult.ok) return dequipResult; + + const saved = await this.saveInventoryRootWithSheetWorker(characterId, rootEntry); + if (!saved) return { ok: false, message: 'Inventory could not be saved after dequipping.' }; + + const reloadedRootEntry = this.loadInventoryRoot(characterId); + if (!reloadedRootEntry.ok) { + return { ok: false, message: reloadedRootEntry.message || 'Inventory could not be reloaded after dequipping.' }; + } + + return { + ok: true, + dequipped: true, + cascadeChanges: dequipResult.cascadeChanges || 0, + rootEntry: reloadedRootEntry + }; + }, + + normalizeTransferItemRecordAsUnequipped(itemRecord = {}) { + const node = itemRecord && itemRecord.node; + const childNodes = itemRecord && itemRecord.meta && itemRecord.meta.childNodes; + const rowId = String(itemRecord && itemRecord.meta && itemRecord.meta.rowId || '').trim(); + if (!node || typeof node !== 'object') return itemRecord; + + if (node.equipData && typeof node.equipData === 'object' && !Array.isArray(node.equipData)) { + node.equipData.equipped = false; + } + if (Object.prototype.hasOwnProperty.call(node, 'equipped')) { + node.equipped = false; + } + if (Object.prototype.hasOwnProperty.call(node, '_equipped')) { + node._equipped = false; + } + + if (!rowId || !childNodes || typeof childNodes !== 'object' || Array.isArray(childNodes)) return itemRecord; + + const visited = {}; + const markChild = (childId) => { + const safeChildId = String(childId || '').trim(); + if (!safeChildId || visited[safeChildId]) return; + const child = childNodes[safeChildId]; + if (!child || typeof child !== 'object' || Array.isArray(child)) return; + visited[safeChildId] = true; + if (!child.cascades || typeof child.cascades !== 'object' || Array.isArray(child.cascades)) child.cascades = {}; + child.cascades[rowId] = '["Equip"]'; + this.parseChildIdList(child.childIDs).forEach(markChild); + }; + + this.parseChildIdList(node.childIDs).forEach(markChild); + Object.keys(childNodes).forEach((key) => { + const child = childNodes[key]; + if (!child || typeof child !== 'object' || Array.isArray(child)) return; + if (String(child.parentID || '').trim() === rowId || String(child.sourceID || child.sourceId || '').trim() === rowId) { + markChild(key); + } + }); + return itemRecord; + }, + + normalizeTransferTemplateAsUnequipped(itemRecord = {}) { + return this.normalizeTransferItemRecordAsUnequipped(itemRecord); + }, + + async removeInventoryItem(characterId, itemName, quantity = 1, options = {}) { + const normalizedName = String(itemName || '').trim().toLowerCase(); + const removeQty = Math.max(1, this.toIntOrNull(quantity) || 1); + if (!characterId || !normalizedName) { + return { ok: false, message: 'Missing character or item name.' }; + } + + let rootEntry = this.loadInventoryRoot(characterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message }; + + const findRemovalTarget = () => { + const quantifiedTargets = []; + const fallbackTargets = []; + this.walkInventoryNodes(rootEntry.root, (entry) => { + if (String(entry.name || '').trim().toLowerCase() !== normalizedName) return false; + const currentQty = entry.qtyKey ? this.toIntOrNull(entry.node[entry.qtyKey]) : null; + if (currentQty !== null && (currentQty <= 0 || currentQty < removeQty)) return false; + if (currentQty === null && removeQty > 1) return false; + const candidate = { + node: entry.node, + name: entry.name, + qtyKey: entry.qtyKey, + path: entry.path, + pathTokens: entry.pathTokens.slice(), + currentQty, + meta: this.extractInventoryMeta(entry.node) + }; + if (entry.qtyKey && currentQty !== null) quantifiedTargets.push(candidate); + else fallbackTargets.push(candidate); + return false; + }); + return quantifiedTargets[0] || fallbackTargets[0] || null; + }; + + let target = findRemovalTarget(); + + if (!target) { + return { ok: false, message: 'Item not found with enough quantity.' }; + } + + if (target.qtyKey && target.currentQty !== null && target.currentQty > removeQty) { + target.node[target.qtyKey] = target.currentQty - removeQty; + if (!this.saveInventoryRoot(rootEntry)) { + return { ok: false, message: 'Inventory could not be saved after changing quantity.' }; + } + return { + ok: true, + action: 'decremented', + itemName: String(target.name || itemName), + removed: removeQty, + remaining: Math.max(0, target.currentQty - removeQty), + removedChildren: 0 + }; + } + + let dequippedBeforeRemoval = false; + let dequipCascadeChanges = 0; + if (options && options.dequipBeforeFullRemove) { + target.meta = target.meta || this.extractInventoryMeta(target.node); + const dequipResult = await this.dequipInventoryTargetBeforeRemoval(characterId, rootEntry, target); + if (!dequipResult.ok) { + return { ok: false, message: dequipResult.message || 'Unable to dequip item before removal.' }; + } + dequippedBeforeRemoval = !!dequipResult.dequipped; + dequipCascadeChanges = Number(dequipResult.cascadeChanges) || 0; + if (dequipResult.rootEntry) rootEntry = dequipResult.rootEntry; + if (dequippedBeforeRemoval) { + target = findRemovalTarget(); + if (!target) { + return { ok: false, message: 'Item was dequipped but could not be found again for removal.' }; + } + } + } + + const pathTokens = Array.isArray(target.pathTokens) ? target.pathTokens.slice() : []; + if (!pathTokens.length) { + return { ok: false, message: 'Item path is invalid.' }; + } + + const leaf = pathTokens[pathTokens.length - 1]; + const parentTokens = pathTokens.slice(0, -1); + const parentNode = parentTokens.length ? this.getAtTokens(rootEntry.root, parentTokens) : rootEntry.root; + if (!parentNode || typeof parentNode !== 'object') { + return { ok: false, message: 'Parent node for item was not found.' }; + } + + let removedChildren = 0; + if (!Array.isArray(parentNode)) { + const childIds = this.parseChildIdList(target.node.childIDs); + const parentShortId = String(target.node.shortID || '').trim(); + removedChildren = this.removeChildrenFromObjectContainer(parentNode, childIds, parentShortId, String(leaf)); + } + + if (Array.isArray(parentNode) && typeof leaf === 'number') { + if (leaf < 0 || leaf >= parentNode.length) { + return { ok: false, message: 'Array index is out of bounds.' }; + } + parentNode.splice(leaf, 1); + } else { + delete parentNode[leaf]; + } + + if (!this.saveInventoryRoot(rootEntry)) { + return { ok: false, message: 'Inventory could not be saved after deleting item.' }; + } + + return { + ok: true, + action: 'deleted', + itemName: String(target.name || itemName), + removed: removeQty, + remaining: 0, + removedChildren, + dequippedBeforeRemoval, + dequipCascadeChanges + }; + }, + + async toggleInventoryItemEquipped(characterId, itemName) { + const normalizedName = this.normalizeInventoryItemKey(itemName); + if (!characterId || !normalizedName) { + return { ok: false, message: 'Missing character or item name.' }; + } + + const rootEntry = this.loadInventoryRoot(characterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message }; + + let target = null; + this.walkInventoryNodes(rootEntry.root, (entry) => { + if (this.normalizeInventoryItemKey(entry.name) !== normalizedName) return false; + const currentQty = entry.qtyKey ? this.toIntOrNull(entry.node[entry.qtyKey]) : null; + if (currentQty !== null && currentQty <= 0) return false; + + const meta = this.extractInventoryMeta(entry.node); + const catalogItem = ItemCatalog.getByName(entry.name); + const equippable = Utils.toBoolean(meta.equippable, false) || + Utils.toBoolean(catalogItem && catalogItem.equippable, false); + if (!equippable) return false; + target = { + node: entry.node, + name: entry.name, + qtyKey: entry.qtyKey, + path: entry.path, + pathTokens: entry.pathTokens.slice(), + currentQty, + meta, + catalogItem + }; + return true; + }); + + if (!target) return { ok: false, message: 'Equippable item was not found in inventory.' }; + + const wasEquipped = Utils.toBoolean(target.meta.equipped, false); + const nextEquipped = !wasEquipped; + const equipStateResult = this.setInventoryTargetEquipped(rootEntry, target, nextEquipped); + if (!equipStateResult.ok) return equipStateResult; + + const saved = await this.saveInventoryRootWithSheetWorker(characterId, rootEntry); + if (!saved) return { ok: false, message: 'Inventory could not be saved after changing equipped state.' }; + + return { + ok: true, + itemName: String(target.name || itemName), + equipped: nextEquipped, + action: nextEquipped ? 'equipped' : 'dequipped', + quantity: target.currentQty === null ? 1 : Math.max(1, target.currentQty), + removedChildren: 0, + cascadeChanges: equipStateResult.cascadeChanges || 0 + }; + }, + + async addInventoryItem(characterId, itemName, quantity = 1, options = {}) { + const normalizedName = String(itemName || '').trim(); + const addQty = Math.max(1, this.toIntOrNull(quantity) || 1); + if (!characterId || !normalizedName) { + return { ok: false, message: 'Missing character or item name.' }; + } + + const safeName = String(itemName || '').trim(); + const normalizedKey = safeName.toLowerCase(); + const forceNewEntry = !!(options && options.forceNewEntry); + const rootEntry = this.loadInventoryRoot(characterId, { createIfMissing: true }); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message }; + + const resolvedRecord = await this.resolveInventoryItemRecord(safeName, options || {}); + if (!resolvedRecord.ok || !resolvedRecord.itemRecord) return resolvedRecord; + const itemRecord = resolvedRecord.itemRecord; + + const incomingChildNodes = itemRecord.meta && itemRecord.meta.childNodes && typeof itemRecord.meta.childNodes === 'object' + ? itemRecord.meta.childNodes + : {}; + if (!forceNewEntry) { + let existingMatch = null; + this.walkInventoryNodes(rootEntry.root, (entry) => { + if (String(entry.name || '').trim().toLowerCase() !== normalizedKey) return false; + if (!entry.qtyKey) return false; + const entryPathTokens = Array.isArray(entry.pathTokens) ? entry.pathTokens.slice() : []; + const entryParentTokens = entryPathTokens.slice(0, -1); + const entryContainer = entryParentTokens.length + ? this.getAtTokens(rootEntry.root, entryParentTokens) + : rootEntry.root; + const existingChildNodes = (!Array.isArray(entryContainer)) + ? this.collectChildNodesFromObjectContainer(entryContainer, entry.node) + : {}; + if (!this.isSameStackSignature(entry.node, itemRecord.node, entry.name, safeName, existingChildNodes, incomingChildNodes)) return false; + existingMatch = entry; + return true; + }); + + if (existingMatch && existingMatch.node && typeof existingMatch.node === 'object') { + const currentQty = Math.max(0, this.toIntOrNull(existingMatch.node[existingMatch.qtyKey]) || 0); + existingMatch.node[existingMatch.qtyKey] = currentQty + addQty; + if (!this.saveInventoryRoot(rootEntry)) { + return { ok: false, message: 'Inventory could not be saved after increasing quantity.' }; + } + return { + ok: true, + action: 'incremented', + itemName: safeName, + added: addQty, + before: currentQty, + after: currentQty + addQty, + recordSource: resolvedRecord.source || '' + }; + } + } + + const node = this.cloneJsonSafe(itemRecord.node); + if (!node || typeof node !== 'object') return { ok: false, message: 'Item record is invalid.' }; + node._enabled = true; + node._label = ''; + if (Object.prototype.hasOwnProperty.call(node, 'name')) node.name = safeName; + if (Object.prototype.hasOwnProperty.call(node, 'recordName')) node.recordName = safeName; + node.quantity = addQty; + + const itemPath = String((itemRecord.meta && itemRecord.meta.path) || '').trim(); + const itemPathTokens = this.parsePathTokens(itemPath); + const pathIsInventoryContainer = itemPathTokens.length === 2 && + String(itemPathTokens[0]) === 'integrants' && + String(itemPathTokens[1]) === 'integrants'; + const containerTokens = pathIsInventoryContainer + ? itemPathTokens + : (itemPathTokens.length > 1 ? itemPathTokens.slice(0, -1) : ['integrants', 'integrants']); + const container = this.ensureObjectPath(rootEntry.root, containerTokens); + if (!container || typeof container !== 'object') { + return { ok: false, message: 'Target container was not found.' }; + } + + let rowId = ''; + let oldParentRowId = ''; + if (!Array.isArray(container)) { + const preferredRowId = itemPathTokens.length + ? String(itemPathTokens[itemPathTokens.length - 1] || '').trim() + : ''; + const hasUsablePreferredRowId = !!preferredRowId && !this.isPlaceholderInventoryRowId(preferredRowId); + if (hasUsablePreferredRowId) oldParentRowId = preferredRowId; + if (!oldParentRowId && itemRecord.meta && itemRecord.meta.rowId) { + const rowIdRaw = String(itemRecord.meta.rowId || '').trim(); + const parts = rowIdRaw.split('.'); + oldParentRowId = parts.length ? String(parts[parts.length - 1] || '').trim() : ''; + if (this.isPlaceholderInventoryRowId(oldParentRowId)) oldParentRowId = ''; + } + rowId = hasUsablePreferredRowId && !Object.prototype.hasOwnProperty.call(container, preferredRowId) + ? preferredRowId + : this.makeInventoryRowId(container); + } + + let nextArrayPosition = this.getNextArrayPosition(container); + const takeArrayPosition = () => { + const current = nextArrayPosition; + nextArrayPosition += 1; + return current; + }; + + const oldParentShortID = String(node.shortID || '').trim(); + let newParentShortID = oldParentShortID; + if (oldParentShortID) { + newParentShortID = this.makeShortId(); + node.shortID = newParentShortID; + } + node.createdTime = Date.now(); + node.arrayPosition = takeArrayPosition(); + if (!Object.prototype.hasOwnProperty.call(node, 'builderDisplayName')) node.builderDisplayName = ''; + const parentCompendiumPageId = String(node.compendiumPageID || '').trim(); + + const sourceIdMap = {}; + if (oldParentRowId && rowId) sourceIdMap[oldParentRowId] = rowId; + + let itemChildrenCloned = 0; + if (!Array.isArray(container) && itemRecord.meta && itemRecord.meta.childNodes && typeof itemRecord.meta.childNodes === 'object') { + const childNodes = itemRecord.meta.childNodes; + + if (!oldParentRowId) { + const topChildIds = this.parseChildIdList(node.childIDs); + for (let t = 0; t < topChildIds.length; t += 1) { + const topId = String(topChildIds[t] || '').trim(); + if (!topId || !Object.prototype.hasOwnProperty.call(childNodes, topId)) continue; + const topNode = childNodes[topId]; + if (!topNode || typeof topNode !== 'object') continue; + const sourceId = String(topNode.sourceID || topNode.sourceId || '').trim(); + if (!sourceId) continue; + oldParentRowId = sourceId; + if (rowId) sourceIdMap[oldParentRowId] = rowId; + break; + } + } + + const oldTopIds = this.parseChildIdList(node.childIDs).filter((id) => Object.prototype.hasOwnProperty.call(childNodes, id)); + const orderedOldIds = []; + const visitedOldIds = {}; + const visitOldId = (id) => { + const oldId = String(id || '').trim(); + if (!oldId || visitedOldIds[oldId]) return; + if (!Object.prototype.hasOwnProperty.call(childNodes, oldId)) return; + visitedOldIds[oldId] = true; + orderedOldIds.push(oldId); + const nested = this.parseChildIdList(childNodes[oldId].childIDs); + for (let x = 0; x < nested.length; x += 1) visitOldId(nested[x]); + }; + for (let t = 0; t < oldTopIds.length; t += 1) visitOldId(oldTopIds[t]); + const allChildKeys = Object.keys(childNodes); + for (let t = 0; t < allChildKeys.length; t += 1) visitOldId(allChildKeys[t]); + + if (orderedOldIds.length) { + const rowIdMap = {}; + const shortIdMap = {}; + if (oldParentShortID && newParentShortID) shortIdMap[oldParentShortID] = newParentShortID; + + for (let c = 0; c < orderedOldIds.length; c += 1) { + const oldId = orderedOldIds[c]; + let newId = this.makeInventoryRowId(container); + while ( + !newId || + newId === rowId || + Object.values(rowIdMap).indexOf(newId) >= 0 + ) { + newId = this.makeInventoryRowId(container); + } + rowIdMap[oldId] = newId; + sourceIdMap[oldId] = newId; + + const originalNode = childNodes[oldId]; + const oldChildShortId = originalNode && typeof originalNode === 'object' + ? String(originalNode.shortID || '').trim() + : ''; + if (oldChildShortId) { + let newChildShortId = this.makeShortId(); + while (Object.values(shortIdMap).indexOf(newChildShortId) >= 0) { + newChildShortId = this.makeShortId(); + } + shortIdMap[oldChildShortId] = newChildShortId; + } + } + + for (let c = 0; c < orderedOldIds.length; c += 1) { + const oldId = orderedOldIds[c]; + const childClone = this.cloneJsonSafe(childNodes[oldId]); + if (!childClone || typeof childClone !== 'object') continue; + + const newId = rowIdMap[oldId]; + if (!newId) continue; + + if (Object.prototype.hasOwnProperty.call(childClone, 'shortID')) { + const oldShortId = String(childClone.shortID || '').trim(); + if (oldShortId && shortIdMap[oldShortId]) childClone.shortID = shortIdMap[oldShortId]; + } + if (Object.prototype.hasOwnProperty.call(childClone, 'parentID')) { + const oldParentId = String(childClone.parentID || '').trim(); + if (oldParentId && shortIdMap[oldParentId]) childClone.parentID = shortIdMap[oldParentId]; + else if (oldParentId && rowIdMap[oldParentId]) childClone.parentID = rowIdMap[oldParentId]; + else if (oldParentId === oldParentShortID) childClone.parentID = newParentShortID; + } + if (Object.prototype.hasOwnProperty.call(childClone, 'childIDs')) { + const childIdList = this.parseChildIdList(childClone.childIDs); + const mappedChildIds = []; + for (let m = 0; m < childIdList.length; m += 1) { + const mapped = rowIdMap[String(childIdList[m] || '').trim()]; + if (mapped) mappedChildIds.push(mapped); + } + childClone.childIDs = JSON.stringify(mappedChildIds); + } + this.remapSourceIdsDeep(childClone, sourceIdMap); + childClone.createdTime = Date.now(); + childClone.arrayPosition = takeArrayPosition(); + if (parentCompendiumPageId && !String(childClone.compendiumPageID || '').trim()) { + childClone.compendiumPageID = parentCompendiumPageId; + } + childClone._enabled = true; + childClone._label = ''; + if (!Object.prototype.hasOwnProperty.call(childClone, 'builderDisplayName')) childClone.builderDisplayName = ''; + container[newId] = childClone; + itemChildrenCloned += 1; + } + + const newTopIds = []; + for (let iTop = 0; iTop < oldTopIds.length; iTop += 1) { + const mappedTop = rowIdMap[String(oldTopIds[iTop] || '').trim()]; + if (mappedTop) newTopIds.push(mappedTop); + } + node.childIDs = JSON.stringify(newTopIds); + } + } + + this.remapSourceIdsDeep(node, sourceIdMap); + if (Array.isArray(container)) container.push(node); + else container[rowId] = node; + if (!this.saveInventoryRoot(rootEntry)) { + return { ok: false, message: 'Inventory could not be saved after adding item.' }; + } + + return { + ok: true, + action: 'created', + itemName: safeName, + added: addQty, + before: 0, + after: addQty, + recordSource: resolvedRecord.source || '', + itemChildrenCloned, + templateChildrenCloned: itemChildrenCloned + }; + } + }; + + /** ----------------------------------------------------------------------- + * @section Item Service + * --------------------------------------------------------------------- */ + const ItemService = { + draftFields: [ + { key: 'id', label: 'ID', type: 'text', defaultValue: '' }, + { key: 'blueprint', label: 'Blueprint', type: 'blueprint', defaultValue: '' }, + { key: 'name', label: 'Name', type: 'text', defaultValue: '' }, + { key: 'displayName', label: 'Display Name', type: 'text', defaultValue: '' }, + { key: 'description', label: 'Description', type: 'text', defaultValue: '' }, + { key: 'weight', label: 'Weight', type: 'number', defaultValue: 0 }, + { key: 'AC', label: 'AC', type: 'text', defaultValue: '' }, + { key: 'modifier', label: 'Modifier', type: 'text', defaultValue: '' }, + { key: 'debuff', label: 'Debuff', type: 'text', defaultValue: '' }, + { key: 'requirement', label: 'Requirement', type: 'text', defaultValue: '' }, + { key: 'type', label: 'Type', type: 'text', defaultValue: '' }, + { key: 'subtype', label: 'Subtype', type: 'text', defaultValue: '' }, + { key: 'rarity', label: 'Rarity', type: 'text', defaultValue: 'common' }, + { key: 'defaultPrice', label: 'Default Price', type: 'number', defaultValue: 0 }, + { key: 'defaultPriceType', label: 'Price Type', type: 'text', defaultValue: CONFIG.CURRENCY_FALLBACK }, + { key: 'imageUrl', label: 'Image URL', type: 'text', defaultValue: '' }, + { key: 'effect', label: 'Effect', type: 'text', defaultValue: '' }, + { key: 'diceCount', label: 'Dice Count', type: 'number', defaultValue: 0 }, + { key: 'diceSide', label: 'Dice Side', type: 'number', defaultValue: 0 }, + { key: 'bonus', label: 'Bonus', type: 'number', defaultValue: 0 }, + { key: 'rollBonus', label: 'Roll Bonus', type: 'number', defaultValue: 0 }, + { key: 'area', label: 'Area', type: 'text', defaultValue: 'single' }, + { key: 'damage', label: 'Damage', type: 'text', defaultValue: '' }, + { key: 'damageType', label: 'Damage Type', type: 'text', defaultValue: '' }, + { key: 'properties', label: 'Properties', type: 'text', defaultValue: '' }, + { key: 'mastery', label: 'Mastery', type: 'text', defaultValue: '' }, + { key: 'tags', label: 'Tags', type: 'text', defaultValue: '' }, + { key: 'equippable', label: 'Equippable', type: 'boolean', defaultValue: false }, + { key: 'attunement', label: 'Attunement', type: 'boolean', defaultValue: false }, + { key: 'attunementPrerequisite', label: 'Attunement Prerequisite', type: 'text', defaultValue: '' }, + { key: 'consumable', label: 'Consumable', type: 'boolean', defaultValue: false }, + { key: 'usable', label: 'Usable', type: 'boolean', defaultValue: false }, + { key: 'useTarget', label: 'Use Target', type: 'boolean', defaultValue: true }, + { key: 'useRange', label: 'Use Range', type: 'text', defaultValue: '5ft' }, + { key: 'consumableRange', label: 'Consumable Range', type: 'text', defaultValue: '' }, + { key: 'questItem', label: 'Quest Item', type: 'boolean', defaultValue: false } + ], + + getDraftKey(ctx = {}) { + return String(ctx.playerId || ctx.who || 'GM').trim() || 'GM'; + }, + + slugify(value = '') { + return String(value || '') + .trim() + .toLowerCase() + .replace(/<[^>]*>/g, '') + .replace(/&[^;\s]+;/g, ' ') + .replace(/[^a-z0-9]+/g, '_') + .replace(/^_+|_+$/g, '') || 'custom_item'; + }, + + createDefaultDraft() { + const draft = {}; + for (let i = 0; i < this.draftFields.length; i += 1) { + const field = this.draftFields[i]; + draft[field.key] = this.cloneFieldValue(field.defaultValue); + } + return draft; + }, + + cloneFieldValue(value) { + if (value === null || value === undefined) return value; + if (typeof value === 'object') return InventoryService.cloneJsonSafe(value); + return value; + }, + + getDraft(ctx = {}, options = {}) { + const root = State.get(); + root.itemDrafts = root.itemDrafts || {}; + const key = this.getDraftKey(ctx); + if (!root.itemDrafts[key] || options.reset) root.itemDrafts[key] = this.createDefaultDraft(); + return root.itemDrafts[key]; + }, + + loadDraftFromItem(ctx = {}, item = {}) { + const root = State.get(); + root.itemDrafts = root.itemDrafts || {}; + const key = this.getDraftKey(ctx); + const source = item instanceof ItemRawData ? item : new ItemRawData(item || {}); + const draft = this.createDefaultDraft(); + for (let i = 0; i < this.draftFields.length; i += 1) { + const field = this.draftFields[i]; + if (Object.prototype.hasOwnProperty.call(source, field.key)) { + draft[field.key] = this.cloneFieldValue(source[field.key]); + } + } + draft.equipped = false; + draft.attuned = false; + root.itemDrafts[key] = draft; + return draft; + }, + + clearDraft(ctx = {}) { + const root = State.get(); + root.itemDrafts = root.itemDrafts || {}; + delete root.itemDrafts[this.getDraftKey(ctx)]; + }, + + getFieldSpec(fieldKey = '') { + const key = String(fieldKey || '').trim(); + return this.draftFields.find((field) => field.key === key) || null; + }, + + setDraftField(ctx = {}, fieldKey = '', value = '') { + const field = this.getFieldSpec(fieldKey); + if (!field) return { ok: false, message: 'Unknown item field: ' + fieldKey + '.' }; + const draft = this.getDraft(ctx); + if (field.type === 'number') draft[field.key] = Number(value) || 0; + else if (field.type === 'boolean') draft[field.key] = Utils.toBoolean(value, false); + else draft[field.key] = String(value === undefined || value === null ? '' : value).trim(); + return { ok: true, draft }; + }, + + toggleDraftField(ctx = {}, fieldKey = '') { + const field = this.getFieldSpec(fieldKey); + if (!field || field.type !== 'boolean') return { ok: false, message: 'Field is not toggleable: ' + fieldKey + '.' }; + const draft = this.getDraft(ctx); + draft[field.key] = !Utils.toBoolean(draft[field.key], false); + return { ok: true, draft }; + }, + + normalizeDraft(draft = {}) { + const item = {}; + for (let i = 0; i < this.draftFields.length; i += 1) { + const field = this.draftFields[i]; + const value = Object.prototype.hasOwnProperty.call(draft, field.key) ? draft[field.key] : field.defaultValue; + if (field.type === 'number') item[field.key] = Number(value) || 0; + else if (field.type === 'boolean') item[field.key] = Utils.toBoolean(value, field.defaultValue); + else if (field.type === 'blueprint') item[field.key] = this.normalizeBlueprintDraftValue(value); + else item[field.key] = String(value === undefined || value === null ? '' : value).trim(); + } + + item.name = String(item.name || '').trim(); + item.id = String(item.id || this.slugify(item.name)).trim(); + if (!item.displayName) item.displayName = item.name; + if (!item.consumableRange) item.consumableRange = item.useRange || '5ft'; + item.defaultPriceType = CurrencyService.normalizeType(item.defaultPriceType) || CONFIG.CURRENCY_FALLBACK; + item.equipped = false; + item.attuned = false; + return new ItemRawData(item); + }, + + normalizeBlueprintDraftValue(value = '') { + if (value && typeof value === 'object') return InventoryService.cloneJsonSafe(value); + const text = String(value === undefined || value === null ? '' : value).trim(); + if (!text) return ''; + if (/^(none|null)$/i.test(text)) return 'none'; + if (/^in handout$/i.test(text)) return 'In Handout'; + if (/^[\[{]/.test(text)) { + try { + return InventoryService.compactBlueprintForStorage(JSON.parse(text)); + } catch (error) {} + } + return text; + }, + + itemToPlainObject(item) { + const safeItem = item instanceof ItemRawData ? item : new ItemRawData(item || {}); + const out = {}; + for (let i = 0; i < this.draftFields.length; i += 1) { + const key = this.draftFields[i].key; + out[key] = safeItem[key]; + } + out.equipped = false; + out.attuned = false; + return out; + }, + + hasEmbeddedBlueprint(value = '') { + if (value && typeof value === 'object') return true; + const text = String(value === undefined || value === null ? '' : value).trim(); + return /^[\[{]/.test(text); + }, + + getBlueprintDisplayValue(value = '') { + if (this.hasEmbeddedBlueprint(value)) return 'Embedded'; + const text = String(value === undefined || value === null ? '' : value).trim(); + if (/^in handout$/i.test(text)) return 'In Handout'; + if (/^(none|null)$/i.test(text)) return 'none'; + return text || 'none'; + }, + + async refreshDraftBlueprintStatus(draft = {}, itemName = '') { + const safeDraft = draft || {}; + if (this.hasEmbeddedBlueprint(safeDraft.blueprint)) return safeDraft; + const safeName = String(itemName || safeDraft.name || '').trim(); + if (!safeName) return safeDraft; + await InventoryService.loadItemBlueprintsFromHandout(); + safeDraft.blueprint = ItemsBlueprintCatalog.getAny(safeName) ? 'In Handout' : 'none'; + return safeDraft; + }, + + async setDraftBlueprintFromInventory(ctx = {}, sourceTokenRef = '', itemName = '') { + const resolved = R20.resolveTokenRef(sourceTokenRef); + if (!resolved || !resolved.character || !resolved.character.id) { + return { ok: false, message: 'Source token was not found.' }; + } + const safeName = String(itemName || '').trim(); + if (!safeName) return { ok: false, message: 'Item name is required.' }; + const blueprintResult = await InventoryService.extractInventoryItemBlueprint(resolved.character.id, safeName, { source: 'store' }); + if (!blueprintResult.ok) return blueprintResult; + const draft = this.getDraft(ctx); + draft.name = String(draft.name || blueprintResult.itemName || safeName).trim(); + draft.blueprint = InventoryService.compactBlueprintForStorage(blueprintResult.blueprint); + return { + ok: true, + draft, + itemName: blueprintResult.itemName || safeName, + characterName: String(resolved.character.get('name') || 'Character') + }; + }, + + async readHandoutItems() { + const database = await InventoryService.readPortableDatabase(ItemCatalog.handoutRef, ItemCatalog.field, { createIfMissing: true }); + const defaultItems = Array.isArray(database.payload.items) ? database.payload.items.slice() : []; + const customItems = Array.isArray(database.payload.customItems) ? database.payload.customItems.slice() : []; + return { + raw: database.raw, + parsed: database.payload, + payload: database.payload, + items: defaultItems.concat(customItems), + defaultItems, + customItems + }; + }, + + async writeHandoutItems(items = [], parsed = null, payload = {}, customItems = null) { + const safeItems = Array.isArray(items) ? items : []; + const nextPayload = InventoryService.normalizePortableDatabasePayload(payload || parsed || {}); + nextPayload.items = safeItems; + if (Array.isArray(customItems)) nextPayload.customItems = customItems; + await InventoryService.writePortableDatabase(nextPayload, ItemCatalog.handoutRef, ItemCatalog.field); + await InventoryService.loadItemCatalogFromHandout(); + return ItemCatalog.getAll(); + }, + + async createFromDraft(ctx = {}) { + const draft = this.getDraft(ctx); + const item = this.normalizeDraft(draft); + if (!item.name) return { ok: false, message: 'Item name is required.' }; + if (!item.id) return { ok: false, message: 'Item ID is required.' }; + + const handout = await this.readHandoutItems(); + const idKey = String(item.id || '').trim().toLowerCase(); + const nameKey = String(item.name || '').trim().toLowerCase(); + const findIndexIn = (list = []) => list.findIndex((entry) => { + const currentId = String((entry && entry.id) || '').trim().toLowerCase(); + const currentName = String((entry && entry.name) || '').trim().toLowerCase(); + return (currentId && currentId === idKey) || (currentName && currentName === nameKey); + }); + const defaultIndex = findIndexIn(handout.defaultItems); + const customIndex = findIndexIn(handout.customItems); + + const plainItem = this.itemToPlainObject(item); + let created = false; + if (defaultIndex >= 0) handout.defaultItems[defaultIndex] = plainItem; + else if (customIndex >= 0) handout.customItems[customIndex] = plainItem; + else { + handout.customItems.push(plainItem); + created = true; + } + + await this.writeHandoutItems(handout.defaultItems, handout.parsed, handout.payload, handout.customItems); + let blueprintFound = false; + if (this.hasEmbeddedBlueprint(plainItem.blueprint)) { + blueprintFound = true; + } else if (/^in handout$/i.test(String(plainItem.blueprint || '').trim())) { + await InventoryService.loadItemBlueprintsFromHandout(); + blueprintFound = !!ItemsBlueprintCatalog.getAny(plainItem.name); + } + this.clearDraft(ctx); + return { + ok: true, + item: ItemCatalog.getByID(item.id) || ItemCatalog.getByName(item.name) || item, + total: ItemCatalog.getAll().length, + created, + blueprintFound, + templateFound: blueprintFound + }; + }, + + async removeByName(itemName = '') { + const safeName = String(itemName || '').trim(); + if (!safeName) return { ok: false, message: 'Item name is required.' }; + const nameKey = safeName.toLowerCase(); + const existing = ItemCatalog.getByName(safeName); + if (!existing) return { ok: false, message: 'Item was not found in catalog.' }; + + const handout = await this.readHandoutItems(); + const beforeDefault = handout.defaultItems.length; + const beforeCustom = handout.customItems.length; + handout.defaultItems = handout.defaultItems.filter((entry) => String((entry && entry.name) || '').trim().toLowerCase() !== nameKey); + handout.customItems = handout.customItems.filter((entry) => String((entry && entry.name) || '').trim().toLowerCase() !== nameKey); + if (handout.defaultItems.length === beforeDefault && handout.customItems.length === beforeCustom) { + return { ok: false, message: 'Item was not found in handout.' }; + } + await this.writeHandoutItems(handout.defaultItems, handout.parsed, handout.payload, handout.customItems); + return { ok: true, itemName: existing.name, total: ItemCatalog.getAll().length }; + }, + + getByExactName(itemName = '') { + return ItemCatalog.getByName(itemName); + }, + + async resolveDetailsItem(itemName = '', ctx = {}) { + const safeName = String(itemName || '').trim(); + if (!safeName) return null; + const catalogItem = this.getByExactName(safeName); + if (catalogItem) return { item: catalogItem, source: 'catalog', existsInCatalog: true }; + + const explicitToken = R20.resolveTokenRef(ctx && ctx.detailsSourceTokenId).token; + const selectedToken = explicitToken || R20.getSelectedToken(ctx && ctx.msg); + const selectedCharacter = R20.getCharacterFromToken(selectedToken); + if (selectedCharacter && selectedCharacter.id) { + const inventoryItems = await InventoryService.getSheetInventory(selectedCharacter.id); + const inventoryItem = inventoryItems.find((entry) => String(entry.name || '').trim().toLowerCase() === safeName.toLowerCase()); + if (inventoryItem) { + const resolvedItem = Object.assign({}, inventoryItem); + return { item: resolvedItem, source: 'inventory', existsInCatalog: false }; + } + } + + const shops = ShopService.listShops({ includeHidden: true }); + for (let i = 0; i < shops.length; i += 1) { + const shopItem = shops[i].findItem(safeName); + if (shopItem) return { item: shopItem, source: 'shop', existsInCatalog: false }; + } + + return { + item: new ItemRawData({ name: safeName, displayName: safeName }), + source: 'fallback', + existsInCatalog: false + }; + } + }; + + /** ----------------------------------------------------------------------- + * @section Currency Service + * --------------------------------------------------------------------- */ + const CurrencyService = { + normalizeType(currencyType = '') { + return InventoryService.normalizeCurrencyType(currencyType); + }, + + getGoldConversionRate(currencyType = '') { + const coinType = this.normalizeType(currencyType); + if (coinType === 'cp') return 100; + if (coinType === 'sp') return 10; + return 1; + }, + + async getWallet(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { cp: 0, sp: 0, gp: 0 }; + + const cpRaw = await R20.getSheet(safeCharacterId, 'cp'); + const spRaw = await R20.getSheet(safeCharacterId, 'sp'); + const gpRaw = await R20.getSheet(safeCharacterId, 'gp'); + return { + cp: Math.max(0, InventoryService.toIntOrNull(cpRaw) || 0), + sp: Math.max(0, InventoryService.toIntOrNull(spRaw) || 0), + gp: Math.max(0, InventoryService.toIntOrNull(gpRaw) || 0) + }; + }, + + async setCurrencyValue(characterId = '', currencyType = '', value = 0) { + const safeCharacterId = String(characterId || '').trim(); + const coinType = this.normalizeType(currencyType); + const amount = Math.max(0, InventoryService.toIntOrNull(value) || 0); + if (!safeCharacterId || !coinType) return false; + await R20.setSheet(safeCharacterId, coinType, amount === 0 ? -1 : amount, { snapshotValue: amount }); + return true; + }, + + async restoreWallet(characterId = '', wallet = {}) { + const safeWallet = wallet && typeof wallet === 'object' ? wallet : {}; + await this.setCurrencyValue(characterId, 'cp', safeWallet.cp); + await this.setCurrencyValue(characterId, 'sp', safeWallet.sp); + await this.setCurrencyValue(characterId, 'gp', safeWallet.gp); + return true; + }, + + async transferCurrency(options = {}) { + return InventoryService.transferCurrency(options); + }, + + async creditCharacter({ characterId = '', currencyType = '', quantity = 0 } = {}) { + const safeCharacterId = String(characterId || '').trim(); + const coinType = this.normalizeType(currencyType); + const qty = Math.max(0, InventoryService.toIntOrNull(quantity) || 0); + if (!safeCharacterId || !coinType || qty <= 0) { + return { ok: false, message: 'Missing character, currency type, or quantity.' }; + } + + const currentRaw = await R20.getSheet(safeCharacterId, coinType); + const before = Math.max(0, InventoryService.toIntOrNull(currentRaw) || 0); + const after = before + qty; + await R20.setSheet(safeCharacterId, coinType, after); + return { ok: true, characterId: safeCharacterId, currencyType: coinType, credited: qty, before, after }; + }, + + async adjustSelectedTokenWallet(token = null, action = 'pay', currencyType = '', quantity = 0) { + const tokenObj = token && Utils.isFunction(token.get) ? token : null; + const character = R20.getCharacterFromToken(tokenObj); + const tokenName = String((tokenObj && tokenObj.get('name')) || (character && character.get('name')) || 'Token'); + const coinType = this.normalizeType(currencyType); + const qty = Math.max(0, InventoryService.toIntOrNull(quantity) || 0); + const mode = String(action || '').trim().toLowerCase(); + if (!tokenObj || !character) return { ok: false, tokenName, message: tokenName + ' is not linked to a character.' }; + if (!coinType || qty <= 0) return { ok: false, tokenName, message: 'Missing currency type or amount.' }; + + const characterId = String(character.id || '').trim(); + const walletBefore = await this.getWallet(characterId); + const before = Math.max(0, InventoryService.toIntOrNull(walletBefore[coinType]) || 0); + if (mode === 'take' && before < qty) { + return { + ok: false, + tokenName, + character, + currencyType: coinType, + quantity: qty, + before, + after: before, + message: tokenName + ' does not have enough ' + coinType.toUpperCase() + '.' + }; + } + + const after = mode === 'take' ? Math.max(0, before - qty) : before + qty; + await this.setCurrencyValue(characterId, coinType, after); + return { + ok: true, + tokenName, + token: tokenObj, + character, + characterId, + action: mode === 'take' ? 'take' : 'pay', + currencyType: coinType, + quantity: qty, + before, + after + }; + }, + + async spendFromToken({ + tokenId = '', + currencyType = '', + quantity = 0, + playerId = '', + isGM = false + } = {}) { + const safeTokenId = String(tokenId || '').trim(); + const coinType = this.normalizeType(currencyType); + const qty = Math.max(0, InventoryService.toIntOrNull(quantity) || 0); + if (!safeTokenId || !coinType || qty <= 0) { + return { ok: false, message: 'Missing token, currency type, or quantity.' }; + } + + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: safeTokenId, + playerId, + isGM, + actionLabel: 'spend currency from' + }); + const access = accessResult.access; + + if (!access.token || !access.character) { + return { ok: false, message: 'Buyer token is not linked to a character.' }; + } + + if (!accessResult.ok) { + return { + ok: false, + message: accessResult.message, + access + }; + } + + const characterId = String(access.character.id || '').trim(); + const walletBefore = await this.getWallet(characterId); + const before = Math.max(0, InventoryService.toIntOrNull(walletBefore[coinType]) || 0); + const gpBefore = Math.max(0, InventoryService.toIntOrNull(walletBefore.gp) || 0); + let after = before - qty; + let gpAfter = gpBefore; + let convertedGp = 0; + let convertedAmount = 0; + + if (before < qty && coinType !== 'gp') { + const rate = this.getGoldConversionRate(coinType); + const shortage = qty - before; + convertedGp = Math.ceil(shortage / rate); + convertedAmount = convertedGp * rate; + if (gpBefore >= convertedGp) { + gpAfter = gpBefore - convertedGp; + after = before + convertedAmount - qty; + } + } + + if (after < 0) { + return { + ok: false, + message: 'Not enough ' + coinType.toUpperCase() + ' to buy this item.', + available: before, + availableGp: gpBefore, + requested: qty, + currencyType: coinType, + access + }; + } + + if (coinType !== 'gp' && convertedGp > 0) { + await this.setCurrencyValue(characterId, 'gp', gpAfter); + } + await this.setCurrencyValue(characterId, coinType, after); + const walletAfter = await this.getWallet(characterId); + return { + ok: true, + tokenId: safeTokenId, + characterId, + tokenName: access.tokenName, + currencyType: coinType, + spent: qty, + before, + after, + walletBefore, + walletAfter, + convertedFromGp: convertedGp > 0, + convertedGp, + convertedAmount, + access + }; + } + }; + + /** ----------------------------------------------------------------------- + * @section Shop Repository + * --------------------------------------------------------------------- */ + const ShopRepository = { + root() { + const root = State.get(); + root.shops = root.shops || {}; + return root.shops; + }, + + normalizeId(id = '') { + return Shop.normalizeId(id); + }, + + exists(id = '') { + const safeId = this.normalizeId(id); + return !!(safeId && this.root()[safeId]); + }, + + get(id = '') { + const safeId = this.normalizeId(id); + if (!safeId) return null; + const raw = this.root()[safeId]; + return raw ? new Shop(raw) : null; + }, + + save(shop) { + const record = shop instanceof Shop ? shop : new Shop(shop || {}); + if (!record.id) { + return { ok: false, message: 'Shop ID is required.' }; + } + record.updatedAt = Date.now(); + this.root()[record.id] = record.toJSON(); + return { ok: true, shop: record }; + }, + + list({ includeHidden = true } = {}) { + return Object.keys(this.root()) + .map((id) => this.get(id)) + .filter((shop) => shop && (includeHidden || !shop.isHidden())) + .sort((a, b) => String(a.name || '').localeCompare(String(b.name || ''))); + }, + + remove(id = '') { + const safeId = this.normalizeId(id); + if (!safeId || !this.root()[safeId]) return false; + delete this.root()[safeId]; + return true; + } + }; + + /** ----------------------------------------------------------------------- + * @section Shop Service + * --------------------------------------------------------------------- */ + const ShopService = { + normalizeAction(action = '') { + const normalized = String(action || '').trim().toLowerCase(); + return ACTIONS.SHOP.includes(normalized) ? normalized : ''; + }, + + normalizeState(state = '') { + return Shop.normalizeState(state); + }, + + async loadShopCatalogFromHandout(handoutRef = ShopCatalog.handoutRef, field = ShopCatalog.field) { + const database = await InventoryService.readPortableDatabase(handoutRef || ShopCatalog.handoutRef, field || ShopCatalog.field, { createIfMissing: true }); + const sourceShops = database.payload.shops; + + ShopCatalog.handoutRef = database.handoutRef; + ShopCatalog.field = database.field; + ShopCatalog.raw = database.raw; + ShopCatalog.clear(); + + sourceShops.forEach((rawShop) => { + ShopCatalog.register(rawShop); + }); + + return ShopCatalog.getAll(); + }, + + async exportShopToHandout(shopId = '', handoutRef = ShopCatalog.handoutRef, field = ShopCatalog.field) { + const result = this.getShop(shopId); + if (!result.ok) return result; + + const database = await InventoryService.readPortableDatabase(handoutRef || ShopCatalog.handoutRef, field || ShopCatalog.field, { createIfMissing: true }); + const shops = database.payload.shops.slice(); + const exportedShop = result.shop.toJSON(); + const exportId = ShopRepository.normalizeId(exportedShop.id); + let updated = false; + + for (let i = 0; i < shops.length; i += 1) { + const currentId = ShopRepository.normalizeId((shops[i] && (shops[i].id || shops[i].name)) || ''); + if (currentId && currentId === exportId) { + shops[i] = exportedShop; + updated = true; + break; + } + } + + if (!updated) shops.push(exportedShop); + + database.payload.shops = shops; + const writeResult = await InventoryService.writePortableDatabase(database.payload, database.handoutRef, database.field); + ShopCatalog.handoutRef = writeResult.handoutRef; + ShopCatalog.field = writeResult.field; + ShopCatalog.raw = writeResult.raw; + ShopCatalog.clear(); + shops.forEach((shop) => ShopCatalog.register(shop)); + + return { ok: true, shop: result.shop, created: !updated, handoutRef: writeResult.handoutRef, field: writeResult.field }; + }, + + async removeShopFromHandout(shopId = '', handoutRef = ShopCatalog.handoutRef, field = ShopCatalog.field) { + const safeId = ShopRepository.normalizeId(shopId); + if (!safeId) return { ok: false, message: 'Shop ID is required.' }; + + const database = await InventoryService.readPortableDatabase(handoutRef || ShopCatalog.handoutRef, field || ShopCatalog.field, { createIfMissing: true }); + const shops = database.payload.shops.slice(); + const removeIndex = shops.findIndex((shop) => { + const currentId = ShopRepository.normalizeId((shop && (shop.id || shop.name)) || ''); + return currentId && currentId === safeId; + }); + + if (removeIndex < 0) return { ok: false, message: 'Shop was not found in the portable database.' }; + + const removedShop = new Shop(shops[removeIndex]); + shops.splice(removeIndex, 1); + database.payload.shops = shops; + + const writeResult = await InventoryService.writePortableDatabase(database.payload, database.handoutRef, database.field); + ShopCatalog.handoutRef = writeResult.handoutRef; + ShopCatalog.field = writeResult.field; + ShopCatalog.raw = writeResult.raw; + ShopCatalog.clear(); + shops.forEach((shop) => ShopCatalog.register(shop)); + + return { + ok: true, + shop: removedShop, + total: shops.length, + handoutRef: writeResult.handoutRef, + field: writeResult.field + }; + }, + + importShopFromCatalog(shopId = '', options = {}) { + const safeId = ShopRepository.normalizeId(shopId); + if (!safeId) return { ok: false, message: 'Shop ID is required.' }; + const catalogShop = ShopCatalog.get(safeId); + if (!catalogShop) return { ok: false, message: 'Shop was not found in the shop catalog.' }; + if (ShopRepository.exists(safeId) && !(options && options.overwrite)) { + return { ok: false, message: 'Shop already exists in state: ' + safeId + '.' }; + } + return ShopRepository.save(new Shop(catalogShop.toJSON())); + }, + + importAllFromCatalog(options = {}) { + const shops = ShopCatalog.getAll(); + const imported = []; + const skipped = []; + + for (let i = 0; i < shops.length; i += 1) { + const shop = shops[i]; + const result = this.importShopFromCatalog(shop.id, options); + if (result.ok) imported.push(result.shop); + else skipped.push({ shop, message: result.message }); + } + + return { ok: true, imported, skipped }; + }, + + createShop({ + id = '', + name = '', + state = 'close', + hidePrice = SHOP_DEFAULT_CONFIG.hidePrice, + hasStock = SHOP_DEFAULT_CONFIG.hasStock, + blacklist = [], + location = [] + } = {}) { + const safeId = ShopRepository.normalizeId(id || name); + if (!safeId) return { ok: false, message: 'Shop ID is required.' }; + if (ShopRepository.exists(safeId)) { + return { ok: false, message: 'Shop already exists: ' + safeId + '.' }; + } + + const shop = new Shop({ + id: safeId, + name: name || safeId, + state, + config: { + hidePrice, + hasStock + }, + blacklist, + location + }); + return ShopRepository.save(shop); + }, + + deleteShop(id = '') { + const result = this.getShop(id); + if (!result.ok) return result; + const removed = ShopRepository.remove(result.shop.id); + if (!removed) return { ok: false, message: 'Unable to remove shop.' }; + return { ok: true, shop: result.shop }; + }, + + listShops({ includeHidden = true } = {}) { + return ShopRepository.list({ includeHidden }); + }, + + getShop(id = '') { + const shop = ShopRepository.get(id); + if (!shop) return { ok: false, message: 'Shop was not found.' }; + return { ok: true, shop }; + }, + + setShopIcon(id = '', icon = '') { + const result = this.getShop(id); + if (!result.ok) return result; + result.shop.icon = String(icon || '🏪').trim() || '🏪'; + return ShopRepository.save(result.shop); + }, + + setShopState(id = '', state = '') { + const result = this.getShop(id); + if (!result.ok) return result; + const safeState = String(state || '').trim().toLowerCase(); + if (safeState === 'hidden' || safeState === 'hide') { + result.shop.hidden = true; + } else if (safeState === 'reveal') { + result.shop.hidden = false; + } else { + result.shop.state = this.normalizeState(state); + } + return ShopRepository.save(result.shop); + }, + + toggleOpenClose(id = '') { + const result = this.getShop(id); + if (!result.ok) return result; + result.shop.state = result.shop.isOpen() ? 'close' : 'open'; + return ShopRepository.save(result.shop); + }, + + toggleHidden(id = '') { + const result = this.getShop(id); + if (!result.ok) return result; + result.shop.hidden = !result.shop.isHidden(); + return ShopRepository.save(result.shop); + }, + + setConfig(id = '', key = '', value = '') { + const result = this.getShop(id); + if (!result.ok) return result; + const safeKey = String(key || '').trim(); + if (!Object.prototype.hasOwnProperty.call(SHOP_DEFAULT_CONFIG, safeKey)) { + return { ok: false, message: 'Unknown shop config: ' + safeKey + '.' }; + } + result.shop.config[safeKey] = Utils.toBoolean(value, result.shop.config[safeKey]); + return ShopRepository.save(result.shop); + }, + + toggleStockMode(id = '') { + const result = this.getShop(id); + if (!result.ok) return result; + result.shop.config.hasStock = !Utils.toBoolean(result.shop.config.hasStock, SHOP_DEFAULT_CONFIG.hasStock); + return ShopRepository.save(result.shop); + }, + + clearItemPrices(id = '') { + const result = this.getShop(id); + if (!result.ok) return result; + result.shop.itemList.forEach((item) => { + item.price = -1; + item.defaultPrice = -1; + }); + return ShopRepository.save(result.shop); + }, + + setItemPrice(id = '', itemName = '', price = 0, priceType = '') { + const result = this.getShop(id); + if (!result.ok) return result; + const item = result.shop.findItem(itemName); + if (!item) return { ok: false, message: 'Item was not found in shop.' }; + item.price = Number(price); + if (Number.isNaN(item.price)) item.price = 0; + item.defaultPrice = item.price; + item.priceType = CurrencyService.normalizeType(priceType) || item.priceType || CONFIG.CURRENCY_FALLBACK; + item.defaultPriceType = item.priceType; + return ShopRepository.save(result.shop); + }, + + setItemStock(id = '', itemName = '', quantity = SHOP_INFINITE_STOCK) { + const result = this.getShop(id); + if (!result.ok) return result; + const item = result.shop.findItem(itemName); + if (!item) return { ok: false, message: 'Item was not found in shop.' }; + const qtyText = String(quantity || '').trim().toLowerCase(); + const stock = qtyText === 'unlimited' || qtyText === 'infinite' || qtyText === 'infinity' + ? SHOP_INFINITE_STOCK + : Math.max(0, InventoryService.toIntOrNull(quantity) || 0); + item.stock = stock; + item.quantity = stock; + return ShopRepository.save(result.shop); + }, + + updateBlacklist(id = '', mode = '', identity = '') { + const result = this.getShop(id); + if (!result.ok) return result; + const safeMode = String(mode || '').trim().toLowerCase(); + const safeIdentity = String(identity || '').trim(); + if (!safeIdentity) return { ok: false, message: 'Blacklist identity is required.' }; + if (safeMode !== 'add' && safeMode !== 'remove') { + return { ok: false, message: 'Use blacklist add or blacklist remove.' }; + } + + if (safeMode === 'add') { + result.shop.blacklist = Utils.uniqueNames(result.shop.blacklist.concat([safeIdentity])); + } else { + const key = safeIdentity.toLowerCase(); + result.shop.blacklist = result.shop.blacklist.filter((entry) => String(entry || '').trim().toLowerCase() !== key); + } + return ShopRepository.save(result.shop); + }, + + resolveBlacklistIdentity(identity = '') { + const safeIdentity = String(identity || '').trim(); + if (!safeIdentity) return ''; + const token = R20.getTokenById(safeIdentity); + const character = R20.getCharacterFromToken(token); + if (character && character.id) return character.id; + return safeIdentity; + }, + + addItem({ + shopId = '', + itemName = '', + quantity = SHOP_INFINITE_STOCK, + price = null, + priceType = '', + equippable = null, + hidden = false + } = {}) { + const result = this.getShop(shopId); + if (!result.ok) return result; + const safeName = String(itemName || '').trim(); + if (!safeName) return { ok: false, message: 'Item name is required.' }; + + const catalogItem = ItemCatalog.getByName(safeName); + const hasEquippableOverride = equippable !== undefined && + equippable !== null && + String(equippable).trim() !== ''; + const canEquip = Utils.toBoolean(equippable, false); + const itemPayload = Object.assign({}, catalogItem || {}, { + name: catalogItem && catalogItem.name ? catalogItem.name : safeName, + quantity, + stock: quantity, + price, + priceType, + hidden + }); + if (hasEquippableOverride) { + itemPayload.equippable = canEquip; + itemPayload.equipped = false; + } + + const item = result.shop.upsertItem(itemPayload); + if (!item) return { ok: false, message: 'Unable to add item to shop.' }; + + const saveResult = ShopRepository.save(result.shop); + if (!saveResult.ok) return saveResult; + return { ok: true, shop: result.shop, item }; + }, + + removeItem(shopId = '', itemName = '') { + const result = this.getShop(shopId); + if (!result.ok) return result; + const removed = result.shop.removeItem(itemName); + if (!removed) return { ok: false, message: 'Item was not found in shop.' }; + const saveResult = ShopRepository.save(result.shop); + if (!saveResult.ok) return saveResult; + return { ok: true, shop: result.shop, itemName }; + }, + + isBuyerBlacklisted(shop, identities = []) { + const safeIdentities = Array.isArray(identities) ? identities : []; + for (let i = 0; i < safeIdentities.length; i += 1) { + if (shop.isBlacklisted(safeIdentities[i])) return true; + } + return false; + }, + + async buyItem({ + shopId = '', + buyerTokenId = '', + itemName = '', + quantity = 1, + playerId = '', + who = '', + isGM = false + } = {}) { + const result = this.getShop(shopId); + if (!result.ok) return result; + + const shop = result.shop; + if (!shop.isOpen()) { + return { ok: false, message: 'Shop is not open.' }; + } + + const safeTokenId = String(buyerTokenId || '').trim(); + const safeItemName = String(itemName || '').trim(); + const qty = Math.max(1, InventoryService.toIntOrNull(quantity) || 1); + if (!safeTokenId || !safeItemName) { + return { ok: false, message: 'Missing buyer token or item name.' }; + } + + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: safeTokenId, + playerId, + isGM, + actionLabel: 'buy items with' + }); + const access = accessResult.access; + if (!access.token || !access.character) { + return { ok: false, message: 'Buyer token is not linked to a character.' }; + } + if (!accessResult.ok) { + return { + ok: false, + message: accessResult.message, + sourceAccess: access + }; + } + + const buyerIdentities = [ + playerId, + who, + safeTokenId, + access.tokenName, + access.character.id, + access.character.get('name') + ]; + if (this.isBuyerBlacklisted(shop, buyerIdentities)) { + return { ok: false, message: 'This buyer is blacklisted from this shop.' }; + } + + const shopItem = shop.findItem(safeItemName); + if (!shopItem || shopItem.hidden) { + return { ok: false, message: 'Item was not found in shop.' }; + } + + const isInfiniteStock = shopItem.isInfiniteStock && shopItem.isInfiniteStock(); + if (shop.config.hasStock && !isInfiniteStock && shopItem.stock < qty) { + return { + ok: false, + message: 'Not enough stock for this item.', + available: shopItem.stock, + requested: qty + }; + } + + if (Number(shopItem.price) < 0) { + return { ok: false, message: 'This item has no fixed price yet. Ask the GM.' }; + } + const totalPrice = Math.max(0, Math.ceil((Number(shopItem.price) || 0) * qty)); + let spendResult = { ok: true, spent: 0, currencyType: shopItem.priceType }; + if (totalPrice > 0) { + spendResult = await CurrencyService.spendFromToken({ + tokenId: safeTokenId, + currencyType: shopItem.priceType, + quantity: totalPrice, + playerId, + isGM + }); + if (!spendResult.ok) return spendResult; + } + + const addResult = await InventoryService.addInventoryItem(access.character.id, shopItem.name, qty, { + blueprint: shopItem.blueprint, + fallbackItem: shopItem.toJSON ? shopItem.toJSON() : shopItem + }); + if (!addResult.ok) { + if (spendResult.ok && spendResult.walletBefore) { + await CurrencyService.restoreWallet(access.character.id, spendResult.walletBefore); + } else if (spendResult.ok && spendResult.spent > 0) { + await CurrencyService.creditCharacter({ + characterId: access.character.id, + currencyType: spendResult.currencyType, + quantity: spendResult.spent + }); + } + return addResult; + } + + if (shop.config.hasStock && !isInfiniteStock) { + shopItem.stock = Math.max(0, shopItem.stock - qty); + } + shop.recordSale({ + itemName: shopItem.name, + quantity: qty, + currencyType: shopItem.priceType, + amount: totalPrice + }); + const saveResult = ShopRepository.save(shop); + if (!saveResult.ok) return saveResult; + + return { + ok: true, + shop, + item: shopItem, + buyerTokenId: safeTokenId, + buyerName: access.tokenName, + buyerCharacterId: access.character.id, + itemName: shopItem.name, + quantity: qty, + totalPrice, + currencyType: shopItem.priceType, + remainingStock: shopItem.stock, + addResult, + spendResult + }; + } + }; + + /** ----------------------------------------------------------------------- + * @section Renderers + * --------------------------------------------------------------------- */ + const Render = { + getMessageCardStyle(type = 'normal') { + const bgColorByType = { + normal: {titleColor: 'rgb(200, 200, 200)', borderColor: CONFIG.DEFAULT_CARD_BORDER_COLOR}, + warning: {titleColor: 'rgb(175, 175, 0)', borderColor: 'rgb(127, 127, 0)'}, + failure: {titleColor: 'rgb(175, 0, 0)', borderColor: 'rgb(127, 0, 0)'}, + success: {titleColor: 'rgb(0, 175, 0)', borderColor: 'rgb(0, 127, 0)'} + }; + + const resolvedType = String(type || 'normal').toLowerCase(); + return bgColorByType[resolvedType] || bgColorByType.normal; + }, + + sendWhisperMessage(target, title = '', body = '', type = 'normal') { + const cardStyle = this.getMessageCardStyle(type); + + const safeTarget = String(target || '').trim(); + const safeTitle = String(title || ''); + const safeBody = String(body || ''); + + if (!safeTarget) { + Logger.error('sendWhisperMessage requires a valid target.'); + return; + } + + R20.whisper( + safeTarget, + Html.card({ + title: safeTitle, + body: '
' + safeBody + '
', + buildOptions: { + titleColor: cardStyle.titleColor, + borderColor: cardStyle.borderColor + } + }) + ); + }, + + sendPublicMessage(title = '', body = '', type = 'normal', buildOptions = {}) { + const cardStyle = this.getMessageCardStyle(type); + const extraOptions = (buildOptions && typeof buildOptions === 'object') ? buildOptions : {}; + + R20.send( + Html.card({ + title: String(title || ''), + body: '
' + String(body || '') + '
', + buildOptions: Object.assign({}, extraOptions, { + titleColor: cardStyle.titleColor, + borderColor: cardStyle.borderColor + }) + }) + ); + }, + + rollKindLabel(kind = '') { + const normalized = String(kind || '').trim().toLowerCase(); + const labels = { + ability: 'Ability', + skill: 'Skill', + saving: 'Saving', + initiative: 'Initiative', + attack: 'Attack', + spell: 'Spell' + }; + return labels[normalized] || 'Ability'; + }, + + rollBadgeHtml(roll = {}, marker = '', options = {}) { + const natural = Utils.toInt(roll.natural, 0); + const total = Utils.toInt(roll.total, natural); + const displayMarker = natural === 1 ? '💥' : marker; + const isCritical = !!roll.critical || displayMarker === '★'; + const isNaturalOne = natural === 1; + const isDimmed = !!roll.dimmed && !isCritical && !isNaturalOne; + const bgColor = isCritical + ? 'rgba(70,150,90,0.30)' + : (isNaturalOne ? 'rgba(165,45,45,0.30)' : (isDimmed ? 'rgba(55,55,55,0.30)' : (options.bgColor || 'rgba(55,55,55,0.95)'))); + const borderColor = options.borderColor || (isCritical ? 'rgb(60,255,110)' : (isNaturalOne ? 'rgb(255,60,60)' : (isDimmed ? 'rgba(255,255,255,0.35)' : 'rgba(255,255,255,0.75)'))); + const rollStyle = CONFIG.ROLLS_FONT_STYLE || {}; + const size = Math.max(18, Utils.toInt(options.size, 40)); + const fontSize = String(options.fontSize || rollStyle.fontSize || '20px'); + const modifier = Utils.toInt(roll.modifier, 0); + const tooltip = roll.tooltip || ( + 'Roll [1d20] = [ ' + String(natural) + ' ]' + + '
Bonus [ ' + this.formatSignedModifier(modifier) + ' ]' + + '
Mod [ +0 ]' + + '
Total [ ' + String(total) + ' ]' + ); + const markerColor = displayMarker === '▲' || displayMarker === '★' ? 'rgb(90,220,120)' : 'rgb(230,80,80)'; + const markerTop = displayMarker === '★' || displayMarker === '💥' ? '0px' : '-3px'; + const markerSize = displayMarker === '★' ? '12px' : (displayMarker === '💥' ? '11px' : '10px'); + const textColor = isDimmed ? 'rgb(145,145,145)' : (rollStyle.color || 'rgb(255,255,255)'); + return Html.div( + Html.tooltip( + Html.div( + Utils.escapeHtml(String(total)) + + (displayMarker + ? Html.span( + displayMarker, + 'position:absolute;top:' + markerTop + ';right:2px;font-size:' + markerSize + ';line-height:10px;color:' + markerColor + ';font-weight:900;' + ) + : ''), + 'position:relative;width:' + size + 'px;height:' + size + 'px;line-height:' + size + 'px;text-align:center;border:1px solid ' + borderColor + ';border-radius:4px;background:' + bgColor + ';font-family:' + (rollStyle.fontFamily || 'Arial, Helvetica, sans-serif') + ';font-size:' + fontSize + ';font-weight:' + (rollStyle.fontWeight || '900') + ';color:' + textColor + ';' + ), + tooltip + ), + 'display:inline-block;width:' + (size + 2) + 'px;text-align:center;vertical-align:middle;' + ); + }, + + showTokenRollCard(rolls = [], options = {}) { + const safeRolls = Array.isArray(rolls) ? rolls : []; + const kindLabel = this.rollKindLabel(options.kind); + const mode = String(options.mode || '').trim().toLowerCase(); + const rows = safeRolls.map((roll) => { + const tokenName = String(roll.tokenName || 'Token'); + const imgsrc = String(roll.imgsrc || '').trim(); + const imageHtml = imgsrc + ? Html.img(imgsrc, 'width:40px;height:40px;object-fit:cover;border-radius:4px;vertical-align:middle;') + : ''; + const modifier = Utils.toInt(roll.modifier, 0); + const modifierText = modifier ? (' (' + (modifier >= 0 ? '+' : '') + String(modifier) + ')') : ''; + const rollList = Array.isArray(roll.rolls) && roll.rolls.length ? roll.rolls : [roll]; + const totals = rollList.map((entry) => Utils.toInt(entry.total, Utils.toInt(entry.natural, 0))); + const high = Math.max.apply(null, totals); + const low = Math.min.apply(null, totals); + const badges = rollList.map((entry) => { + const total = Utils.toInt(entry.total, Utils.toInt(entry.natural, 0)); + let marker = ''; + if (high !== low) { + if (mode === 'advantage') marker = total === high ? '▲' : ''; + else if (mode === 'disadvantage') marker = total === low ? '▼' : ''; + else if (mode !== 'auto') marker = total === high ? '▲' : (total === low ? '▼' : ''); + } + if (marker) marker = total === high ? '▲' : '▼'; + if (entry.marker) marker = entry.marker; + return this.rollBadgeHtml(entry, marker); + }).join(''); + return ( + '' + + '' + imageHtml + '' + + '' + + Utils.escapeHtml(tokenName) + modifierText + + '' + + '' + + badges + + '' + + '' + ); + }).join(''); + const body = + '' + + '' + (rows || '') + '' + + '
No rolls.
'; + + return Html.card({ + title: kindLabel + ' Roll', + body, + buildOptions: { + titleColor: CONFIG.DEFAULT_CARD_TITLE_COLOR + } + }); + }, + + showDeathSaveCard(result = {}) { + const safeResult = result || {}; + const tokenName = String(safeResult.tokenName || 'Token'); + const imgsrc = String(safeResult.tokenImgsrc || '').trim(); + const roll = safeResult.roll || {}; + const rollRows = [ + { label: 'Roll', source: '1d20', value: String(Utils.toInt(roll.natural, 0)) }, + { label: 'DC', value: '10' }, + { label: 'Result', value: Utils.toInt(roll.total, 0) >= 10 ? 'Success' : 'Failure' } + ]; + const rollHtml = this.rollBadgeHtml(Object.assign({}, roll, { + tooltip: TokenService.rollLabelTooltip(rollRows) + }), roll.marker || '', { bgColor: 'rgba(55,55,55,0.30)' }); + const imgHtml = imgsrc + ? Html.img(imgsrc, 'width:24px;height:24px;object-fit:cover;border-radius:3px;vertical-align:middle;display:block;') + : ''; + const titleHtml = + '' + + '' + + '' + + '' + + '' + + '' + + '
' + imgHtml + 'Death Saving Throw
'; + const body = + '' + + '' + + '' + + '' + + '' + + '
' + + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:900;') + + '
' + String(safeResult.summary || '') + + '
' + rollHtml + '
'; + + return Html.card({ + title: 'Death Saving Throw', + body, + buildOptions: { + titleHtml, + titleColor: CONFIG.DEFAULT_CARD_TITLE_COLOR, + borderColor: safeResult.cardBorderColor || CONFIG.DEFAULT_CARD_BORDER_COLOR + } + }); + }, + + attackRollTitleHtml(result = {}) { + const imgsrc = String(result.tokenImgsrc || '').trim(); + const imgHtml = imgsrc + ? Html.img(imgsrc, 'width:24px;height:24px;object-fit:cover;border-radius:3px;vertical-align:middle;display:block;') + : ''; + return ( + '' + + '' + + '' + + '' + + '' + + '' + + '
' + imgHtml + 'Attack Roll
' + ); + }, + + attackPromptTitleHtml(result = {}) { + const imgsrc = String(result.tokenImgsrc || '').trim(); + const imgHtml = imgsrc + ? Html.img(imgsrc, 'width:24px;height:24px;object-fit:cover;border-radius:3px;vertical-align:middle;display:block;') + : ''; + const damageType = String(result.damageType || '').trim(); + const damageIcon = TokenService.getDamageTypeIcon(damageType) || '●'; + const summaryHtml = + '
' + + '💥' + + '' + Utils.escapeHtml(String(result.attackTotal || result.saveDc || 0)) + '' + + '
' + + '
' + + '' + damageIcon + '' + + '' + Utils.escapeHtml(String(result.damageTotal || 0)) + '' + + '
'; + return ( + '' + + '' + + '' + + '' + + '' + + '' + + '
' + imgHtml + '' + + Utils.escapeHtml(String(result.attackName || 'Attack')) + + '' + summaryHtml + '
' + ); + }, + + showAttackRollCard(result = {}) { + const rollBoxBg = 'rgba(55,55,55,0.95)'; + const attackBadges = (Array.isArray(result.attackRolls) ? result.attackRolls : []) + .map((roll) => this.rollBadgeHtml(roll, roll.marker || '', { bgColor: rollBoxBg })) + .join(''); + const saveAttackBadge = result.isSaveAttack + ? ( + '' + + '' + + '' + + '' + + '' + + '
' + + Utils.escapeHtml(String(result.saveAbilityLabel || 'SAVE')) + '
DC' + + '
' + + Html.tooltip( + Html.div( + Utils.escapeHtml(String(result.saveDc || 0)), + 'width:40px;height:40px;line-height:40px;text-align:center;border:1px solid rgb(255,220,80);border-radius:4px;background:rgba(155,130,20,0.75);font-size:20px;font-weight:900;color:rgb(255,255,255);' + ), + Utils.escapeHtml(String(result.saveAbilityLabel || 'SAVE') + ' DC ' + String(result.saveDc || 0)) + ) + + '
' + ) + : attackBadges; + const damageRolls = Array.isArray(result.damageRolls) && result.damageRolls.length + ? result.damageRolls + : [{ + total: result.damageTotal, + tooltip: result.damageTooltip, + formula: result.damageFormula, + damageType: result.damageType + }]; + const damageRows = damageRolls.map((damageRoll) => { + const damageType = String(damageRoll.damageType || '').trim(); + const damageIcon = TokenService.getDamageTypeIcon(damageType); + const damageColor = TokenService.getDamageTypeColor(damageType); + const damageRollBadge = this.rollBadgeHtml( + { total: damageRoll.total, natural: 0, tooltip: damageRoll.tooltip || String(damageRoll.total || 0) }, + '', + { size: 25, fontSize: '15px', bgColor: rollBoxBg } + ); + const damageFormulaText = String(damageRoll.formula || '0'); + return ( + '' + + '' + + '' + + (damageIcon ? (' ' + damageIcon) : '') + + (damageType ? (' ' + Utils.escapeHtml(damageType) + '') : '') + + ' Damage' + + ' (' + Utils.escapeHtml(damageFormulaText) + ')' + + '' + + '' + damageRollBadge + '' + + '' + ); + }).join(''); + const saveDescription = result.isSaveAttack ? String(result.attackDescription || '').trim() : ''; + const saveDescriptionRows = saveDescription + ? ( + '' + + '' + + '
' + + '' + + '' + + '' + + '' + + Utils.escapeHtml(saveDescription) + + '' + + '' + ) + : ''; + const body = + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + damageRows + + saveDescriptionRows + + '' + + '
' + + '' + Utils.escapeHtml(String(result.attackName || 'Attack')) + '' + + (result.isSaveAttack ? '' : ' (' + Utils.escapeHtml(result.attackBonusText || '+0') + ')') + + '' + saveAttackBadge + '
 
'; + + return Html.card({ + title: String(result.tokenName || 'Token') + ' ' + String(result.attackName || 'Attack') + ' Attack', + body, + buildOptions: { titleHtml: this.attackRollTitleHtml(result) } + }); + }, + + showAttackDamagePrompt(result = {}) { + if (result.effectType === 'healing' || result.isHealing) { + const healAmount = Math.max(0, Utils.toInt(result.healTotal || result.damageTotal, 0)); + const healMeta = encodeURIComponent(JSON.stringify({ + casterName: String(result.tokenName || 'Caster'), + spellName: String(result.attackName || 'Healing') + })); + const healButton = this.iconButtonHtml({ + iconHtml: '💚', + label: 'Heal', + command: '!tntToken heal hp ' + String(healAmount) + ' true ' + healMeta, + backgroundColor: 'rgba(20,115,55,0.95)', + tooltip: 'Apply healing to selected target' + }); + const niyButton = this.iconButtonHtml({ + iconHtml: '❌', + label: 'N.I.Y', + command: '#', + backgroundColor: 'rgba(55,55,55,0.95)', + tooltip: 'Not implemented yet' + }); + const body = + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + healButton + '' + niyButton + '
' + + 'Select a target before pressing any button.' + + '
'; + return Html.card({ + title: String(result.tokenName || 'Token') + ' ' + String(result.attackName || 'Healing'), + body, + buildOptions: { titleHtml: this.attackPromptTitleHtml(Object.assign({}, result, { + damageTotal: healAmount, + damageType: 'healing', + attackTotal: 0 + })) } + }); + } + const damageRolls = Array.isArray(result.damageRolls) && result.damageRolls.length + ? result.damageRolls + : [{ total: result.damageTotal, damageType: result.damageType }]; + const challenge = Math.max(0, Utils.toInt(result.saveDc || result.attackTotal, 0)); + const saveAbility = TokenService.normalizeAbilityName(result.saveAbility || ''); + const attackCommand = TokenService.buildDealBatchCommand(damageRolls, { + challenge, + saveAbility: result.isSaveAttack ? saveAbility : '', + useChallenge: true, + halfOnSuccess: !!result.halfOnSuccess, + halfOnSuccessKnown: !!result.halfOnSuccessKnown + }); + const hitCommand = TokenService.buildDealBatchCommand(damageRolls, { + challenge: 0, + saveAbility: '', + useChallenge: false + }); + const attackButton = this.iconButtonHtml({ + iconHtml: '⚔️', + label: 'Atk', + command: attackCommand, + backgroundColor: 'rgba(45,45,45,0.95)', + tooltip: result.isSaveAttack ? 'Apply saving throw damage' : 'Apply damage if attack hits AC' + }); + const hitButton = this.iconButtonHtml({ + iconHtml: '💥', + label: 'Hit', + command: hitCommand, + backgroundColor: 'rgba(120,40,40,0.95)', + tooltip: 'Apply damage directly' + }); + const missButton = this.iconButtonHtml({ + iconHtml: '🚫', + label: 'Miss', + command: '!tntToken deal 0 normal 1 no no', + backgroundColor: 'rgba(55,55,55,0.95)', + tooltip: 'No damage' + }); + const dealButton = this.iconButtonHtml({ + iconHtml: '✍🏻', + label: 'Deal', + command: TokenService.buildDealingCommand(), + backgroundColor: 'rgba(55,55,55,0.95)', + tooltip: 'Deal damage manually' + }); + const body = + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + attackButton + '' + hitButton + '' + missButton + '' + dealButton + '
' + + 'Select a target before pressing any button.' + + '
'; + + return Html.card({ + title: String(result.tokenName || 'Token') + ' ' + String(result.attackName || 'Attack') + ' Attack', + body, + buildOptions: { titleHtml: this.attackPromptTitleHtml(result) } + }); + }, + + manualSaveRequestTitleHtml(request = {}) { + const imgsrc = String(request.tokenImgsrc || '').trim(); + const imgHtml = imgsrc + ? Html.img(imgsrc, 'width:24px;height:24px;object-fit:cover;border-radius:3px;vertical-align:middle;display:block;') + : ''; + const ability = TokenService.abilityNameToShortLabel(request.saveAbility || '') || 'SAVE'; + const damageType = String(request.damageType || '').trim(); + const damageIcon = TokenService.getDamageTypeIcon(damageType) || '💥'; + const isConcentration = Utils.toBoolean(request.isConcentration, false); + const summaryHtml = + '
' + + '🎲' + + 'DC ' + Utils.escapeHtml(String(request.challengeValue || 0)) + '' + + '
' + + (isConcentration ? '' : ('
' + + '' + damageIcon + '' + + '' + Utils.escapeHtml(String(request.damage || 0)) + '' + + '
')); + return ( + '' + + '' + + '' + + '' + + '' + + '' + + '
' + imgHtml + '' + + Utils.escapeHtml(isConcentration ? 'Maintain Concentration' : (ability + ' Saving Throw')) + + '' + summaryHtml + '
' + ); + }, + + showManualSaveRollRequest(request = {}) { + const tokenName = Html.span( + Utils.escapeHtml(String(request.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:900;' + ); + const abilityLabel = TokenService.abilityNameToShortLabel(request.saveAbility || '') || 'SAVE'; + const damageType = String(request.damageType || '').trim(); + const damageColor = TokenService.getDamageTypeColor(damageType); + const damageIcon = TokenService.getDamageTypeIcon(damageType) || '💥'; + const isConcentration = Utils.toBoolean(request.isConcentration, false); + const rollButton = this.iconButtonHtml({ + iconHtml: '🎲', + label: 'Roll', + command: String(request.command || '#'), + backgroundColor: 'rgba(45,45,45,0.95)', + tooltip: isConcentration ? 'Roll concentration saving throw' : 'Roll saving throw' + }); + const body = + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + + (isConcentration + ? (tokenName + ' must hold concentration with a ' + Utils.escapeHtml(abilityLabel) + ' saving throw.') + : (tokenName + ' must roll a ' + Utils.escapeHtml(abilityLabel) + ' saving throw.')) + + (isConcentration ? '' : ('
Damage: ' + + '' + damageIcon + ' ' + Utils.escapeHtml(String(request.damage || 0)) + + (TokenService.isNormalDamageType(damageType) ? '' : (' ' + Utils.escapeHtml(damageType))) + '')) + + '
' + rollButton + '
'; + return Html.card({ + title: isConcentration ? 'Maintain Concentration' : (abilityLabel + ' Saving Throw'), + body, + buildOptions: { + titleHtml: this.manualSaveRequestTitleHtml(request), + titleColor: CONFIG.DEFAULT_CARD_TITLE_COLOR + } + }); + }, + + getCurrencyColor(currencyType = '') { + const coinType = InventoryService.normalizeCurrencyType(currencyType); + return CURRENCY_COLORS[coinType] || (CONFIG.DEFAULT_TEXT_ITEM_COLOR || 'rgb(84, 186, 255)'); + }, + + currencyAmountHtml(amount = 0, currencyType = '') { + const coinType = InventoryService.normalizeCurrencyType(currencyType) || CONFIG.CURRENCY_FALLBACK; + const text = Utils.escapeHtml(String(amount)) + ' ' + Utils.escapeHtml(coinType); + return Html.span(text, 'color:' + this.getCurrencyColor(coinType) + ';font-weight:700;'); + }, + + currencyIconHtml(currencyType = '', options = {}) { + const coinType = InventoryService.normalizeCurrencyType(currencyType) || CONFIG.CURRENCY_FALLBACK; + const iconByType = { + cp: '🟠', + sp: '⚪', + gp: '🟡' + }; + const size = Math.max(8, Utils.toInt(options.size, 12)); + return '' + (iconByType[coinType] || iconByType.gp) + ''; + }, + + getItemQualityColor(item = {}) { + const qualityColorByRarity = { + common: CONFIG.DEFAULT_ITEM_COMMON_QUALITY_COLOR, + uncommon: CONFIG.DEFAULT_ITEM_UNCOMMON_QUALITY_COLOR, + rare: CONFIG.DEFAULT_ITEM_RARE_QUALITY_COLOR, + very_rare: CONFIG.DEFAULT_ITEM_VERY_RARE_QUALITY_COLOR, + legendary: CONFIG.DEFAULT_ITEM_LEGENDARY_QUALITY_COLOR, + artifact: CONFIG.DEFAULT_ITEM_ARTIFACT_QUALITY_COLOR + }; + const rarityKey = String((item && (item.rarity || item.quality)) || 'common') + .trim() + .toLowerCase() + .replace(/[\s-]+/g, '_'); + return String( + qualityColorByRarity[rarityKey] || + qualityColorByRarity.common || + 'rgb(200,200,200)' + ).replace(/\)\)+$/g, ')'); + }, + + storeNameHtml(name = '') { + return Html.span( + Utils.escapeHtml(String(name || 'Shop')), + 'color:' + CONFIG.DEFAULT_TEXT_STORE_NAME_COLOR + ';font-weight:700;' + ); + }, + + buildUseRollTooltip(rollData = {}) { + const rolls = Array.isArray(rollData.rolls) ? rollData.rolls : []; + if (!rolls.length) return ''; + + const sides = Math.max(1, Utils.toInt(rollData.sides, 1)); + const bonus = Number(rollData.bonus) || 0; + + const diceHtml = rolls.map((value) => { + const die = Utils.toInt(value, 0); + let color = '#f2f2f2'; + if (die === 1) color = 'rgb(220, 60, 60)'; + else if (die === sides) color = 'rgb(60, 190, 90)'; + return '' + Utils.escapeHtml(String(die)) + ''; + }).join(' + '); + + let expression = '(' + diceHtml + ')'; + if (bonus > 0) { + expression += ' + ' + Utils.escapeHtml(String(bonus)) + ''; + } else if (bonus < 0) { + expression += ' - ' + Utils.escapeHtml(String(Math.abs(bonus))) + ''; + } + return expression; + }, + + buildInventoryWalletRow(payload = {}) { + const cp = Math.max(0, Utils.toInt(payload.cp, 0)); + const sp = Math.max(0, Utils.toInt(payload.sp, 0)); + const gp = Math.max(0, Utils.toInt(payload.gp, 0)); + const sourceTokenId = String(payload.sourceTokenId || '').trim(); + + const coin = (value, iconHtml = '', valueColor = '#f2f2f2', label = '') => { + return ( + '' + + '' + iconHtml + '' + + '' + + Utils.escapeHtml(String(value)) + + '' + + '' + Utils.escapeHtml(label) + '' + + '' + ); + }; + + const cpIcon = coin(cp, '🟠', 'rgb(225, 135, 62)'); + const spIcon = coin(sp, '⚪', 'rgb(220, 220, 220)'); + const gpIcon = coin(gp, '🟡', 'rgb(245, 210, 70)'); + const giveButton = sourceTokenId + ? this.inRowButtonHtml({ + text: 'GIVE', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0, 86, 115, 0.9)', + borderColor: 'rgb(255,255,255)', + width: 32, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + callback: + '!tntCurrency give ' + + sourceTokenId + + ' @{target|token_id} ?{Coin|cp|sp|gp} ?{Qty|1}' + }) + : ''; + + return ( + '' + + '' + + '' + + '' + + '' + + '
' + + '
' + + '💰 Wallet:' + + '' + + cpIcon + spIcon + gpIcon + + '' + + '
' + + '
' + + '
' + + (giveButton || '') + + '
' + + '
' + + '
' + ); + }, + + buildInventoryTitleHtml(payload = {}) { + const name = String(payload.name || 'Character').trim(); + const imgsrc = String(payload.imgsrc || '').trim(); + const hp = String(payload.hp === undefined || payload.hp === null || payload.hp === '' ? '-' : payload.hp).trim(); + const ac = String(payload.ac === undefined || payload.ac === null || payload.ac === '' ? '-' : payload.ac).trim(); + const hasImage = imgsrc && TokenService.isRoll20TokenImageSource(imgsrc); + const imageHtml = hasImage + ? ( + '' + + '
' + + '' + + '
' + + '' + ) + : ''; + const statRow = (icon, value, color) => ( + '
' + + '' + icon + '' + + '' + Utils.escapeHtml(value) + '' + + '
' + ); + + return ( + '' + + '' + + imageHtml + + '' + + '' + + '' + + '
' + + '
' + + Utils.escapeHtml(name) + ' Inventory' + + '
' + + '
' + + statRow('❤️', hp, 'rgb(220,35,35)') + + statRow('🛡️', ac, 'rgb(165,165,165)') + + '
' + ); + }, + + buildInventoryGiveNarrative(audience = 'gm', payload = {}) { + const mode = String(audience || 'gm').trim().toLowerCase(); + const sourceName = Utils.escapeHtml(String(payload.sourceName || 'Source')); + const targetName = Utils.escapeHtml(String(payload.targetName || 'Target')); + const qtyText = Utils.escapeHtml(String(payload.qty || 0)); + const itemName = Utils.escapeHtml(String(payload.itemName || 'Item')); + + const characterColor = CONFIG.DEFAULT_TEXT_CHARACTER_COLOR || 'rgb(211, 194, 12)'; + const qtyColor = CONFIG.DEFAULT_TEXT_QUANTITY_COLOR || 'rgb(52, 203, 116)'; + const itemColor = CONFIG.DEFAULT_TEXT_ITEM_COLOR || 'rgb(84, 186, 255)'; + + const sourceHtml = Html.span(sourceName, 'color:' + characterColor + ';font-weight:700;'); + const targetHtml = Html.span(targetName, 'color:' + characterColor + ';font-weight:700;'); + const qtyHtml = Html.span(qtyText, 'color:' + qtyColor + ';font-weight:700;'); + const itemHtml = Html.span(itemName, 'color:' + itemColor + ';font-weight:700;'); + + if (mode === 'source') { + return ( + '' + + 'You gave ' + qtyHtml + ' ' + itemHtml + ' to ' + targetHtml + + '' + ); + } + + if (mode === 'target') { + return ( + '' + + sourceHtml + ' gave you ' + qtyHtml + ' ' + itemHtml + + '' + ); + } + + return ( + '' + + sourceHtml + ' gave ' + qtyHtml + ' ' + itemHtml + ' to ' + targetHtml + + '' + ); + }, + + buildInventoryUseNarrative(payload = {}) { + const sourceName = Utils.escapeHtml(String(payload.sourceName || 'Source')); + const targetName = Utils.escapeHtml(String(payload.targetName || 'Target')); + const qtyText = Utils.escapeHtml(String(payload.qty || 1)); + const itemName = Utils.escapeHtml(String(payload.itemName || 'Item')); + + const characterColor = CONFIG.DEFAULT_TEXT_CHARACTER_COLOR || 'rgb(211, 194, 12)'; + const qtyColor = CONFIG.DEFAULT_TEXT_QUANTITY_COLOR || 'rgb(52, 203, 116)'; + const itemColor = CONFIG.DEFAULT_TEXT_ITEM_COLOR || 'rgb(84, 186, 255)'; + const healColor = CONFIG.DEFAULT_TEXT_HEAL_COLOR || 'rgb(52, 203, 116)'; + const appliedColor = CONFIG.DEFAULT_TEXT_APPLIED_COLOR || 'rgb(84, 186, 255)'; + + const sourceHtml = '' + Html.span(sourceName, 'color:' + characterColor + ';font-weight:700;') + ''; + const targetHtml = '' + Html.span(targetName, 'color:' + characterColor + ';font-weight:700;') + ''; + const qtyHtml = Html.span(qtyText, 'color:' + qtyColor + ';font-weight:700;'); + const itemHtml = '' + Html.span(itemName, 'color:' + itemColor + ';font-weight:700;') + ''; + + const isSelf = !!payload.isSelf; + const narrativeType = String(payload.narrativeType || '').trim().toLowerCase(); + const isAmmo = narrativeType === 'ammo'; + const targetPhrase = isAmmo + ? '' + : (isSelf ? ' on itself' : (' on ' + targetHtml)); + + const rollData = payload.rollData || {}; + const hasRoll = Array.isArray(rollData.rolls) && rollData.rolls.length > 0; + const rollValue = Utils.escapeHtml(String( + payload.narrativeValue !== undefined && payload.narrativeValue !== null && String(payload.narrativeValue).trim() !== '' + ? payload.narrativeValue + : (rollData.total || '') + )); + const rollFormulaText = (() => { + const count = Math.max(0, Utils.toInt(rollData.count, 0)); + const sides = Math.max(0, Utils.toInt(rollData.sides, 0)); + const bonus = Number(rollData.bonus) || 0; + if (!(count > 0 && sides > 0)) return rollValue; + let formula = String(count) + 'd' + String(sides); + if (bonus > 0) formula += '+' + String(bonus); + else if (bonus < 0) formula += String(bonus); + return Utils.escapeHtml(formula); + })(); + + let sentence = ''; + if (isAmmo) { + sentence = sourceHtml + ' used ' + qtyHtml + ' ' + itemHtml + '.'; + } else if (narrativeType === 'no_effect') { + const reason = Utils.escapeHtml(String(payload.narrativeValue || 'it had no effect')); + sentence = + sourceHtml + + ' used ' + qtyHtml + ' ' + itemHtml + targetPhrase + + ', but it had no effect because ' + targetHtml + ' ' + reason + '.'; + } else if (narrativeType === 'heal') { + sentence = + sourceHtml + + ' used ' + qtyHtml + ' ' + itemHtml + targetPhrase + + '. Heal: ' + Html.span(rollFormulaText, 'color:' + healColor + ';font-weight:700;') + '.'; + } else { + const effectValue = Utils.escapeHtml(String(payload.narrativeValue || payload.effect || 'an effect')); + const effectTip = String(payload.itemDescription || payload.description || '') + .replace(/[\r\n]+/g, ' ') + .trim(); + const effectHtmlBase = Html.span(effectValue, 'color:' + appliedColor + ';font-weight:700;'); + const effectHtml = effectTip ? Html.tooltip(effectHtmlBase, effectTip) : effectHtmlBase; + sentence = + sourceHtml + + ' used ' + qtyHtml + ' ' + itemHtml + targetPhrase + + '. Effect: ' + effectHtml + '.'; + } + + if (!hasRoll) { + return '
' + sentence + '
'; + } + + const rollBoxBase = + '
' + rollValue + '
'; + + const rollTooltip = this.buildUseRollTooltip(rollData); + const rollBox = rollTooltip ? Html.tooltip(rollBoxBase, rollTooltip) : rollBoxBase; + + return ( + '' + + '' + + '' + + '' + + '' + + '
' + sentence + '' + rollBox + '
' + ); + }, + + inRowButtonHtml(buildOptions = {}, extraData = {}) { + const options = buildOptions || {}; + + const text = String(options.text || 'BTN'); + const textColor = String(options.textColor || '#f2f2f2'); + const backgroundColor = String(options.backgroundColor || 'rgba(0,0,0,0.6)'); + const borderColor = String(options.borderColor || 'rgba(255,255,255,0.35)'); + + const imageUrl = String( + options.imageUrl || + options.imageURL || + options.imgUrl || + options.backgroundImage || + '' + ).trim(); + + const hasImage = imageUrl !== '' && imageUrl !== '0' && imageUrl.toLowerCase() !== 'none'; + + const toCssSize = (value, fallback) => { + if (value === undefined || value === null || value === '') return fallback; + + if (typeof value === 'number') { + return String(Math.max(0, value)) + 'px'; + } + + const textValue = String(value).trim(); + if (!textValue) return fallback; + + if (/^\d+(\.\d+)?$/.test(textValue)) { + return textValue + 'px'; + } + + return textValue; + }; + + const width = toCssSize(options.width, '22px'); + const height = toCssSize(options.height, '22px'); + + const fontSize = toCssSize(options.fontSize, '10px'); + const fontWeight = options.bold === false + ? '400' + : String(options.fontWeight || '900'); + + let command = String(options.command || '').trim(); + + if (typeof options.callback === 'function') { + try { + command = String(options.callback(options, extraData) || '').trim(); + } catch (error) { + Logger.error( + 'inRowButtonHtml callback error: ' + + (error && error.message ? error.message : String(error)) + ); + } + } else if (options.callback !== undefined && options.callback !== null) { + command = String(options.callback).trim(); + } + + if (!command) command = '#'; + + const styleObject = { + display: 'inline-block', + width: width, + height: height, + 'min-width': width, + padding: '0', + margin: String(options.margin || '0 1px'), + color: textColor, + 'font-size': fontSize, + 'font-weight': fontWeight, + 'line-height': height, + 'text-decoration': 'none', + 'text-transform': options.uppercase === false ? 'none' : 'uppercase', + 'white-space': 'nowrap', + 'text-align': 'center', + border: '1px solid ' + borderColor, + 'border-radius': String(options.borderRadius || '4px'), + 'box-sizing': 'border-box', + cursor: 'pointer', + overflow: 'hidden' + }; + + if (hasImage) { + styleObject['background-color'] = 'transparent'; + styleObject['background-image'] = "url('" + imageUrl.replace(/'/g, "\\'") + "')"; + styleObject['background-size'] = String(options.backgroundSize || 'cover'); + styleObject['background-position'] = String(options.backgroundPosition || 'center center'); + styleObject['background-repeat'] = 'no-repeat'; + styleObject['text-shadow'] = String(options.textShadow || '0 0 2px rgba(0,0,0,0.9)'); + } else { + styleObject['background-color'] = backgroundColor; + } + + const style = Utils.joinStyles(styleObject); + + const buttonHtml = Html.button({ + text: text, + command: command, + style: style + }); + return Utils.isNonEmptyString(options.tooltip) + ? Html.tooltip(buttonHtml, Utils.escapeHtml(options.tooltip)) + : buttonHtml; + }, + + iconButtonHtml(buildOptions = {}) { + const options = buildOptions || {}; + const iconHtml = String(options.iconHtml || options.icon || '●'); + const label = String(options.label || options.text || 'BTN'); + const command = String(options.command || options.callback || '#') + .replace(/"/g, '"') + .replace(/[\r\n]+/g, ' '); + const width = Math.max(1, Utils.toInt(options.width, 40)); + const height = Math.max(1, Utils.toInt(options.height, 40)); + const iconSize = Math.max(1, Utils.toInt(options.iconSize, 18)); + const labelSize = Math.max(1, Utils.toInt(options.labelSize, 12)); + const backgroundColor = String(options.backgroundColor || 'rgba(55,55,55,0.95)'); + const borderColor = String(options.borderColor || 'rgba(255,255,255,0.75)'); + const textColor = String(options.textColor || 'rgb(255,255,255)'); + const margin = String(options.margin || '0 1px'); + const paddingTop = Math.max(0, Utils.toInt(options.paddingTop, 5)); + const labelPaddingTop = Math.max(0, Utils.toInt(options.labelPaddingTop, 0)); + const safeTooltip = String(options.tooltip || '').trim(); + const titleAttr = safeTooltip ? (' title="' + Utils.attrSafe(safeTooltip) + '"') : ''; + const button = + '' + + '' + iconHtml + '' + + '' + Utils.escapeHtml(label) + '' + + ''; + + return button; + }, + + itemRowUseButton(item, sourceId) { + const safeItem = item || {}; + const qty = Math.max(0, Utils.toInt(safeItem.quantity, 0)); + + const isUsable = Utils.toBoolean(safeItem.usable, false); + if (!isUsable) return ''; + + const isConsumable = Utils.toBoolean(safeItem.consumable, false); + if (isConsumable && qty <= 0) return ''; + const safeSourceId = String(sourceId || '').trim(); + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + if (!safeSourceId || !safeItemName) return ''; + const useTarget = Utils.toBoolean(safeItem.useTarget, true); + const targetArg = useTarget ? ' @{target|token_id}' : (' ' + safeSourceId); + + return this.inRowButtonHtml({ + text: 'U', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(10, 122, 0, 0.9)', + borderColor:'rgb(255,255,255)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + tooltip: 'Use Item', + callback: + '!tntInventory use ' + + safeSourceId + + targetArg + + ' ' + + safeItemName + }); + }, + + itemRowEquipButton(item, sourceId) { + const safeItem = item || {}; + if (!Utils.toBoolean(safeItem.equippable, false)) return ''; + + const safeSourceId = String(sourceId || '').trim(); + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + if (!safeSourceId || !safeItemName) return ''; + + return this.inRowButtonHtml({ + text: 'E', + textColor: 'rgb(255, 255, 255)', + backgroundColor: 'rgba(126, 104, 14, 0.95)', + borderColor: 'rgb(255,255,255)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + tooltip: 'Equip/Dequip', + callback: + '!tntInventory equip ' + + safeSourceId + + ' ' + + safeItemName + }); + }, + + itemRowGiveButton(item, sourceId) { + const safeItem = item || {}; + const qty = Math.max(0, Utils.toInt(safeItem.quantity, 0)); + if (qty <= 0) return ''; + + const safeSourceId = String(sourceId || '').trim(); + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + + if (!safeSourceId || !safeItemName) return ''; + + return this.inRowButtonHtml({ + text: 'G', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0, 86, 115, 0.9)', + borderColor: 'rgb(255,255,255)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + tooltip: 'Give, Target should be within 5 ft range', + callback: + '!tntInventory give ' + + safeSourceId + + ' @{target|token_id}' + + ' ' + + safeItemName + + ' ?{Qty|1}' + }); + }, + + itemRowDiscardButton(item, sourceId) { + const safeItem = item || {}; + const qty = Math.max(0, Utils.toInt(safeItem.quantity, 0)); + if (qty <= 0) return ''; + + const safeSourceId = String(sourceId || '').trim(); + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + if (!safeSourceId || !safeItemName) return ''; + + const qtyArg = qty > 1 ? ' ?{Qty|1}' : ' 1'; + return this.inRowButtonHtml({ + text: 'D', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150, 20, 20, 0.92)', + borderColor: 'rgb(255,255,255)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + tooltip: 'Discard Item from inventory', + callback: + '!tntInventory discard ' + + safeSourceId + + ' ' + + safeItemName + + qtyArg + + ' ?{Discard item?|no|yes}' + }); + }, + + itemRowTemplateButton(item, sourceId) { + const safeItem = item || {}; + const safeSourceId = String(sourceId || '').trim(); + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + if (!safeSourceId || !safeItemName) return ''; + + return this.inRowButtonHtml({ + text: 'T', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(95, 45, 150, 0.95)', + borderColor: 'rgb(255,255,255)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + tooltip: 'Extract item blueprint', + callback: + '!tntInventory template ' + + safeSourceId + + ' ' + + safeItemName + }); + }, + + inventoryFooterControls(sourceId = '', options = {}) { + const safeSourceId = String(sourceId || '').trim(); + if (!safeSourceId) return ''; + const showDeathSave = !!(options && options.showDeathSave); + + const lightOffButton = this.inRowButtonHtml({ + text: 'Light Off', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(55,55,55,0.94)', + borderColor: 'rgb(255,255,255)', + width: 58, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 10, + uppercase: false, + tooltip: 'Turn token light off', + callback: '!tntInventory lightoff ' + safeSourceId + }); + const proneButton = this.inRowButtonHtml({ + text: 'Prone', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(121,85,72,0.95)', + borderColor: 'rgb(255,255,255)', + width: 48, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 10, + uppercase: false, + tooltip: 'Toggle prone', + callback: '!tntInventory prone ' + safeSourceId + }); + const deathSaveButton = showDeathSave ? this.inRowButtonHtml({ + text: '💀 Save', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(85,35,35,0.95)', + borderColor: 'rgb(255,255,255)', + width: 58, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 10, + uppercase: false, + tooltip: 'Death saving throw', + callback: '!tntInventory deathsave ' + safeSourceId + ' ?{Death Save|🎲 Roll,roll|❤️‍🩹 Stabilize,stabilize|💀 Hit,hit}' + }) : ''; + + return ( + '
' + + '
' + + '
' + deathSaveButton + '
' + + '
' + + proneButton + + '' + + lightOffButton + + '
' + + '
' + ); + }, + + formatAttackBonus(value = '') { + const raw = String(value === undefined || value === null ? '' : value).trim(); + if (!raw) return ''; + const firstNumber = raw.match(/[+-]?\d+/); + if (!firstNumber) return raw; + const bonus = Utils.toInt(firstNumber[0], 0); + return bonus >= 0 ? ('+' + String(bonus)) : String(bonus); + }, + + formatAttackDamage(attack = {}) { + const safeAttack = attack || {}; + const dmgBase = String(safeAttack.dmgBase || safeAttack.damageBase || safeAttack.damage || '').trim(); + const dmgModRaw = String(safeAttack.dmgMod || safeAttack.damageMod || '').trim(); + const dmgMod = this.simplifyModifierExpression(dmgModRaw); + if (!dmgBase && !dmgMod) return ''; + if (!dmgBase) return this.compactDamageText(dmgMod); + if (!dmgMod || dmgMod === '+0') return this.simplifyDamageFormula(dmgBase); + return this.simplifyDamageFormula(dmgBase + (dmgMod.charAt(0) === '-' ? '-' + dmgMod.slice(1) : '+' + dmgMod.replace(/^\+/, ''))); + }, + + getAttackDamageParts(attack = {}) { + const safeAttack = attack || {}; + const rawParts = Array.isArray(safeAttack.damageParts) ? safeAttack.damageParts : []; + const parts = rawParts + .map((part) => { + const formula = this.formatAttackDamage({ + dmgBase: part && (part.dmgBase || part.damageBase || part.damage || ''), + dmgMod: part && (part.dmgMod || part.damageMod || '') + }); + const damageType = String(part && (part.dmgType || part.damageType || '') || '').trim(); + return formula ? { formula, damageType } : null; + }) + .filter(Boolean); + if (parts.length) return parts; + + const formula = this.formatAttackDamage(safeAttack); + return formula + ? [{ formula, damageType: String(safeAttack.dmgType || safeAttack.damageType || '').trim() }] + : []; + }, + + compactDamageText(value = '') { + return String(value || '').trim().replace(/\s*([+-])\s*/g, '$1'); + }, + + simplifyDamageFormula(value = '') { + const compact = this.compactDamageText(value); + const match = compact.match(/^([^+-]+)((?:[+-]\d+)+)$/); + if (!match) return compact; + + const total = (match[2].match(/[+-]\d+/g) || []) + .reduce((sum, part) => sum + Utils.toInt(part, 0), 0); + if (/^[+-]?\d+$/.test(match[1])) return String(Utils.toInt(match[1], 0) + total); + if (total === 0) return match[1]; + return match[1] + (total > 0 ? ('+' + String(total)) : String(total)); + }, + + simplifyModifierExpression(value = '') { + const raw = String(value || '').trim(); + if (!raw) return ''; + + const numericParts = raw.match(/[+-]?\s*\d+/g); + const strippedNumeric = raw.replace(/[+-]?\s*\d+/g, '').replace(/[+\-\s]/g, ''); + if (numericParts && numericParts.length && !strippedNumeric) { + const total = numericParts.reduce((sum, part) => sum + Utils.toInt(String(part).replace(/\s+/g, ''), 0), 0); + if (total === 0) return ''; + return total > 0 ? ('+' + String(total)) : String(total); + } + + return raw; + }, + + isPositiveFlag(value = '') { + const raw = String(value || '').trim().toLowerCase(); + if (!raw) return false; + if (['1', 'true', 'yes', 'y', 'on'].includes(raw)) return true; + return Utils.toInt(raw, 0) > 0; + }, + + formatSaveAttributeButtonText(attack = {}) { + const safeAttack = attack || {}; + const saveFlag = safeAttack.saveFlag || safeAttack.saveflag || safeAttack.save_flag || ''; + if (!this.isPositiveFlag(saveFlag)) return ''; + + const saveAttr = String(safeAttack.saveAttr || safeAttack.saveattr || safeAttack.save_attr || '').trim(); + if (!saveAttr) return 'SAVE'; + return saveAttr.slice(0, 3).toUpperCase(); + }, + + tokenCombatButtonHtml({ command = '', tooltip = '', width = 35, height = 35, backgroundColor = 'rgba(55,55,55,0.95)', content = '' } = {}) { + const safeCommand = String(command || '#').replace(/"/g, '"').replace(/[\r\n]+/g, ' '); + const button = + '' + + content + + ''; + return tooltip ? Html.tooltip(button, Utils.escapeHtml(tooltip)) : button; + }, + + tokenAttackDamageButton(attack = {}, characterId = '', options = {}) { + const safeAttack = attack || {}; + const safeCharacterId = String(characterId || '').trim(); + const safeAttackId = String(safeAttack.attackId || safeAttack.id || '') + .trim() + .replace(/"/g, '') + .replace(/[^A-Za-z0-9_-]/g, ''); + const damageParts = this.getAttackDamageParts(safeAttack); + if (!safeCharacterId || !safeAttackId || !damageParts.length) return ''; + + const rows = damageParts.slice(0, 2).map((part) => { + const icon = TokenService.getDamageTypeIcon(part.damageType) || '□'; + const isMulti = damageParts.length > 1; + const rowH = isMulti ? 10 : 20; + const formulaText = String(part.formula || ''); + const formulaSize = isMulti ? 10 : formulaText.length > 7 ? 9 : (formulaText.length > 5 ? 10 : (formulaText.length > 2 ? 11 : 14)); + + return ( + '
' + + '' + Utils.escapeHtml(formulaText) + '' + + '' + icon + '' + + '
' + ); + }); + const tooltip = damageParts + .map((part) => (part.damageType ? (part.formula + ' ' + part.damageType) : part.formula)) + .join(' + '); + + return this.tokenCombatButtonHtml({ + width: 45, + height: 20, + backgroundColor: 'rgba(120, 40, 40, 0.95)', + tooltip: 'Roll ' + tooltip + ' Damage.', + command: '~' + safeCharacterId + '|repeating_attack("' + safeAttackId + '", "attack", "dmg")', + content: + '
' + + rows.join('') + + '
' + }); + }, + + cleanRepeatingActionId(value = '') { + return String(value || '') + .trim() + .replace(/"/g, '') + .replace(/[^A-Za-z0-9_-]/g, ''); + }, + + tokenAttackButton(attack = {}, characterId = '', options = {}) { + const safeAttack = attack || {}; + if (this.isPositiveFlag(safeAttack.autoHit || safeAttack.autohit || safeAttack.auto_hit || '')) return ''; + + const safeCharacterId = String(characterId || '').trim(); + const safeAttackId = String(safeAttack.attackId || safeAttack.id || '') + .trim() + .replace(/"/g, '') + .replace(/[^A-Za-z0-9_-]/g, ''); + const attackBonus = String(safeAttack.attackBonus || safeAttack.atkBonus || '').trim(); + const saveAttr = this.formatSaveAttributeButtonText(safeAttack); + const saveDc = String(safeAttack.saveDc || safeAttack.savedc || safeAttack.save_dc || '').trim(); + const mainText = saveAttr + ? (saveDc || '0') + : (attackBonus ? this.formatAttackBonus(attackBonus) : '+0'); + const labelText = saveAttr || 'Roll'; + + if (!safeCharacterId || !safeAttackId) return ''; + const isAttack = !saveAttr; + const safeTokenRef = String(options.tokenRef || '').trim(); + const callback = RuntimeConfig.get('TNT_ROLL_CARD') && safeTokenRef + ? ('!tntToken attackroll ' + safeTokenRef + ' ' + safeAttackId + ' attack ' + (isAttack ? '?{Roll Mode|Auto,auto|Advantage,advantage|Disadvantage,disadvantage}' : 'auto')) + : ('~' + safeCharacterId + '|repeating_attack_' + safeAttackId + '_attack'); + + return this.tokenCombatButtonHtml({ + width: 20, + height: 20, + backgroundColor: isAttack ? 'rgba(55,55,55,0.95)' : 'rgba(62, 115, 129, 0.95)', + tooltip: isAttack ? 'Attack Roll' : 'Saving Throw', + command: callback, + content: + '' + + '
' + + Utils.escapeHtml(mainText) + + '
' + + '
' + + Utils.escapeHtml(labelText) + + '
' + + '
' + }); + }, + + tokenRefreshButton({ + tokenRef = '', + action = '', + backgroundColor = 'rgba(45,45,45,0.95)', + tooltip = 'Refresh list' + } = {}) { + const safeTokenRef = String(tokenRef || '').trim(); + const safeAction = String(action || '').trim(); + if (!safeTokenRef || !safeAction) return ''; + + return this.inRowButtonHtml({ + text: 'Refresh', + textColor: 'rgb(255,255,255)', + backgroundColor, + borderColor: 'rgb(255,255,255)', + width: 54, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip, + callback: '!tntToken ' + safeAction + ' ' + safeTokenRef + }); + }, + + tokenSpellButton(spell = {}, options = {}) { + const safeSpell = spell || {}; + const safeCharacterId = String(options.characterId || '').trim(); + const safeSpellId = String(safeSpell.spellId || safeSpell.id || '') + .trim() + .replace(/"/g, '') + .replace(/[^A-Za-z0-9_-]/g, ''); + const spellLevelValue = safeSpell.spellLevel !== undefined && safeSpell.spellLevel !== null ? safeSpell.spellLevel : safeSpell.level; + const spellLevelKey = TokenService.normalizeSpellLevel(spellLevelValue); + const attackBonus = String(safeSpell.spellAttackBonus || '').trim(); + const saveAttr = String(safeSpell.spellSave || safeSpell.spellsave || '').trim(); + const saveDc = String(safeSpell.spellSaveDc || '').trim(); + const actionType = String(safeSpell.spellDamageType || '').trim().toLowerCase(); + const buttonText = actionType === 'spell attack' + ? ((attackBonus ? this.formatAttackBonus(attackBonus) : '+0') + ' ATK') + : (actionType === 'spell save' + ? ((saveAttr ? saveAttr.slice(0, 3).toUpperCase() : 'SAVE') + (saveDc ? ' ' + saveDc : '')) + : 'Cast'); + + if (!safeCharacterId || !safeSpellId) return ''; + const isSaveSpell = !String(buttonText || '').includes('ATK') && String(buttonText || '').includes('Cast'); + + return this.inRowButtonHtml({ + text: buttonText, + textColor: 'rgb(255,255,255)', + backgroundColor: isSaveSpell ? 'rgba(110,45,160,0.95)' : 'rgba(45, 51, 160, 0.95)', + borderColor: 'rgb(255,255,255)', + width: 46, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Cast spell', + callback: '~' + safeCharacterId + '|repeating_spell-' + spellLevelKey + '("' + safeSpellId + '", "spell")' + }); + }, + + tokenSpellDamageButton(spell = {}, characterId = '') { + const safeSpell = spell || {}; + const safeCharacterId = String(characterId || '').trim(); + const safeSpellId = String(safeSpell.spellId || safeSpell.id || '') + .trim() + .replace(/"/g, '') + .replace(/[^A-Za-z0-9_-]/g, ''); + const spellLevelValue = safeSpell.spellLevel !== undefined && safeSpell.spellLevel !== null ? safeSpell.spellLevel : safeSpell.level; + const spellLevelKey = TokenService.normalizeSpellLevel(spellLevelValue); + const damageText = this.compactDamageText(safeSpell.spellDamage || safeSpell.damage || ''); + if (!safeCharacterId || !safeSpellId || !damageText) return ''; + + return this.inRowButtonHtml({ + text: damageText, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(120, 40, 40, 0.95)', + borderColor: 'rgb(255,255,255)', + width: 46, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Roll spell damage.', + callback: '~' + safeCharacterId + '|repeating_spell-' + spellLevelKey + '("' + safeSpellId + '", "spell")' + }); + }, + + itemRowBuyButton(item, options = {}) { + const safeItem = item || {}; + const safeShopId = String(options.shopId || '').trim(); + const buyerTokenId = String(options.buyerTokenId || '').trim(); + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + if (!safeShopId || !buyerTokenId || !safeItemName) return ''; + const stockValue = Math.max(0, Utils.toInt(safeItem.stock, 0)); + const isInfiniteStock = stockValue >= SHOP_INFINITE_STOCK; + if (Utils.toBoolean(options.hasStock, true) && !isInfiniteStock && stockValue <= 0) return ''; + + return this.inRowButtonHtml({ + text: String(options.priceText || 'BUY').trim(), + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(115, 72, 0, 0.92)', + borderColor: 'rgb(255,255,255)', + width: 30, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + tooltip: options.tooltip, + callback: + '!tntShop buy ' + + safeShopId + + ' ' + + buyerTokenId + + ' ' + + safeItemName + + ' ?{Qty|1}' + }); + }, + + shopStatusButton(shop = {}, options = {}) { + const safeShop = shop || {}; + const isOpen = Utils.isFunction(safeShop.isOpen) + ? safeShop.isOpen() + : String(safeShop.state || '').toLowerCase() === 'open'; + return this.inRowButtonHtml({ + text: isOpen ? 'Open' : 'Close', + textColor: 'rgb(255,255,255)', + backgroundColor: isOpen ? 'rgba(10,122,0,0.92)' : 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + width: options.width || 40, + height: options.height || CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: options.fontSize || CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: isOpen ? 'Press to close' : 'Press to open', + callback: '!tntShop toggle ' + String(safeShop.id || '') + (options.returnTo === 'detail' ? ' detail' : '') + }); + }, + + shopHiddenButton(shop = {}, options = {}) { + const safeShop = shop || {}; + const isHidden = Utils.isFunction(safeShop.isHidden) + ? safeShop.isHidden() + : Utils.toBoolean(safeShop.hidden, String(safeShop.state || '').toLowerCase() === 'hidden'); + return this.inRowButtonHtml({ + text: isHidden ? 'Hidden' : 'Reveal', + textColor: 'rgb(255,255,255)', + backgroundColor: isHidden ? 'rgba(100,45,150,0.95)' : 'rgba(95,95,95,0.9)', + borderColor: 'rgba(255,255,255,0.55)', + width: options.width || 40, + height: options.height || CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: options.fontSize || CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: isHidden ? 'Press to reveal' : 'Press to hide', + callback: '!tntShop reveal ' + String(safeShop.id || '') + + (options.returnTo === 'menu' ? ' menu' : (options.returnTo === 'detail' ? ' detail' : '')) + }); + }, + + shopStockModeButton(shop = {}, options = {}) { + const hasStock = Utils.toBoolean(shop && shop.config && shop.config.hasStock, true); + return this.inRowButtonHtml({ + text: hasStock ? 'Stock' : 'Unlimited', + textColor: 'rgb(255,255,255)', + backgroundColor: hasStock ? 'rgba(0,86,115,0.95)' : 'rgba(90,90,90,0.9)', + borderColor: 'rgba(255,255,255,0.55)', + width: options.width || 40, + height: options.height || CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: options.fontSize || CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: hasStock ? 'Press to use unlimited stock mode' : 'Press to use item stock', + callback: '!tntShop stockmode ' + String(shop.id || '') + }); + }, + + shopRollPriceButton(shop = {}, options = {}) { + return this.inRowButtonHtml({ + text: 'R. Price', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(115,72,0,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: options.width || 40, + height: options.height || CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: options.fontSize || 10, + uppercase: false, + tooltip: 'Press to clear item prices, then set custom values', + callback: '!tntShop rollprice ' + String(shop.id || '') + }); + }, + + shopExportButton(shop = {}, options = {}) { + return this.inRowButtonHtml({ + text: 'Export', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(35,105,80,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: options.width || 40, + height: options.height || CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: options.fontSize || 10, + uppercase: false, + tooltip: 'Export this shop to the shop handout', + callback: '!tntShop export ' + String(shop.id || '') + ' detail' + }); + }, + + shopLoadButton(shop = {}, options = {}) { + return this.inRowButtonHtml({ + text: 'Load', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(85,70,150,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: options.width || 40, + height: options.height || CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: options.fontSize || CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Load this shop from the shop handout', + callback: '!tntShop load ' + String(shop.id || '') + ' true detail' + }); + }, + + buildShopSalesTooltip(shop = {}) { + const ledger = Array.isArray(shop.salesLedger) ? shop.salesLedger : []; + if (!ledger.length) return 'No items sold yet.'; + return ledger.map((entry) => { + return Utils.escapeHtml(String(entry.name || 'Item')) + ': ' + Utils.escapeHtml(String(Math.max(0, Utils.toInt(entry.quantity, 0)))); + }).join('
'); + }, + + buildShopEarningsTooltip(shop = {}) { + const earnings = Shop.normalizeEarnings(shop.earnings || {}); + return Utils.escapeHtml(String(earnings.cp)) + ' cp, ' + + Utils.escapeHtml(String(earnings.sp)) + ' sp, ' + + Utils.escapeHtml(String(earnings.gp)) + ' gp'; + }, + + buildShopBlacklistTooltip(shop = {}) { + const entries = Array.isArray(shop.blacklist) ? shop.blacklist : []; + if (!entries.length) return 'No blocked characters.'; + return entries.map((entry) => { + const id = String(entry || '').trim(); + const character = id ? getObj('character', id) : null; + return Utils.escapeHtml(character ? character.get('name') : id); + }).join('
'); + }, + + buildShopLocationTooltip(shop = {}) { + const entries = Array.isArray(shop.location) ? shop.location : []; + if (!entries.length) return 'Everywhere'; + return entries.map((entry) => { + const id = String(entry || '').trim(); + const page = id ? getObj('page', id) : null; + return Utils.escapeHtml(page ? page.get('name') : id); + }).join('
'); + }, + + shopMenuRow(shop = {}) { + const safeShop = shop || {}; + const removeButton = this.inRowButtonHtml({ + text: 'X', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Remove Store', + callback: '!tntShop delete ' + String(safeShop.id || '') + ' ?{Remove Store?|no|yes}' + }); + const menuButton = this.inRowButtonHtml({ + text: 'Menu', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,180,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 34, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + callback: '!tntShop detail ' + String(safeShop.id || '') + }); + const shopNameText = String(safeShop.name || safeShop.id || 'Shop'); + const shopNameHtml = Html.tooltip( + '' + Utils.escapeHtml(shopNameText) + '', + Utils.escapeHtml(shopNameText) + ); + return ( + '' + + '' + + removeButton + + '' + + '' + + '
' + + shopNameHtml + + '
' + + '' + + '' + + this.shopStatusButton(safeShop, { width: 34, fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE }) + + this.shopHiddenButton(safeShop, { returnTo: 'menu', width: 42, fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE }) + + menuButton + + '' + + '' + ); + }, + + showShopAdminMenu(shops = []) { + const rows = shops.length + ? shops.map((shop) => this.shopMenuRow(shop)).join('') + : 'No shops found.'; + const titleHtml = + '
' + + '' + + this.inRowButtonHtml({ + text: 'Load', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(110,45,160,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 42, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Load stores from handout', + callback: '!tntShop load' + }) + + '' + + 'Shop Manager' + + '' + + this.inRowButtonHtml({ + text: 'Create', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 42, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Create Store', + callback: '!tntShop create ?{Store ID|new-shop} ?{Store Name|New Shop}' + }) + + '' + + '
'; + return Html.card({ + title: 'Shop Manager', + body: + '' + + '' + rows + '' + + '
', + buildOptions: { + titleHtml + } + }); + }, + + dmIconGrid(buttons = [], columns = 4) { + const safeColumns = Math.max(1, Utils.toInt(columns, 4)); + const rows = (Array.isArray(buttons) ? buttons : []).reduce((html, buttonConfig, index) => { + const safeConfig = Object.assign({ + width: 45, + height: 40, + labelSize: 12, + backgroundColor: 'rgba(45,45,45,0.95)', + paddingTop: 8 + }, buttonConfig || {}); + if (index % safeColumns === 0) html += ''; + html += '' + + this.iconButtonHtml(safeConfig) + + ''; + if (index % safeColumns === safeColumns - 1) html += ''; + return html; + }, ''); + const remainder = buttons.length % safeColumns; + return ( + '' + + '' + + rows + + (remainder ? ('') : '') + + '' + + '
' + ); + }, + + dmSectionHtml(title = '', color = 'rgb(235,235,235)') { + return ( + '
' + + '
' + + Utils.escapeHtml(title) + + '
' + + '
' + ); + }, + + showDmMainMenu() { + const palette = { + item: 'rgba(80, 165, 70, 0.7)', + shop: 'rgba(145, 85, 185, 0.7)', + token: 'rgba(30, 130, 200, 0.7)', + disabled: 'rgba(70,70,70,0.7)' + }; + const niy = { iconHtml: '❌', label: 'N.I.Y', command: '#', backgroundColor: palette.disabled, tooltip: 'Not implemented yet' }; + const body = + this.dmSectionHtml('Items', 'rgb(52,203,116)') + + this.dmIconGrid([ + { iconHtml: '🔍', label: 'Search', command: '!tntItem search ?{Item Search|}', backgroundColor: palette.item, tooltip: 'Search item catalog' }, + { iconHtml: '📋', label: 'List', command: '!tntItem list', backgroundColor: palette.item, tooltip: 'Open item catalog' }, + { iconHtml: '📝', label: 'Create', command: '!tntItem create', backgroundColor: palette.item, tooltip: 'Create custom item' }, + { iconHtml: '💰', label: 'Wallet', command: '!tntCurrency wallet ?{Wallet|💵 Pay,pay|💸 Take,take} ?{Coin|🟠 CP,cp|⚪ SP,sp|🟡 GP,gp} ?{Amount|1}', backgroundColor: palette.item, tooltip: 'Pay or take currency from selected tokens' } + ], 4) + + this.dmSectionHtml('Shop', 'rgb(190,110,255)') + + this.dmIconGrid([ + { iconHtml: '🏪', label: 'Shops', command: '!tntShop menu', backgroundColor: palette.shop, tooltip: 'Open shop manager' }, + { iconHtml: '🛒', label: 'Visit', command: '!tntShop list', backgroundColor: palette.shop, tooltip: 'Open shop list' }, + { iconHtml: '📂', label: 'Load', command: '!tntShop load', backgroundColor: palette.shop, tooltip: 'Load shops from database' }, + niy, + ], 4) + + this.dmSectionHtml('Token', 'rgb(84,186,255)') + + this.dmIconGrid([ + { iconHtml: '⚔️', label: 'Combat', command: '!tntDM combat', backgroundColor: palette.token, tooltip: 'Open token combat menu' }, + niy, + niy, + { iconHtml: '⚙️', label: 'Setup', command: '!tntDM token', backgroundColor: palette.token, tooltip: 'Open token configuration menu' } + ], 4); + + return Html.card({ + title: '🐉 T&T DM Menu 🐉', + body, + buildOptions: { + titleHtml: + '
' + + '🐉 T&T DM Menu 🐉' + + '⚙️' + + '
', + titleColor: CONFIG.DEFAULT_TEXT_STORE_NAME_COLOR, + titleLineColor: 'rgba(125, 40, 175, 0.85)' + } + }); + }, + + showDmConfigMenu() { + const config = RuntimeConfig.getAll(); + const rows = RuntimeConfig.getFields().map((field) => { + const value = Object.prototype.hasOwnProperty.call(config, field.key) ? config[field.key] : RUNTIME_CONFIG_DEFAULTS[field.key]; + let control = ''; + if (field.type === 'boolean') { + const enabled = Utils.toBoolean(value, false); + control = this.inRowButtonHtml({ + text: enabled ? 'ON' : 'OFF', + textColor: 'rgb(255,255,255)', + backgroundColor: enabled ? 'rgba(35,135,65,0.95)' : 'rgba(145,35,35,0.95)', + borderColor: 'rgba(255,255,255,0.65)', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 9, + uppercase: true, + callback: '!tntDM config toggle ' + field.key + }); + } else { + control = this.inRowButtonHtml({ + text: String(value), + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.65)', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 11, + uppercase: false, + callback: '!tntDM config set ' + field.key + ' ?{' + Utils.escapeHtml(field.label) + '|' + Utils.escapeHtml(String(value)) + '}' + }); + } + return ( + '' + + '' + + Utils.escapeHtml(field.label) + + '' + + '' + control + '' + + '' + ); + }).join(''); + const body = + '' + + '' + rows + '' + + '
'; + return Html.card({ + title: 'T&T Settings', + body, + buildOptions: { + titleHtml: '⚙️ T&T Settings ⚙️', + titleColor: 'rgb(210,210,210)', + titleLineColor: 'rgba(210,210,210,0.65)' + } + }); + }, + + showDmTokenCombatMenu() { + const body = this.dmIconGrid([ + { iconHtml: '💥', label: 'Dmg', command: TokenService.buildDealingCommand(), backgroundColor: 'rgba(120,40,40,0.75)', tooltip: 'Deal damage to selected token(s)' }, + { iconHtml: '💚', label: 'Heal', command: '!tntToken heal ?{Heal Type|❤️ HP,hp|💗 HP Temp,temp} ?{Healing|1} true', backgroundColor: 'rgba(20,115,55,0.95)', tooltip: 'Heal selected token(s) or add temporary HP.' }, + { iconHtml: '☠️', label: 'Cond.', command: '!tntToken conditionmenu', backgroundColor: 'rgba(115,90,35,0.95)', tooltip: 'Open selected token condition toggles' }, + { iconHtml: '✨', label: 'Effect', command: '!tntToken effectmenu', backgroundColor: 'rgba(95,60,150,0.95)', tooltip: 'Open selected token effect toggles' } + ], 4); + return Html.card({ + title: 'Token Combat Menu', + body, + buildOptions: { + titleHtml: '⚔️ Token Combat Menu ⚔️', + titleColor: 'rgb(84,186,255)', + titleLineColor: 'rgba(84,186,255,0.85)' + } + }); + }, + + showTokenEffectMenu(entries = []) { + const safeEntries = Array.isArray(entries) ? entries : []; + const tokenRefs = safeEntries.map((entry) => String(entry.tokenRef || '').trim()).filter(Boolean); + const tokenNames = safeEntries.map((entry) => String(entry.tokenName || 'Token').trim()).filter(Boolean); + const allBlessed = safeEntries.length > 0 && safeEntries.every((entry) => !!(entry.effects && entry.effects.bless)); + const blessButton = { + iconHtml: '🕊️', + iconSize: 25, + label: 'Bless', + labelSize: 14, + width: 60, + height: 50, + paddingTop: 15, + labelPaddingTop: 2, + textColor: allBlessed ? 'rgb(255,255,255)' : 'rgb(200,200,200)', + backgroundColor: allBlessed ? 'rgba(85, 130, 75, 0.55)' : 'rgba(0,0,0,0.60)', + borderColor: allBlessed ? 'rgba(205,255,195,0.85)' : 'rgba(255, 255, 255, 0.75)', + tooltip: allBlessed ? 'Remove Bless from all selected tokens' : 'Apply Bless to all selected tokens', + command: '!tntToken effecttoggle ' + tokenRefs.join(';') + ' bless ' + (allBlessed ? 'remove' : 'apply') + }; + const rows = safeEntries.length + ? ( + '
' + + '
' + + Utils.escapeHtml(tokenNames.join(', ')) + + '
' + + this.dmIconGrid([blessButton], 3) + + '
' + ) + : ''; + + return Html.card({ + title: 'Token Effects', + body: rows || '
No selected tokens.
', + buildOptions: { + titleHtml: '✨ Token Effects ✨', + titleColor: 'rgb(190,110,255)', + titleLineColor: 'rgba(190,110,255,0.85)' + } + }); + }, + + showDmTokenConfigMenu() { + const tokenTypePrompt = '?{Token Type|🕹️ Player,player|🤖 NPC,npc}'; + const body = this.dmIconGrid([ + { iconHtml: '🛠️', label: 'Init', command: '!tntToken init ' + tokenTypePrompt, backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Initialize selected token(s)' }, + { iconHtml: '🔧', label: 'Setup', command: '!tntToken setup ' + tokenTypePrompt, backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Apply token setup' }, + { iconHtml: '🧹', label: 'Clear', command: '!tntToken clear', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Clear selected token setup' }, + { iconHtml: '📝', label: 'Edit', command: '!tntToken edit', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Edit selected token' }, + { iconHtml: '💾', label: 'Save', command: '!tntToken save', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Save selected token setup' }, + { iconHtml: '📝', label: 'Default', command: '!tntToken default', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Edit token defaults' }, + { iconHtml: '📥', label: 'Set', command: '!tntToken set ?{Token Property|name} ?{Value|}', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Set selected token property' }, + { iconHtml: '📤', label: 'Get', command: '!tntToken get ?{Token Property|name}', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Read selected token property' }, + { iconHtml: '🖼️', label: 'Img', command: '!tntToken get imgsrc', backgroundColor: 'rgba(0,86,150,0.95)', tooltip: 'Show selected token image URL' } + ], 3); + return Html.card({ + title: 'Token Configuration', + body, + buildOptions: { + titleHtml: '⚙️ Token Configuration ⚙️', + titleColor: 'rgb(84,186,255)', + titleLineColor: 'rgba(84,186,255,0.85)' + } + }); + }, + + showTokenConditionMenu(entries = []) { + const conditionKeys = Object.keys(CONFIG.CONDITION_STATUS_MARKERS || {}); + const safeEntries = Array.isArray(entries) ? entries : []; + const tokenRefs = safeEntries.map((entry) => String(entry.tokenRef || '').trim()).filter(Boolean); + const tokenNames = safeEntries.map((entry) => String(entry.tokenName || 'Token').trim()).filter(Boolean); + const conditionButtons = conditionKeys.map((conditionKey) => { + const values = safeEntries.map((entry) => entry.conditions && entry.conditions[conditionKey]); + const allActive = safeEntries.length > 0 && values.every((value) => conditionKey === 'exhaustion' ? Utils.toInt(value, 0) > 0 : !!value); + const exhaustionLevels = values.map((value) => Math.max(0, Utils.toInt(value, 0))).filter((value) => value > 0); + const sameExhaustion = exhaustionLevels.length === safeEntries.length && exhaustionLevels.every((value) => value === exhaustionLevels[0]); + const conditionName = TokenService.formatConditionName(conditionKey); + const label = conditionKey === 'exhaustion' && sameExhaustion + ? conditionName + ' ' + String(exhaustionLevels[0]) + : conditionName; + const command = conditionKey === 'exhaustion' + ? (allActive + ? ('!tntToken conditiontoggle ' + tokenRefs.join(';') + ' exhaustion 0 remove') + : ('!tntToken conditiontoggle ' + tokenRefs.join(';') + ' exhaustion ?{Exhaustion|None,0|1,1|2,2|3,3|4,4|5,5|6,6} apply')) + : ('!tntToken conditiontoggle ' + tokenRefs.join(';') + ' ' + conditionKey + ' ' + (allActive ? 'remove' : 'apply')); + return { + iconHtml: TokenService.getConditionIcon(conditionKey), + iconSize: 25, + label, + labelSize: (label.length > 10) ? 8 : (label.length > 8) ? 10 : (label.length > 6) ? 11 : 14, + width: 60, + height: 50, + paddingTop: 15, + labelPaddingTop: 2, + textColor: allActive ? 'rgb(255,255,255)' : 'rgb(200,200,200)', + backgroundColor: allActive ? 'rgba(85, 130, 75, 0.55)' : 'rgba(0,0,0,0.60)', + borderColor: allActive ? 'rgba(205,255,195,0.85)' : 'rgba(255, 255, 255, 0.75)', + tooltip: conditionKey === 'exhaustion' ? (allActive ? 'Remove Exhaustion from all selected tokens' : 'Set Exhaustion on all selected tokens') : ((allActive ? 'Remove ' : 'Apply ') + conditionName + ' on all selected tokens'), + command + }; + }); + const rows = safeEntries.length + ? ( + '
' + + '
' + + Utils.escapeHtml(tokenNames.join(', ')) + + '
' + + '
All selected tokens
' + + this.dmIconGrid(conditionButtons, 3) + + '
' + ) + : ''; + + return Html.card({ + title: 'Token Conditions', + body: rows || '
No selected linked tokens.
', + buildOptions: { + titleHtml: '☠️ Token Conditions ☠️', + titleColor: 'rgb(234,221,41)', + titleLineColor: 'rgba(234,221,41,0.75)' + } + }); + }, + + shopDetailItemRow(item = {}, shop = {}) { + const safeItem = item || {}; + const imageUrl = String(safeItem.imageUrl || CONFIG.DEFAULT_ITEM_IMAGE_URL).trim(); + const imageHtml = imageUrl && imageUrl !== '0' + ? '' + : ''; + const itemName = String(safeItem.name || safeItem.recordName || safeItem.displayName || 'Item').trim(); + const itemLabel = String(safeItem.displayName || safeItem.name || safeItem.recordName || 'Item').trim(); + const qualityColorByRarity = { + common: CONFIG.DEFAULT_ITEM_COMMON_QUALITY_COLOR, + uncommon: CONFIG.DEFAULT_ITEM_UNCOMMON_QUALITY_COLOR, + rare: CONFIG.DEFAULT_ITEM_RARE_QUALITY_COLOR, + very_rare: CONFIG.DEFAULT_ITEM_VERY_RARE_QUALITY_COLOR, + legendary: CONFIG.DEFAULT_ITEM_LEGENDARY_QUALITY_COLOR, + artifact: CONFIG.DEFAULT_ITEM_ARTIFACT_QUALITY_COLOR + }; + const rarityKey = String(safeItem.rarity || safeItem.quality || 'common') + .trim() + .toLowerCase() + .replace(/[\s-]+/g, '_'); + const qualityColor = String( + qualityColorByRarity[rarityKey] || + qualityColorByRarity.common || + 'rgb(200,200,200)' + ).replace(/\)\)+$/g, ')'); + const description = String(safeItem.description || '').trim(); + const itemNameHtml = + '' + + Utils.escapeHtml(itemLabel) + + ''; + const itemBlock = description + ? Html.tooltip(imageHtml + '' + itemNameHtml + '', description) + : imageHtml + '' + itemNameHtml + ''; + const priceText = Number(safeItem.price) < 0 + ? 'unpriced' + : (String(Math.max(0, Number(safeItem.price) || 0)) + ' ' + String(safeItem.priceType || CONFIG.CURRENCY_FALLBACK).toUpperCase()); + const stockValue = Math.max(0, Utils.toInt(safeItem.stock, 0)); + const stockText = stockValue >= SHOP_INFINITE_STOCK ? 'unlimited' : String(stockValue); + const priceButton = this.inRowButtonHtml({ + text: '$', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(115,72,0,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Current price: ' + priceText, + callback: '!tntShop price ' + String(shop.id || '') + ' ' + itemName + ' ?{Price|-1} ?{Currency|gp}' + }); + const stockButton = this.inRowButtonHtml({ + text: 'Qty', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 20, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 10, + uppercase: false, + tooltip: 'Current stock: ' + stockText, + callback: '!tntShop stock ' + String(shop.id || '') + ' ' + itemName + ' ?{Stock|' + stockText + '}' + }); + const removeButton = this.inRowButtonHtml({ + text: 'X', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Remove this item from the shop', + callback: '!tntShop remove ' + String(shop.id || '') + ' ' + itemName + ' --detail' + }); + + return ( + '' + + '' + + itemBlock + + '' + + '' + + priceButton + stockButton + removeButton + + '' + + '' + ); + }, + + showShopDetail(shop = {}) { + const safeShop = shop || {}; + const shopIcon = String(safeShop.icon || '🏪').trim() || '🏪'; + const totalSold = Utils.isFunction(safeShop.getTotalItemsSold) ? safeShop.getTotalItemsSold() : 0; + const gpFloor = Utils.isFunction(safeShop.getEarningsGpFloor) ? safeShop.getEarningsGpFloor() : 0; + const salesHtml = Html.tooltip( + 'Items Sold: ' + Utils.escapeHtml(String(totalSold)) + '', + this.buildShopSalesTooltip(safeShop) + ); + const earningsHtml = Html.tooltip( + 'Earnings: ' + Utils.escapeHtml(String(gpFloor)) + ' gp', + this.buildShopEarningsTooltip(safeShop) + ); + const blacklistCount = Array.isArray(safeShop.blacklist) ? safeShop.blacklist.length : 0; + const locationCount = Array.isArray(safeShop.location) ? safeShop.location.length : 0; + const blacklistHtml = Html.tooltip( + 'Blacklist [' + Utils.escapeHtml(String(blacklistCount)) + ']', + this.buildShopBlacklistTooltip(safeShop) + ); + const locationHtml = Html.tooltip( + 'Locations [' + Utils.escapeHtml(String(locationCount)) + '] ' + '', + this.buildShopLocationTooltip(safeShop) + ); + const itemListCount = Array.isArray(safeShop.itemList) ? safeShop.itemList.length : 0; + const itemListHtml = 'Item List [' + Utils.escapeHtml(String(itemListCount)) + ']'; + const disabledButtonStyle = { + textColor: 'rgb(190,190,190)', + backgroundColor: 'rgba(70,70,70,0.8)', + borderColor: 'rgba(255,255,255,0.25)', + width: 30, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Pending maps phase', + callback: '#' + }; + const itemRows = safeShop.itemList.length + ? safeShop.itemList.map((item) => this.shopDetailItemRow(item, safeShop)).join('') + : 'No items in this shop.'; + + const titleHtml = + '
' + + '' + shopIcon + '' + + '
' + Utils.escapeHtml(String(safeShop.name || 'Shop')) + '
' + + '
' + Utils.escapeHtml(String(safeShop.id || '')) + '
' + + '
'; + + const body = + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + + salesHtml + + '' + + earningsHtml + + '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + + this.shopStatusButton(safeShop, { returnTo: 'detail' }) + + '' + + this.shopHiddenButton(safeShop, { returnTo: 'detail' }) + + '' + + this.shopStockModeButton(safeShop) + + '' + + this.shopRollPriceButton(safeShop) + + '' + + this.shopExportButton(safeShop) + + '' + + this.shopLoadButton(safeShop) + + '
' + + '
' + + blacklistHtml + + '' + + this.inRowButtonHtml(Object.assign({}, disabledButtonStyle, { + text: 'Add', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + tooltip: 'Target a character token to blacklist', + callback: '!tntShop blacklist ' + String(safeShop.id || '') + ' add @{target|token_id}' + })) + + this.inRowButtonHtml(Object.assign({}, disabledButtonStyle, { + text: 'Clear', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(10,122,0,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + width: 40, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + tooltip: 'Target a character token to remove from blacklist', + callback: '!tntShop blacklist ' + String(safeShop.id || '') + ' remove @{target|token_id}', + })) + + '
' + + locationHtml + + '' + + this.inRowButtonHtml(Object.assign({}, disabledButtonStyle, { + text: 'Set', + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + })) + + this.inRowButtonHtml(Object.assign({}, disabledButtonStyle, { + text: 'Clear', + fontSize: 12, + width: 40 + })) + + '
' + + itemListHtml + + '' + + this.inRowButtonHtml(Object.assign({}, disabledButtonStyle, { + text: 'Add', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + tooltip: 'Add an item to this shop', + callback: '!tntShop add ' + String(safeShop.id || '') + ' ?{Item Name} --detail' + })) + + '
' + + '
' + + '' + + '' + + itemRows + + '' + + '
'; + + return Html.card({ + title: safeShop.name || 'Shop', + body, + buildOptions: { + titleHtml + } + }); + }, + + showShopButtonList(shops = []) { + const safeShops = Array.isArray(shops) ? shops : []; + const columns = 4; + const makeShopCell = (shop, itemsInRow) => { + const safeShop = shop || {}; + const shopName = String(safeShop.name || safeShop.id || 'Shop').trim(); + const isOpen = Utils.isFunction(safeShop.isOpen) ? safeShop.isOpen() : String(safeShop.state || '').toLowerCase() === 'open'; + const backgroundColor = isOpen ? 'rgba(25,145,55,0.5)' : 'rgba(155,35,35,0.5)'; + return '' + + this.iconButtonHtml({ + iconHtml: String(safeShop.icon || '🏪').trim() || '🏪', + iconSize: 28, + label: shopName, + labelSize: 9, + width: 60, + height: 50, + paddingTop: 8, + labelPaddingTop: 4, + backgroundColor, + borderColor: 'rgba(255,255,255,0.65)', + tooltip: isOpen ? 'Open' : 'Out of Lunch', + command: isOpen ? ('!tntShop get ' + String(safeShop.id || '')) : '#' + }) + + ''; + }; + + let rows = ''; + if (safeShops.length) { + for (let i = 0; i < safeShops.length; i += columns) { + const rowShops = safeShops.slice(i, i + columns); + const itemsInRow = rowShops.length; + const rowWidth = (itemsInRow / columns) * 100; + rows += + '' + + '' + + '' + + '' + + '' + + rowShops.map(shop => makeShopCell(shop, itemsInRow)).join('') + + '' + + '' + + '
' + + '' + + ''; + } + } else { + rows = 'No shops available.'; + } + return Html.card({ + title: 'Shops', + body: + '' + + '' + + rows + + '' + + '
' + }); + }, + + shopGridItemButton(item = {}, shop = {}, options = {}) { + const safeItem = item || {}; + const safeShop = shop || {}; + const buyerTokenId = String(options.buyerTokenId || '').trim(); + + const itemName = String(safeItem.name || 'Item').trim(); + const qualityColor = this.getItemQualityColor(safeItem); + + const imageUrl = String(safeItem.imageUrl || CONFIG.DEFAULT_ITEM_IMAGE_URL).trim(); + const hasImage = imageUrl && imageUrl !== '0'; + + const stockValue = Math.max(0, Utils.toInt(safeItem.stock, 0)); + const hasInfiniteStock = Utils.isFunction(safeItem.isInfiniteStock) && safeItem.isInfiniteStock(); + const stockText = hasInfiniteStock ? CONFIG.DEFAULT_ITEM_INFINITE_STOCK_ICON : String(stockValue); + + const hasStock = + hasInfiniteStock || + stockValue > 0 || + !Utils.toBoolean((safeShop.config || {}).hasStock, true); + + const priceValue = Math.max(0, Number(safeItem.price) || 0); + const priceType = InventoryService.normalizeCurrencyType(safeItem.priceType) || CONFIG.CURRENCY_FALLBACK; + + const showPrice = + !Utils.toBoolean((safeShop.config || {}).hidePrice, false) && + Number(safeItem.price) >= 0; + + const command = '!tntShop buy ' + String(safeShop.id || '') + ' ' + buyerTokenId + ' ' + itemName + ' ?{Qty|1}'; + const description = String(safeItem.description || '').trim() || itemName; + + const itemType = String(safeItem.subtype || safeItem.category || safeItem.type || 'Item').trim(); + + const imageHtml = hasImage + ? '' + : ''; + + const priceHtml = showPrice + ? this.currencyIconHtml(priceType, { size: 9 }) + + ' ' + Utils.escapeHtml(String(priceValue)) + '' + : '-'; + + const buttonArea = 50; + const buttonHeight = 50; + const buttonRadius = 4; + const buyButton = + '' + + '
' + + '
' + + '
' + imageHtml + '
' + + '
' + + '
' + priceHtml + '
' + + '
' + + '
'; + + const itemInfo = + '
' + + '
' + + Html.tooltip( + Html.button({ + text: itemName, + command: '!tntItem details ' + itemName, + style: Utils.joinStyles({ + color: qualityColor, + 'font-weight': '700', + 'font-size': '13px', + 'line-height': '14px', + 'text-decoration': 'none', + background: 'transparent', + border: '0', + padding: '0', + margin: '0', + display: 'inline', + cursor: 'pointer' + }) + }), + 'Click to see details for \'' + itemName + '\'' + ) + + '
' + + '
' + + Utils.escapeHtml(itemType) + + '
' + + '
' + + '📦 ' + Utils.escapeHtml(stockText) + + '
' + + '
'; + + const shopItemRender = + '
' + + '
' + + Html.tooltip(buyButton, Utils.escapeHtml(description)) + + '
' + + '
' + + itemInfo + + '
' + + '
'; + + return shopItemRender; + }, + + showShopGrid(shop = {}, options = {}) { + const safeShop = shop || {}; + const visibleItems = Array.isArray(safeShop.itemList) ? safeShop.itemList.filter((item) => !item.hidden) : []; + const columns = 2; + + const rows = visibleItems.length + ? visibleItems.reduce((html, item, index) => { + if (index % columns === 0) html += ''; + html += '' + this.shopGridItemButton(item, safeShop, options) + ''; + if (index % columns === columns - 1) html += ''; + return html; + }, '') + : 'No items found in this shop.'; + const remainder = visibleItems.length % columns; + const walletHtml = String(options.walletHtml || ''); + return Html.card({ + title: String(safeShop.name || 'Shop'), + body: + walletHtml + + '' + + '' + + rows + + (remainder ? ('') : '') + + '' + + '
', + buildOptions: { + titleHtml: + '
' + + '' + String(safeShop.icon || '🏪') + '' + + Utils.escapeHtml(String(safeShop.name || 'Shop')) + + '
' + } + }); + }, + + showItemInRowHtml(item, options = {}) { + const safeItem = item || {}; + const imageSize = Number(options.imageSize) || CONFIG.DEFAULT_ITEM_ROW_IMAGE_SIZE; + const rowHeight = Number(options.rowHeight) || CONFIG.DEFAULT_ITEM_ROW_HEIGHT; + const sourceTokenId = String(options.sourceTokenId || '').trim(); + const buyerTokenId = String(options.buyerTokenId || '').trim(); + + const qualityColorByRarity = { + common: CONFIG.DEFAULT_ITEM_COMMON_QUALITY_COLOR, + uncommon: CONFIG.DEFAULT_ITEM_UNCOMMON_QUALITY_COLOR, + rare: CONFIG.DEFAULT_ITEM_RARE_QUALITY_COLOR, + very_rare: CONFIG.DEFAULT_ITEM_VERY_RARE_QUALITY_COLOR, + legendary: CONFIG.DEFAULT_ITEM_LEGENDARY_QUALITY_COLOR, + artifact: CONFIG.DEFAULT_ITEM_ARTIFACT_QUALITY_COLOR + }; + const rarityKey = String(safeItem.rarity || safeItem.quality || 'common') + .trim() + .toLowerCase() + .replace(/[\s-]+/g, '_'); + const qualityColor = String( + qualityColorByRarity[rarityKey] || + qualityColorByRarity.common || + 'rgb(162, 162, 162)' + ).replace(/\)\)+$/g, ')'); + const description = String(safeItem.description || '').trim(); + const hasDescription = description.length > 0; + const imageUrl = String(safeItem.imageUrl || CONFIG.DEFAULT_ITEM_IMAGE_URL).trim(); + const hasImage = imageUrl !== '' && imageUrl !== '0'; + const itemLabel = String( + safeItem.displayName || safeItem.name || 'UNKNOWN ITEM' + ).toUpperCase(); + const baseFontSize = Number(options.fontSize) || CONFIG.DEFAULT_ITEM_ROW_FONT_SIZE; + const fontSize = itemLabel.length > 24 ? Math.max(8, baseFontSize - 6) : itemLabel.length > 20 ? Math.max(8, baseFontSize - 4) : baseFontSize; + const itemName = String(safeItem.name || safeItem.recordName || itemLabel).trim(); + const isInventoryItem = options.menuType === 'inventory'; + const isTemplateItem = options.menuType === 'template'; + const isEquipped = isInventoryItem && Utils.toBoolean(safeItem.equipped, false); + const equippedPrefixHtml = isEquipped + ? '[E] ' + : ''; + const quantityValue = Math.max(0, Utils.toInt(safeItem.quantity, 0)); + let quantity = ''; + if (isInventoryItem || isTemplateItem) { + quantity = ' [' + Utils.escapeHtml(String(quantityValue)) + ']'; + } else if (options.menuType === 'shop') { + const stockValue = Math.max(0, Utils.toInt(safeItem.stock, 0)); + const isUnlimited = !Utils.toBoolean(options.hasStock, true) || stockValue >= SHOP_INFINITE_STOCK; + const stockText = Utils.toBoolean(options.hasStock, true) + ? (' [' + (isUnlimited ? CONFIG.DEFAULT_ITEM_INFINITE_STOCK_ICON : Utils.escapeHtml(String(stockValue))) + ']') + : ' [' + CONFIG.DEFAULT_ITEM_INFINITE_STOCK_ICON + ']'; + quantity = stockText; + } + + let itemNameHtml = + '' + + equippedPrefixHtml + + Utils.escapeHtml(itemLabel) + + ''; + const itemDetailsTooltip = hasDescription ? description : 'Click to see details for \'' + itemName + '\''; + let itemNameIsDetailsButton = false; + if (isInventoryItem && itemName) { + itemNameIsDetailsButton = true; + itemNameHtml = equippedPrefixHtml + + Html.tooltip( + Html.button({ + text: itemLabel, + command: '!tntItem details ' + sourceTokenId + ' ' + itemName, + style: Utils.joinStyles({ + color: qualityColor, + 'font-weight': '700', + 'font-size': fontSize + 'px', + 'vertical-align': 'middle', + 'text-decoration': 'none', + background: 'transparent', + border: '0', + padding: '0', + margin: '0', + display: 'inline', + cursor: 'pointer' + }) + }), + itemDetailsTooltip + ); + } else if (options.menuType === 'catalog' && itemName) { + itemNameIsDetailsButton = true; + itemNameHtml = Html.tooltip( + Html.button({ + text: itemLabel, + command: '!tntItem details ' + itemName, + style: Utils.joinStyles({ + color: qualityColor, + 'font-weight': '700', + 'font-size': fontSize + 'px', + 'vertical-align': 'middle', + 'text-decoration': 'none', + background: 'transparent', + border: '0', + padding: '0', + margin: '0', + display: 'inline', + cursor: 'pointer' + }) + }), + itemDetailsTooltip + ); + } + + const imageHtml = hasImage + ? '' + : ''; + + if (hasDescription && !itemNameIsDetailsButton) { + itemNameHtml = + '' + + itemNameHtml + + ''; + } + + let itemBlock = + '' + + imageHtml + itemNameHtml + quantity + + ''; + + let buttons = ''; + if (options.menuType === 'inventory') { + buttons += this.itemRowEquipButton(safeItem, sourceTokenId); + buttons += this.itemRowUseButton(safeItem, sourceTokenId); + buttons += this.itemRowGiveButton(safeItem, sourceTokenId); + buttons += this.itemRowDiscardButton(safeItem, sourceTokenId); + } else if (options.menuType === 'template') { + buttons += this.itemRowTemplateButton(safeItem, sourceTokenId); + } else if (options.menuType === 'shop') { + const priceText = Utils.toBoolean(options.hidePrice, false) + ? '' + : (Number(safeItem.price) < 0 + ? ' TBD' + : (Utils.escapeHtml(String(Math.max(0, Number(safeItem.price) || 0))) + ' ' + Utils.escapeHtml(String(safeItem.priceType || CONFIG.CURRENCY_FALLBACK).toUpperCase()))); + + buttons += this.itemRowBuyButton(safeItem, { + tooltip: priceText, + shopId: options.shopId, + buyerTokenId, + hasStock: options.hasStock + }); + } else if (options.menuType === 'catalog') { + const safeItemName = String(safeItem.name || safeItem.recordName || '').trim(); + if (safeItemName) { + buttons += this.inRowButtonHtml({ + text: 'Send', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 30, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 10, + uppercase: false, + tooltip: 'Send to Chat', + callback: '!tntItem send ' + safeItemName + }); + if (options.isGM) { + buttons += this.inRowButtonHtml({ + text: 'Give', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(70,120,45,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 30, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: 10, + uppercase: false, + tooltip: 'Give to target', + callback: '!tntInventory add @{target|token_id} ' + safeItemName + ' ?{Qty|1}' + }); + } + } + } + const buttonFloat = buttons + ? '' + buttons + '' + : ''; + return ( + '' + + '' + + itemBlock + + buttonFloat + + '' + + '' + ); + }, + + showItemCatalog(items = [], options = {}) { + const safeItems = Array.isArray(items) ? items : []; + const grouped = !!options.grouped; + const title = String(options.title || 'Item Catalog') + ' [' + String(safeItems.length) + ']'; + const rowOptions = { + menuType: 'catalog', + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + imageSize: 24, + rowHeight: 28, + searchMode: !!options.searchMode, + isGM: !!options.isGM + }; + + const itemTable = (itemRows) => { + return ( + '' + + '' + itemRows + '' + + '
' + ); + }; + const catalogSectionName = (item = {}) => { + const type = String(item.type || '').trim().replace(/\s+/g, ' '); + if (!type) return 'Other Items'; + return type + .split(' ') + .map((part) => part ? (part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()) : '') + .join(' '); + }; + + let body = ''; + if (grouped) { + const groupsBySection = {}; + const sectionOrder = []; + for (let i = 0; i < safeItems.length; i += 1) { + const item = safeItems[i]; + const section = catalogSectionName(item); + if (!groupsBySection[section]) { + groupsBySection[section] = []; + sectionOrder.push(section); + } + groupsBySection[section].push(item); + } + const groups = sectionOrder.map((section) => ({ section, items: groupsBySection[section] })); + body = groups.map((group) => { + const itemRows = group.items.map((item) => this.showItemInRowHtml(item, rowOptions)).join(''); + return ( + '
' + + '
' + Utils.escapeHtml(group.section) + '
' + + '
' + + '
' + + itemTable(itemRows) + ); + }).join(''); + } else { + const rows = safeItems.map((item) => this.showItemInRowHtml(item, rowOptions)).join(''); + body = rows ? itemTable(rows) : ''; + } + + if (!body) { + body = '
No items found.
'; + } + + return Html.card({ + title, + body + }); + }, + + showItemDetails(item = {}, options = {}) { + const safeItem = item || {}; + const imageUrl = String(safeItem.imageUrl || CONFIG.DEFAULT_ITEM_IMAGE_URL).trim(); + const hasImage = imageUrl !== '' && imageUrl !== '0'; + const itemName = String(safeItem.name || 'Item').trim(); + const safeItemName = Utils.escapeHtml(itemName); + const commandItemName = itemName; + const rarityColorByKey = { + common: CONFIG.DEFAULT_ITEM_COMMON_QUALITY_COLOR, + uncommon: CONFIG.DEFAULT_ITEM_UNCOMMON_QUALITY_COLOR, + rare: CONFIG.DEFAULT_ITEM_RARE_QUALITY_COLOR, + very_rare: CONFIG.DEFAULT_ITEM_VERY_RARE_QUALITY_COLOR, + legendary: CONFIG.DEFAULT_ITEM_LEGENDARY_QUALITY_COLOR, + artifact: CONFIG.DEFAULT_ITEM_ARTIFACT_QUALITY_COLOR + }; + const rarityText = String(safeItem.rarity || safeItem.quality || 'common').trim(); + const rarityKey = rarityText + .toLowerCase() + .replace(/\s+/g, '_') + .replace(/-/g, '_'); + const rarityColor = rarityColorByKey[rarityKey] || rarityColorByKey.common; + const itemType = String(safeItem.type || '').trim(); + const formatPositiveNumber = (value) => { + const numberValue = Number(value); + if (Number.isNaN(numberValue) || numberValue <= 0) return ''; + return String(numberValue); + }; + const weightText = formatPositiveNumber(safeItem.weight); + + const lines = []; + const formatDetailValue = (value) => { + if (Array.isArray(value)) { + return value + .map((entry) => String(entry || '').trim()) + .filter(Boolean) + .join(', '); + } + const rawText = String(value === undefined || value === null ? '' : value).trim(); + if (!rawText) return ''; + if (/^\[[\s\S]*\]$/.test(rawText)) { + try { + const parsed = JSON.parse(rawText); + if (Array.isArray(parsed)) { + return parsed + .map((entry) => String(entry || '').trim()) + .filter(Boolean) + .join(', '); + } + } catch (error) {} + } + return rawText; + }; + const addLine = (label, value, always = false, options = {}) => { + const text = formatDetailValue(value); + const hideZero = !(options && options.showZero); + if (!always && (!text || (hideZero && text === '0'))) return; + if (hasImage) { + const labelText = Utils.escapeHtml(label) + ':'; + const indent = Math.max(38, Math.min(88, (String(label || '').length + 2) * 5.5)); + lines.push( + '
' + + '' + labelText + ' ' + + Utils.escapeHtml(text || '-') + + '
' + ); + return; + } + lines.push( + '
' + + '' + Utils.escapeHtml(label) + ': ' + + Utils.escapeHtml(text || '-') + + '
' + ); + }; + + const price = Number(safeItem.defaultPrice); + const priceTypeKey = InventoryService.normalizeCurrencyType(safeItem.defaultPriceType || safeItem.priceType) || CONFIG.CURRENCY_FALLBACK; + const priceType = String(priceTypeKey).trim().toUpperCase(); + const priceColor = this.getCurrencyColor(priceTypeKey); + const diceCount = Math.max(0, Utils.toInt(safeItem.diceCount, 0)); + const diceSide = Math.max(0, Utils.toInt(safeItem.diceSide, 0)); + const bonus = Number(safeItem.bonus) || 0; + let diceText = ''; + if (diceCount > 0 && diceSide > 0) { + diceText = String(diceCount) + 'd' + String(diceSide); + if (bonus > 0) diceText += '+' + String(bonus); + else if (bonus < 0) diceText += String(bonus); + } else if (bonus !== 0) { + diceText = String(bonus); + } + const priceText = (!Number.isNaN(price) && price > 0) + ? (String(price) + ' ' + priceType) + : '-'; + const coinOverlayByType = { + cp: 'rgba(185, 115, 50, 0.53)', + sp: 'rgba(182, 182, 182, 0.67)', + gp: 'rgba(232, 197, 58, 0.5)' + }; + const coinUrl = 'https://static.vecteezy.com/system/resources/thumbnails/009/342/607/small/shiny-coins-clipart-design-illustration-free-png.png'; + const priceHtml = priceText !== '-' + ? ( + '' + + '' + Utils.escapeHtml(priceText) + '' + ) + : ''; + const effectText = String(safeItem.effect || '').trim(); + const hasEffect = effectText && effectText.toLowerCase() !== 'none'; + + if (!hasImage) addLine('Type', itemType, true); + if (hasEffect) addLine('Effect', effectText); + if (!hasImage) { + addLine('Rarity', rarityText, true); + addLine('Price', priceText, true); + } + addLine('AC', safeItem.AC, false, { showZero: true }); + addLine('Modifier', safeItem.modifier, false, { showZero: true }); + addLine('Debuff', safeItem.debuff); + addLine('Requirement', safeItem.requirement); + addLine('Dice', diceText); + addLine('Damage Type', safeItem.damageType); + addLine('Properties', safeItem.properties); + addLine('Mastery', safeItem.mastery); + addLine('Use Range', safeItem.useRange); + if (weightText) addLine('Weight', weightText + ' lb'); + + const description = String(safeItem.description || '').trim(); + const descriptionHtml = description + ? ( + '
Description
' + + '
' + + '
' + + Utils.escapeHtml(description) + + '
' + ) + : ''; + + const iconHtml = hasImage + ? ( + '
' + + '' + + '' + + '' + + '
' + Utils.escapeHtml(rarityText.toUpperCase()) + '
' + + (itemType ? '
' + Utils.escapeHtml(itemType) + '
' : '') + + (priceHtml ? '
' + priceHtml + '
' : '') + + '
' + ) + : ''; + + const body = + '
' + + iconHtml + + (lines.length ? lines.join('') : '
No item details available.
') + + '
' + + '
' + + descriptionHtml; + + let titleHtml = ''; + if (options && options.isGM && options.whisper) { + const detailsSourceTokenId = String(options.detailsSourceTokenId || '').trim(); + const editCommand = '!tntItem create edit ' + (detailsSourceTokenId ? (detailsSourceTokenId + ' ') : '') + commandItemName; + const existsInCatalog = Object.prototype.hasOwnProperty.call(options, 'existsInCatalog') + ? !!options.existsInCatalog + : !!ItemCatalog.getByName(itemName); + const removeButton = existsInCatalog + ? this.inRowButtonHtml({ + text: 'X', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Remove item from database', + callback: '!tntItem remove ' + commandItemName + ' ?{Remove item from database?|no|yes}' + }) + : ''; + titleHtml = + '
' + + '' + + this.inRowButtonHtml({ + text: 'Edit', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 34, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Edit item', + callback: editCommand + }) + + removeButton + + '' + + '' + safeItemName + '' + + '' + + this.inRowButtonHtml({ + text: 'Give', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(70,120,45,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 36, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Give to target', + callback: '!tntInventory add @{target|token_id} ' + commandItemName + ' ?{Qty|1}' + }) + + '' + + '
'; + } + + return Html.card({ + title: itemName, + body, + buildOptions: titleHtml ? { titleHtml } : {} + }); + }, + + showDatabaseShopLoadMenu(shops = []) { + const safeShops = Array.isArray(shops) ? shops : []; + const rows = safeShops.length + ? safeShops.map((shop) => { + const safeShop = shop || {}; + const shopId = String(safeShop.id || safeShop.name || '').trim(); + const shopName = String(safeShop.name || shopId || 'Shop').trim(); + const itemCount = Array.isArray(safeShop.itemList) ? safeShop.itemList.length : 0; + const removeButton = this.inRowButtonHtml({ + text: 'X', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 16, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Remove shop from database', + callback: '!tntShop unload ' + shopId + ' ?{Remove shop from database?|no|yes}' + }); + return ( + '' + + '' + + removeButton + + '' + + '' + + Html.tooltip( + '' + Utils.escapeHtml(shopName) + ' ' + + '[ ' + Utils.escapeHtml(String(itemCount)) + ' Items ]', + Utils.escapeHtml(shopName) + ) + + '' + + '' + + this.inRowButtonHtml({ + text: 'Load', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(110,45,160,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 40, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Load this shop', + callback: '!tntShop load ' + shopId + ' true' + }) + + '' + + '' + ); + }).join('') + : 'No database shops found.'; + const titleHtml = + '
' + + 'Database Shops' + + '' + + this.inRowButtonHtml({ + text: 'Load', + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(110,45,160,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + width: 42, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + uppercase: false, + tooltip: 'Load all', + callback: '!tntShop load all true' + }) + + '' + + '
'; + + return Html.card({ + title: 'Database Shops', + body: + '' + + '' + rows + '' + + '
', + buildOptions: { + titleHtml, + titleColor: CONFIG.DEFAULT_TEXT_STORE_NAME_COLOR, + titleLineColor: 'rgba(125, 40, 175, 0.85)' + } + }); + }, + + showItemCreateDraft(draft = {}, options = {}) { + const fields = ItemService.draftFields; + const blueprintSourceTokenId = String(options.sourceTokenId || options.detailsSourceTokenId || '').trim(); + const blueprintSourceName = String(options.sourceCharacterName || 'character sheet').trim(); + const draftItemName = String(draft.name || '').trim(); + const promptSafe = (rawValue = '') => String(rawValue === undefined || rawValue === null ? '' : rawValue) + .replace(/[|}]/g, ' ') + .replace(/[\r\n]+/g, ' ') + .trim(); + const fieldRows = fields.map((field) => { + const value = Object.prototype.hasOwnProperty.call(draft, field.key) ? draft[field.key] : field.defaultValue; + const displayValue = field.type === 'boolean' + ? (Utils.toBoolean(value, field.defaultValue) ? 'true' : 'false') + : (field.type === 'blueprint' + ? ItemService.getBlueprintDisplayValue(value) + : String(value === undefined || value === null || value === '' ? '-' : value)); + let button = ''; + if (field.type === 'blueprint') { + const canExtractBlueprint = !!(blueprintSourceTokenId && draftItemName); + const embedded = ItemService.hasEmbeddedBlueprint(value); + const inHandout = /^in handout$/i.test(String(displayValue || '').trim()); + if (canExtractBlueprint && !inHandout) { + button = this.inRowButtonHtml({ + text: embedded ? 'Updt' : 'Create', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: embedded ? 'rgba(30, 160, 0, 0.95)' : 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + uppercase: false, + tooltip: (embedded ? 'Update' : 'Create') + ' blueprint from ' + blueprintSourceName + ' Inventory', + callback: '!tntItem blueprint set ' + blueprintSourceTokenId + ' ' + draftItemName + }); + } else if (embedded) { + button = this.inRowButtonHtml({ + text: 'Clear', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + uppercase: false, + tooltip: 'Clear embedded blueprint', + callback: '!tntItem create set blueprint none' + }); + } else { + button = this.inRowButtonHtml({ + text: '-', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0, 0, 0, 0.75)', + borderColor: 'rgba(255,255,255,0.55)', + uppercase: false, + callback: '' + }); + } + } else if (field.type === 'boolean') { + button = this.inRowButtonHtml({ + text: displayValue === 'true' ? 'ON' : 'OFF', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: displayValue === 'true' ? 'rgba(10,122,0,0.92)' : 'rgba(95,95,95,0.9)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem create toggle ' + field.key + }); + } else { + button = this.inRowButtonHtml({ + text: 'Edit', + width: 35, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem create set ' + field.key + ' ?{' + Utils.escapeHtml(field.label) + '|' + Utils.escapeHtml(promptSafe(value)) + '}' + }); + } + + return ( + '' + + '' + + '' + Utils.escapeHtml(field.label) + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + + '' + Utils.escapeHtml(displayValue) + '' + + '' + button + '
' + + '' + + '' + ); + }).join(''); + + const footer = + '
' + + '
' + + this.inRowButtonHtml({ + text: 'Save', + width: 42, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(10,122,0,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem create save' + }) + + this.inRowButtonHtml({ + text: 'Reset', + width: 44, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(115,72,0,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem create reset' + }) + + this.inRowButtonHtml({ + text: 'Cancel', + width: 48, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem create cancel' + }) + + '
'; + + return Html.card({ + title: 'Create Item Draft', + body: + '' + + '' + fieldRows + '' + + '
' + + footer + }); + }, + + tokenSettingRow({ label = '', value = '', button = '', buttonTitle = '' } = {}) { + const shown = ['ON', 'OFF'].includes(String(value).toUpperCase()) ? '' : String(value || ''); + const titledButton = String(button || '').replace('' + + '' + + '' + Utils.escapeHtml(label) + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '
' + + '' + Utils.escapeHtml(shown) + '' + + '' + titledButton + '
' + + '' + + '' + ); + }, + + showTokenDefaultMenu(config = {}) { + const fields = TokenService.tokenDefaultFields; + const promptSafe = (rawValue = '') => String(rawValue === undefined || rawValue === null ? '' : rawValue) + .replace(/[|}]/g, ' ') + .replace(/[\r\n]+/g, ' ') + .trim(); + const displayTokenValue = (field, value) => { + if (field.type === 'boolean') return Utils.toBoolean(value, field.defaultValue) ? 'ON' : 'OFF'; + if (field.type === 'tint' || field.type === 'color') return value ? String(value) : 'None'; + if (field.type === 'percent') return Number(value || 0) > 0 ? (String(value) + '%') : 'None'; + return String(value === undefined || value === null || value === '' ? '-' : value); + }; + const fieldByKey = {}; + fields.forEach((field) => { fieldByKey[field.key] = field; }); + const sectionHeader = (title) => ( + '' + + '
' + Utils.escapeHtml(title) + '
' + + '
' + + '' + ); + const fieldLabel = (field) => field.key === 'blind_token_vision' ? 'Blind Player 1ft Vision' : field.label; + const renderFieldRow = (field) => { + const value = Object.prototype.hasOwnProperty.call(config, field.key) ? config[field.key] : field.defaultValue; + const displayValue = displayTokenValue(field, value); + const label = fieldLabel(field); + const button = field.type === 'boolean' + ? this.inRowButtonHtml({ + text: displayValue, + width: 34, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: displayValue === 'ON' ? 'rgba(10,122,0,0.92)' : 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntToken default toggle ' + field.key + }) + : this.inRowButtonHtml({ + text: 'Edit', + width: 34, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntToken default set ' + field.key + ' ?{' + Utils.escapeHtml(label) + '|' + Utils.escapeHtml(promptSafe(displayValue === 'None' || displayValue === '-' ? '' : displayValue)) + '}' + }); + return this.tokenSettingRow({ + label, + value: displayValue, + button, + buttonTitle: (field.type === 'boolean' ? 'Toggle ' : 'Edit ') + label + }); + }; + const sectionFields = (keys) => keys.map((key) => fieldByKey[key]).filter(Boolean).map(renderFieldRow); + const rows = [ + sectionHeader('General'), + ...sectionFields(['showplayers_name', 'showplayers_aura1', 'showplayers_aura2', 'public_rolls', 'lootable']), + sectionHeader('Token Bars'), + ...sectionFields(['showplayers_bar1', 'bar1_value', 'bar1_max', 'bar1_link', 'showplayers_bar2', 'bar2_value', 'bar2_max', 'bar2_link', 'showplayers_bar3', 'bar3_value', 'bar3_max', 'bar3_link']), + sectionHeader('Vision'), + ...sectionFields(['has_bright_light_vision', 'npc_has_vision', 'blind_token_vision', 'night_vision_tint', 'night_vision_effect']) + ].join(''); + + const footer = + '
' + + '
' + + this.inRowButtonHtml({ + text: 'Reset', + width: 44, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(115,72,0,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntToken default reset' + }) + + '
'; + + return Html.card({ + title: 'Token Default Setup', + body: + '' + + '' + + '' + rows + '' + + '
' + + footer + }); + }, + + showTokenEditMenu(token = null, character = null, tokenData = {}) { + const fields = TokenService.tokenEditFields; + const tokenName = token ? String(token.get('name') || (character && character.get('name')) || 'Token') : 'Token'; + const tokenRef = token ? R20.makeTokenRef(token) : ''; + const promptSafe = (rawValue = '') => String(rawValue === undefined || rawValue === null ? '' : rawValue) + .replace(/[|}]/g, ' ') + .replace(/[\r\n]+/g, ' ') + .trim(); + const displayValue = (field, value) => { + if (field.type === 'boolean') return Utils.toBoolean(value, !!field.defaultValue) ? 'ON' : 'OFF'; + if (field.type === 'tint' || field.type === 'color') return value ? String(value) : 'None'; + if (field.type === 'select') return String(value || field.defaultValue || ''); + if (value === undefined || value === null || value === '') return '-'; + return String(value); + }; + const fieldByKey = {}; + fields.forEach((field) => { fieldByKey[field.key] = field; }); + const sectionHeader = (title) => ( + '' + + '
' + Utils.escapeHtml(title) + '
' + + '
' + + '' + ); + const fieldLabel = (field) => field.key === 'showname' ? 'Name Visible' : field.label; + const renderFieldRow = (field) => { + const rawValue = TokenService.getTokenEditFieldValue(token, field, tokenData); + const shown = displayValue(field, rawValue); + const label = fieldLabel(field); + const button = field.type === 'boolean' + ? this.inRowButtonHtml({ + text: shown, + width: 34, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: shown === 'ON' ? 'rgba(10,122,0,0.92)' : 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntToken edit toggle ' + field.key + ' ' + tokenRef + }) + : this.inRowButtonHtml({ + text: 'Edit', + width: 34, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,150,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntToken edit set ' + field.key + ' ' + tokenRef + ' ?{' + Utils.escapeHtml(label) + '|' + Utils.escapeHtml(promptSafe(shown === 'None' || shown === '-' ? '' : shown)) + '}' + }); + return this.tokenSettingRow({ + label, + value: shown, + button, + buttonTitle: (field.type === 'boolean' ? 'Toggle ' : 'Edit ') + label + }); + }; + const sectionFields = (keys) => keys.map((key) => fieldByKey[key]).filter(Boolean).map(renderFieldRow); + const rows = [ + sectionHeader('General'), + ...sectionFields(['name', 'showname', 'showplayers_name', 'imgsrc', 'width', 'height', 'controlledby', 'isItem', 'lootable', 'isChest']), + sectionHeader('Token Bars'), + ...sectionFields(['showplayers_bar1', 'bar1_value', 'bar1_max', 'bar1_link', 'showplayers_bar2', 'bar2_value', 'bar2_max', 'bar2_link', 'showplayers_bar3', 'bar3_value', 'bar3_max', 'bar3_link']), + sectionHeader('Aura'), + ...sectionFields(['showplayers_aura1', 'aura1_radius', 'aura1_color', 'aura1_square', 'showplayers_aura2', 'aura2_radius', 'aura2_color', 'aura2_square']), + sectionHeader('Vision'), + ...sectionFields(['has_bright_light_vision', 'has_night_vision', 'night_vision_distance', 'night_vision_effect', 'night_vision_tint', 'emits_bright_light', 'bright_light_distance', 'emits_low_light', 'low_light_distance', 'lightAmplitude']) + ].join(''); + + return Html.card({ + title: 'Token Edit', + body: + '' + + '' + + '' + rows + '' + + '
', + buildOptions: { + titleHtml: Utils.escapeHtml(tokenName) + ' Token Edit', + titleColor: CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + } + }); + }, + + inventorySectionOrder() { + return ['Potions', 'Ammo', 'Weapons', 'Armor', 'Adventuring Gear']; + }, + + inventorySectionName(item = {}) { + const type = String(item.type || '').trim().toLowerCase().replace(/\s+/g, ' '); + if (type === 'potion') return 'Potions'; + if (type === 'ammo' || type === 'ammunition') return 'Ammo'; + if (type.indexOf('weapon') >= 0) return 'Weapons'; + if (type === 'armor' || type.indexOf('armor') >= 0) return 'Armor'; + return 'Adventuring Gear'; + }, + + showItemsList(items = [], options = {}) { + const safeItems = Array.isArray(items) ? items : []; + const title = String(options.title || 'Items Catalog'); + const emptyText = String(options.emptyText || 'No items found in catalog.'); + const walletHtml = Utils.isNonEmptyString(options.walletHtml) ? String(options.walletHtml) : ''; + const rowOptions = { + menuType: options.menuType || 'store', + fontSize: options.fontSize, + imageSize: options.imageSize, + rowHeight: options.rowHeight, + sourceTokenId: options.sourceTokenId, + buyerTokenId: options.buyerTokenId, + shopId: options.shopId, + hidePrice: options.hidePrice, + hasStock: options.hasStock, + isGM: !!options.isGM + }; + const itemTable = (rows) => ( + '' + + '' + rows + '' + + '
' + ); + const sectionHeader = (section) => ( + '
' + + '
' + Utils.escapeHtml(section) + '
' + + '
' + + '
' + ); + + let itemsHtml = ''; + if (safeItems.length && (rowOptions.menuType === 'inventory' || rowOptions.menuType === 'template')) { + const inventorySectionOrder = this.inventorySectionOrder(); + const inventoryGroups = {}; + inventorySectionOrder.forEach((section) => { inventoryGroups[section] = []; }); + for (let i = 0; i < safeItems.length; i += 1) { + const item = safeItems[i]; + inventoryGroups[this.inventorySectionName(item)].push(item); + } + itemsHtml = inventorySectionOrder + .filter((section) => inventoryGroups[section].length) + .map((section) => ({ section, items: inventoryGroups[section] })) + .map((group) => sectionHeader(group.section) + itemTable(group.items.map((item) => this.showItemInRowHtml(item, rowOptions)).join(''))) + .join(''); + } else { + const rows = safeItems.length + ? safeItems.map((item) => this.showItemInRowHtml(item, rowOptions)).join('') + : '' + Utils.escapeHtml(emptyText) + ''; + itemsHtml = itemTable(rows); + } + const tableBody = + walletHtml + + itemsHtml + + (rowOptions.menuType === 'inventory' ? this.inventoryFooterControls(rowOptions.sourceTokenId, options.inventoryState || {}) : ''); + + const cardBuildOptions = Object.assign({}, options.buildOptions || {}); + if (Utils.isNonEmptyString(options.titleHtml)) { + cardBuildOptions.titleHtml = options.titleHtml; + if (!cardBuildOptions.titleAlign) cardBuildOptions.titleAlign = 'left'; + } + + return Html.card({ + title: title, + body: tableBody, + buildOptions: cardBuildOptions + }); + }, + + tokenActionRow(name, damageHtml, button, width = 50, options = {}) { + const tooltip = String(options.tooltip || '').trim(); + const buttonWidth = Math.max(0, Utils.toInt(options.buttonWidth, 50)); + const rowHeight = Math.max(20, Utils.toInt(options.rowHeight, 28)); + const nameText = Utils.escapeHtml(String(name || '').trim()); + const nameHtml = tooltip + ? '' + nameText + '' + : '' + nameText + ''; + return ( + '' + + '' + + nameHtml + + '' + + '' + + damageHtml + + '' + + '' + + button + + '' + + '' + ); + }, + + tokenSpellComponentsHtml(spell = {}) { + const raw = String(spell.spellComponents || spell.spellcomp || '').trim().toLowerCase(); + const materials = String(spell.spellComponentMaterials || spell.spellcompMaterials || '').trim(); + const has = (letter) => raw.indexOf('{{' + letter + '=1}}') >= 0 || raw.indexOf(letter) >= 0; + const parts = []; + if (has('v')) parts.push('V'); + if (has('s')) parts.push('S'); + if (has('m')) { + const materialTip = 'Material' + (materials ? ': ' + materials : ''); + parts.push('M'); + } + return parts.length ? '[' + parts.join(' ') + ']' : ''; + }, + + tokenSpellInfoRow(spell = {}) { + const components = this.tokenSpellComponentsHtml(spell); + const range = String(spell.spellRange || spell.spellrange || '').trim(); + const schoolRaw = String(spell.spellSchool || spell.spellschool || '').trim(); + const school = schoolRaw ? (schoolRaw.charAt(0).toUpperCase() + schoolRaw.slice(1).toLowerCase()) : ''; + const duration = String(spell.spellDuration || spell.spellduration || '').trim(); + const info = []; + if (components) info.push(components); + if (range) info.push('[' + Utils.escapeHtml(range) + ']'); + if (school) info.push('[' + Utils.escapeHtml(school) + ']'); + if (duration) info.push('[' + Utils.escapeHtml(duration) + ']'); + if (!info.length) return ''; + return ( + '' + + '' + + info.join(' ') + + '' + + '' + ); + }, + + tokenRefreshFooter(buttonHtml = '') { + const safeButtonHtml = String(buttonHtml || '').trim(); + if (!safeButtonHtml) return ''; + return ( + '
' + + safeButtonHtml + + '
' + ); + }, + + tokenActionCardTitle(tokenName = '', label = '', labelColor = 'rgb(215,47,47)', options = {}) { + const imgsrc = String(options.imgsrc || '').trim(); + const stats = Array.isArray(options.stats) ? options.stats : []; + const imageHtml = TokenService.isRoll20TokenImageSource(imgsrc) + ? ( + '' + + '' + + '' + ) + : ''; + const statRow = (icon, value, color) => ( + '
' + + '' + icon + '' + + '' + Utils.escapeHtml(String(value === undefined || value === null || value === '' ? '-' : value)) + '' + + '
' + ); + const statsHtml = stats.slice(0, 2).map((stat) => statRow( + String(stat.icon || ''), + stat.value, + String(stat.color || 'rgb(210,210,210)') + )).join(''); + + return ( + '' + + '' + + imageHtml + + '' + + '' + + '' + + '
' + + '
' + + Utils.escapeHtml(String(tokenName || 'Character')) + + '
' + + '
' + + Utils.escapeHtml(String(label || 'Actions')) + + '
' + + '
' + + statsHtml + + '
' + ); + }, + + showTokenAttackActionCard(attacks = [], options = {}) { + const characterId = String(options.characterId || '').trim(); + const tokenName = String(options.tokenName || options.title || 'Character'); + const tokenRef = String(options.tokenRef || options.tokenId || '').trim(); + const headerStats = options.headerStats || {}; + const strMod = String(headerStats.strMod || '').trim(); + const dexMod = String(headerStats.dexMod || '').trim(); + const rows = (Array.isArray(attacks) ? attacks : []) + .filter((attack) => String(attack.atkAttrBase || '').trim().toLowerCase() !== 'spell') + .map((attack) => this.tokenActionRow( + attack.attackName || attack.name || 'Attack', + this.tokenAttackDamageButton(attack, characterId, { tokenRef }), + this.tokenAttackButton(attack, characterId, { tokenRef }), + 45, + { buttonWidth: 39, rowHeight: 37 } + )); + + if (!rows.length) return ''; + const refreshFooter = this.tokenRefreshFooter(this.tokenRefreshButton({ + tokenRef, + action: 'refreshattacks', + backgroundColor: 'rgba(45,45,45,0.95)', + tooltip: 'Refresh attack list' + })); + return Html.card({ + title: tokenName + '\'s Attacks', + body: + '' + + '' + rows.join('') + '' + + '
' + + refreshFooter, + buildOptions: { + titleHtml: this.tokenActionCardTitle(tokenName, 'Attack List', 'rgb(215,47,47)', { + imgsrc: options.imgsrc, + stats: [ + { icon: '💪', value: strMod || '-', color: 'rgb(234, 221, 41)' }, + { icon: '🎯', value: dexMod || '-', color: 'rgb(84,186,255)' } + ] + }) + } + }); + }, + + showTokenSpellActionCard(spells = [], options = {}) { + const safeSpells = Array.isArray(spells) ? spells : []; + const tokenName = String(options.tokenName || options.title || 'Character'); + const tokenRef = String(options.tokenRef || options.tokenId || '').trim(); + const characterId = String(options.characterId || '').trim(); + const tokenId = String(options.tokenId || '').trim(); + const headerStats = options.headerStats || {}; + const spellSlots = options.spellSlots && typeof options.spellSlots === 'object' ? options.spellSlots : {}; + const spellAttackBonus = String(headerStats.spellAttackBonus || '').trim(); + const spellSaveDc = String(headerStats.spellSaveDc || '').trim(); + const spellStats = spellAttackBonus || spellSaveDc + ? [ + { icon: '💫', value: spellAttackBonus || '-', color: 'rgb(190,110,255)' }, + { icon: '💥', value: spellSaveDc || '-', color: 'rgb(220,65,65)' } + ] + : []; + const spellLevelLabel = (level) => { + const normalized = TokenService.normalizeSpellLevel(level); + if (normalized === 'cantrip') return 'Cantrips'; + const slots = Object.prototype.hasOwnProperty.call(spellSlots, normalized) + ? Utils.toInt(spellSlots[normalized], 0) + : 0; + return '[' + String(slots) + ' Slots] Level ' + normalized; + }; + const rows = []; + let lastSpellLevel = null; + safeSpells.forEach((spell) => { + const spellLevelValue = spell.spellLevel !== undefined && spell.spellLevel !== null ? spell.spellLevel : spell.level; + const spellLevel = TokenService.normalizeSpellLevel(spellLevelValue); + if (spellLevel !== lastSpellLevel) { + rows.push( + '' + + Utils.escapeHtml(spellLevelLabel(spellLevel)) + + '' + ); + lastSpellLevel = spellLevel; + } + rows.push(this.tokenActionRow( + spell.spellName || spell.name || 'Spell', + this.tokenSpellDamageButton(spell, characterId), + this.tokenSpellButton(spell, { characterId, tokenId }), + 78, + { tooltip: String(spell.spellDescription || spell.spelldescription || '').trim() } + )); + const infoRow = this.tokenSpellInfoRow(spell); + if (infoRow) rows.push(infoRow); + }); + if (!rows.length) return ''; + const refreshFooter = this.tokenRefreshFooter(this.tokenRefreshButton({ + tokenRef, + action: 'refreshspells', + backgroundColor: 'rgba(110,45,160,0.95)', + tooltip: 'Refresh spell list' + })); + return Html.card({ + title: tokenName + ' Spells', + body: + '' + + '' + rows.join('') + '' + + '
' + + refreshFooter, + buildOptions: { + titleHtml: this.tokenActionCardTitle(tokenName, 'Spell List', 'rgb(150,80,220)', { + imgsrc: options.imgsrc, + stats: spellStats + }) + } + }); + } + }; + + /** ----------------------------------------------------------------------- + * @section Token Service + * --------------------------------------------------------------------- */ + const TokenService = { + managedAbilityNames: Object.freeze([ + 'Inventory', + 'Shop', + 'Search', + 'Initiative', + 'Ability-Check', + 'Saving-Throw', + 'Skill-Check', + 'Combat', + 'Spells', + 'Attacks' + ]), + + repeatingConfigs: Object.freeze({ + attack: Object.freeze({ + prefix: 'repeating_attack', + nameSuffix: 'atkname', + idSuffix: 'id', + listAttribute: 'user.T&T_attack_list', + nameKey: 'attackName', + idKey: 'attackId', + extraFields: Object.freeze({ + dmgBase: 'dmgbase', + dmgMod: 'dmgmod', + dmgType: 'dmgtype', + atkProfFlag: ['atkprofflag', 'atkprof_flag', 'atk_prof_flag'], + atkAttrBase: 'atkattr_base', + saveFlag: ['saveflag', 'save_flag'], + saveAttr: ['saveattr', 'save_attr'] + }), + fallbackName: 'Attack' + }), + spell: Object.freeze({ + prefix: 'repeating_spell', + nameSuffix: 'spellname', + idSuffix: 'id', + listAttribute: 'user.T&T_spell_list', + nameKey: 'spellName', + idKey: 'spellId', + extraFields: Object.freeze({ + spellLevel: 'spelllevel', + spellClass: 'spellclass', + spellDamageType: 'spelldamagetype', + spellDamage: 'spelldamage', + spellSave: 'spellsave', + spellRange: 'spellrange', + spellComponents: 'spellcomp', + spellSchool: 'spellschool', + spellDuration: 'spellduration', + spellComponentMaterials: 'spellcomp_materials', + spellDescription: 'spelldescription', + }), + fallbackName: 'Spell' + }) + }), + + tokenDefaultFields: Object.freeze([ + { key: 'showplayers_name', label: 'Show Name to Players', type: 'boolean', defaultValue: true }, + { key: 'showplayers_bar1', label: 'Show Bar1 to Players', type: 'boolean', defaultValue: true }, + { key: 'bar1_value', label: 'Bar1 Value', type: 'number', defaultValue: '' }, + { key: 'bar1_max', label: 'Bar1 Max', type: 'number', defaultValue: '' }, + { key: 'bar1_link', label: 'Bar1 Linked to', type: 'text', defaultValue: 'hp' }, + { key: 'showplayers_bar2', label: 'Show Bar2 to Players', type: 'boolean', defaultValue: false }, + { key: 'bar2_value', label: 'Bar2 Value', type: 'number', defaultValue: '' }, + { key: 'bar2_max', label: 'Bar2 Max', type: 'number', defaultValue: '' }, + { key: 'bar2_link', label: 'Bar2 Linked to', type: 'text', defaultValue: 'ac' }, + { key: 'showplayers_bar3', label: 'Show Bar3 to Players', type: 'boolean', defaultValue: true }, + { key: 'bar3_value', label: 'Bar3 Value', type: 'number', defaultValue: '' }, + { key: 'bar3_max', label: 'Bar3 Max', type: 'number', defaultValue: '' }, + { key: 'bar3_link', label: 'Bar3 Linked to', type: 'text', defaultValue: 'hp_temp' }, + { key: 'showplayers_aura1', label: 'Show Aura1 to Player', type: 'boolean', defaultValue: true }, + { key: 'showplayers_aura2', label: 'Show Aura2 to Player', type: 'boolean', defaultValue: true }, + { key: 'has_bright_light_vision', label: 'Has Vision', type: 'boolean', defaultValue: true }, + { key: 'npc_has_vision', label: 'NPC Has Vision', type: 'boolean', defaultValue: false }, + { key: 'blind_token_vision', label: 'Blind Token 1ft Vision', type: 'boolean', defaultValue: true }, + { key: 'public_rolls', label: 'Public Rolls', type: 'boolean', defaultValue: true }, + { key: 'night_vision_tint', label: 'Night Vision Tint', type: 'tint', defaultValue: null }, + { key: 'night_vision_effect', label: 'Night Vision Effect', type: 'text', defaultValue: 'Nocturnal' }, + { key: 'lootable', label: 'Lootable', type: 'boolean', defaultValue: false } + ]), + + tokenEditFields: Object.freeze([ + { key: 'name', label: 'Token Name', type: 'text', defaultValue: '' }, + { key: 'imgsrc', label: 'IMG Source', type: 'text', defaultValue: '' }, + { key: 'width', label: 'Width', type: 'number', defaultValue: 70 }, + { key: 'height', label: 'Height', type: 'number', defaultValue: 70 }, + { key: 'controlledby', label: 'Controlled By', type: 'text', defaultValue: '' }, + { key: 'isItem', label: 'Is Item', type: 'boolean', defaultValue: false }, + { key: 'lootable', label: 'Lootable', type: 'boolean', defaultValue: false }, + { key: 'isChest', label: 'Is Chest', type: 'boolean', defaultValue: false }, + { key: 'showname', label: 'Show Name', type: 'boolean', defaultValue: true }, + { key: 'showplayers_name', label: 'Show Name to Players', type: 'boolean', defaultValue: true }, + { key: 'showplayers_bar1', label: 'Show Bar1 to Players', type: 'boolean', defaultValue: true }, + { key: 'bar1_value', label: 'Bar1 Value', type: 'number', defaultValue: '' }, + { key: 'bar1_max', label: 'Bar1 Max', type: 'number', defaultValue: '' }, + { key: 'bar1_link', label: 'Bar1 Linked to', type: 'text', defaultValue: 'hp' }, + { key: 'showplayers_bar2', label: 'Show Bar2 to Players', type: 'boolean', defaultValue: false }, + { key: 'bar2_value', label: 'Bar2 Value', type: 'number', defaultValue: '' }, + { key: 'bar2_max', label: 'Bar2 Max', type: 'number', defaultValue: '' }, + { key: 'bar2_link', label: 'Bar2 Linked to', type: 'text', defaultValue: 'ac' }, + { key: 'showplayers_bar3', label: 'Show Bar3 to Players', type: 'boolean', defaultValue: true }, + { key: 'bar3_value', label: 'Bar3 Value', type: 'number', defaultValue: '' }, + { key: 'bar3_max', label: 'Bar3 Max', type: 'number', defaultValue: '' }, + { key: 'bar3_link', label: 'Bar3 Linked to', type: 'text', defaultValue: 'hp_temp' }, + { key: 'showplayers_aura1', label: 'Show Aura1 to Players', type: 'boolean', defaultValue: true }, + { key: 'showplayers_aura2', label: 'Show Aura2 to Players', type: 'boolean', defaultValue: true }, + { key: 'aura1_radius', label: 'Aura1 Radius', type: 'text', defaultValue: '' }, + { key: 'aura1_color', label: 'Aura1 Color', type: 'color', defaultValue: '' }, + { key: 'aura1_square', label: 'Aura1 Square', type: 'boolean', defaultValue: false }, + { key: 'aura1_options', label: 'Aura1 Options', type: 'text', defaultValue: '' }, + { key: 'aura2_radius', label: 'Aura2 Radius', type: 'text', defaultValue: '' }, + { key: 'aura2_color', label: 'Aura2 Color', type: 'color', defaultValue: '' }, + { key: 'aura2_square', label: 'Aura2 Square', type: 'boolean', defaultValue: false }, + { key: 'aura2_options', label: 'Aura2 Options', type: 'text', defaultValue: '' }, + { key: 'has_bright_light_vision', label: 'Has Vision', type: 'boolean', defaultValue: true }, + { key: 'has_night_vision', label: 'Has Night Vision', type: 'boolean', defaultValue: false }, + { key: 'night_vision_distance', label: 'Night Vision Range', type: 'number', defaultValue: 0 }, + { key: 'night_vision_effect', label: 'Night Vision Effect', type: 'text', defaultValue: 'Nocturnal' }, + { key: 'night_vision_tint', label: 'Night Vision Tint', type: 'tint', defaultValue: null }, + { key: 'emits_bright_light', label: 'Emit Bright Light', type: 'boolean', defaultValue: false }, + { key: 'bright_light_distance', label: 'Bright Light', type: 'number', defaultValue: 0 }, + { key: 'emits_low_light', label: 'Emit Dim Light', type: 'boolean', defaultValue: false }, + { key: 'low_light_distance', label: 'Dim Light', type: 'number', defaultValue: 0 }, + { key: 'lightAmplitude', label: 'Light Amplitude', type: 'number', defaultValue: 0 } + ]), + + getTokenDefaultField(fieldKey = '') { + const key = String(fieldKey || '').trim(); + return this.tokenDefaultFields.find((field) => field.key === key) || null; + }, + + getTokenEditField(fieldKey = '') { + const key = String(fieldKey || '').trim(); + return this.tokenEditFields.find((field) => field.key === key) || null; + }, + + getTokenEditFieldValue(token = null, field = {}, tokenData = {}) { + if (!token || !field || !Utils.isFunction(token.get)) return field ? field.defaultValue : ''; + const tokenDetails = this.getFastTokenDetails(tokenData); + if (['isItem', 'lootable', 'isChest'].includes(field.key)) { + return Object.prototype.hasOwnProperty.call(tokenDetails, field.key) + ? tokenDetails[field.key] + : field.defaultValue; + } + if (field.key === 'lightAmplitude') { + const hasDirectional = Utils.toBoolean(token.get('has_directional_bright_light'), false) || + Utils.toBoolean(token.get('has_directional_dim_light'), false); + if (hasDirectional) { + return Math.max( + 0, + Utils.toInt(token.get('directional_bright_light_total'), 0) || + Utils.toInt(token.get('directional_dim_light_total'), 0) + ); + } + return Math.max(0, Utils.toInt(tokenDetails.lightAmplitude, 0)); + } + if (['bar1_link', 'bar2_link', 'bar3_link'].includes(field.key)) { + const attrId = String(token.get(field.key) || '').trim(); + const attr = attrId ? getObj('attribute', attrId) : null; + return attr ? String(attr.get('name') || attrId) : attrId; + } + return token.get(field.key); + }, + + normalizeTokenTint(value = '') { + const raw = String(value === undefined || value === null ? '' : value).trim(); + if (!raw || raw.toLowerCase() === 'none' || raw === '0') return null; + const hex = raw.charAt(0) === '#' ? raw.slice(1) : raw; + return /^[0-9a-fA-F]{6}$/.test(hex) ? ('#' + hex.toUpperCase()) : null; + }, + + normalizeTokenEditValue(field = {}, value = '') { + if (!field) return value; + if (field.type === 'boolean') return Utils.toBoolean(value, !!field.defaultValue); + if (field.type === 'number') return Math.max(0, Number(value) || 0); + if (field.type === 'tint' || field.type === 'color') return this.normalizeTokenTint(value); + if (field.type === 'select' && field.key === 'lightShape') return this.normalizeLightShape(value); + const text = String(value === undefined || value === null ? '' : value).trim(); + if ((field.type === 'tint' || field.type === 'color') && text.toLowerCase() === 'none') return null; + return text; + }, + + normalizeTokenDefaultValue(field = {}, value = '') { + if (!field) return value; + if (field.type === 'boolean') return Utils.toBoolean(value, !!field.defaultValue); + if (field.type === 'number') { + const raw = String(value === undefined || value === null ? '' : value).trim(); + if (!raw) return ''; + return Number(raw) || 0; + } + if (field.type === 'percent') { + const raw = String(value === undefined || value === null ? '' : value).replace('%', '').trim(); + const numeric = Math.max(0, Math.min(100, Number(raw) || 0)); + return numeric; + } + if (field.type === 'tint' || field.type === 'color') return this.normalizeTokenTint(value); + return String(value === undefined || value === null ? '' : value).trim(); + }, + + normalizeTokenDefaultConfig(config = {}) { + const source = (config && typeof config === 'object' && !Array.isArray(config)) ? config : {}; + const out = {}; + for (let i = 0; i < this.tokenDefaultFields.length; i += 1) { + const field = this.tokenDefaultFields[i]; + let value = Object.prototype.hasOwnProperty.call(source, field.key) ? source[field.key] : field.defaultValue; + if (field.key === 'night_vision_effect' && !Object.prototype.hasOwnProperty.call(source, field.key) && Object.prototype.hasOwnProperty.call(source, 'night_vision_dim')) { + const dim = Math.max(0, Math.min(100, Number(source.night_vision_dim) || 0)); + value = dim > 0 ? ('Dimming_' + (dim / 100)) : field.defaultValue; + } + out[field.key] = this.normalizeTokenDefaultValue(field, value); + } + return out; + }, + + async getTokenDefaultConfig() { + const database = await InventoryService.readPortableDatabase(CONFIG.PORTABLE_DATABASE_HANDOUT, 'notes', { createIfMissing: true }); + return this.normalizeTokenDefaultConfig(database.payload.tokenDefaults || {}); + }, + + async updateTokenDefaultConfig(fieldKey = '', value = '') { + const field = this.getTokenDefaultField(fieldKey); + if (!field) return { ok: false, message: 'Unknown token default field: ' + fieldKey + '.' }; + const database = await InventoryService.readPortableDatabase(CONFIG.PORTABLE_DATABASE_HANDOUT, 'notes', { createIfMissing: true }); + const config = this.normalizeTokenDefaultConfig(database.payload.tokenDefaults || {}); + config[field.key] = this.normalizeTokenDefaultValue(field, value); + database.payload.tokenDefaults = config; + await InventoryService.writePortableDatabase(database.payload, database.handoutRef, database.field); + return { ok: true, config }; + }, + + async toggleTokenDefaultConfig(fieldKey = '') { + const field = this.getTokenDefaultField(fieldKey); + if (!field || field.type !== 'boolean') return { ok: false, message: 'Field is not toggleable: ' + fieldKey + '.' }; + const database = await InventoryService.readPortableDatabase(CONFIG.PORTABLE_DATABASE_HANDOUT, 'notes', { createIfMissing: true }); + const config = this.normalizeTokenDefaultConfig(database.payload.tokenDefaults || {}); + config[field.key] = !Utils.toBoolean(config[field.key], !!field.defaultValue); + database.payload.tokenDefaults = config; + await InventoryService.writePortableDatabase(database.payload, database.handoutRef, database.field); + return { ok: true, config }; + }, + + async resetTokenDefaultConfig() { + const database = await InventoryService.readPortableDatabase(CONFIG.PORTABLE_DATABASE_HANDOUT, 'notes', { createIfMissing: true }); + const config = this.normalizeTokenDefaultConfig({}); + database.payload.tokenDefaults = config; + await InventoryService.writePortableDatabase(database.payload, database.handoutRef, database.field); + return { ok: true, config }; + }, + + getCharacterAttributes(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + return findObjs({ + _type: 'attribute', + _characterid: safeCharacterId + }) || []; + }, + + getAttributeCurrent(attribute) { + if (!attribute || !Utils.isFunction(attribute.get)) return ''; + return String(attribute.get('current') || '').trim(); + }, + + findCharacterAttribute(characterId = '', attributeName = '') { + const safeCharacterId = String(characterId || '').trim(); + const key = String(attributeName || '').trim().toLowerCase(); + if (!safeCharacterId || !key) return null; + + const attributes = this.getCharacterAttributes(safeCharacterId); + return attributes.find((attribute) => String(attribute.get('name') || '').trim().toLowerCase() === key) || null; + }, + + getInitializationMarkerAttribute(characterId = '') { + return this.findCharacterAttribute(characterId, 'T&T'); + }, + + isCharacterInitialized(characterId = '') { + const attr = this.getInitializationMarkerAttribute(characterId); + return !!attr && String(attr.get('current') || '').trim().toLowerCase() === 'initialized'; + }, + + setInitializationMarker(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + const existing = this.getInitializationMarkerAttribute(safeCharacterId); + if (existing && Utils.isFunction(existing.set)) { + existing.set({ current: 'initialized', max: '' }); + return { ok: true, action: 'updated', attribute: existing }; + } + const attr = createObj('attribute', { + _characterid: safeCharacterId, + characterid: safeCharacterId, + name: 'T&T', + current: 'initialized', + max: '' + }); + return attr ? { ok: true, action: 'created', attribute: attr } : { ok: false, message: 'Unable to create initialization marker.' }; + }, + + clearInitializationMarker(characterId = '') { + const attr = this.getInitializationMarkerAttribute(characterId); + return attr ? this.removeObject(attr) : false; + }, + + getRepeatingConfig(type = '') { + return this.repeatingConfigs[String(type || '').trim().toLowerCase()] || null; + }, + + buildRepeatingListValue(entries = [], type = '') { + const config = this.getRepeatingConfig(type); + if (!config) return ''; + + const safeEntries = Array.isArray(entries) ? entries : []; + const extraFields = config.extraFields || {}; + const extraKeys = Object.keys(extraFields); + return safeEntries + .filter((entry) => entry && entry[config.nameKey] && entry[config.idKey]) + .filter((entry) => type !== 'attack' || String(entry.atkAttrBase || '').trim().toLowerCase() !== 'spell') + .map((entry) => { + if (type === 'attack') { + return JSON.stringify(String(entry[config.nameKey])) + ':' + + JSON.stringify(String(entry[config.idKey])) + ':' + + JSON.stringify(this.formatRepeatingAttackDamage(entry)) + ':' + + JSON.stringify(String(entry.dmgType || '')) + ':' + + JSON.stringify(String(entry.attackBonus || '')) + ':' + + JSON.stringify(String(entry.saveFlag || '')) + ':' + + JSON.stringify(String(entry.saveAttr || '')) + ':' + + JSON.stringify(String(entry.atkProfFlag || '')) + ':' + + JSON.stringify(String(entry.saveDc || '')) + ':' + + JSON.stringify(this.isPositiveFlag(entry.autoHit || '') ? '1' : '') + ':' + + JSON.stringify(String(entry.damageAbilityMod || '')) + ':' + + JSON.stringify(String(entry.attackDescription || '')) + ':' + + JSON.stringify(String(entry.attackAbilityMod || '')) + ':' + + JSON.stringify(String(entry.attackExtraBonus || '')) + ':' + + JSON.stringify(String(entry.damageFlatBonus || '')) + ':' + + JSON.stringify(String(entry.abilityModSource || entry.attackAbilityName || '')) + ':' + + JSON.stringify(JSON.stringify(Array.isArray(entry.damageParts) ? entry.damageParts : [])); + } + + if (type === 'spell') { + return JSON.stringify(String(entry[config.nameKey])) + ':' + + JSON.stringify(String(entry[config.idKey])) + ':' + + JSON.stringify(this.normalizeSpellLevel(entry.spellLevel)) + ':' + + JSON.stringify(String(entry.spellClass || '')) + ':' + + JSON.stringify(String(entry.spellDamageType || '')) + ':' + + JSON.stringify(String(entry.spellDamage || '')) + ':' + + JSON.stringify(String(entry.spellSave || '')) + ':' + + JSON.stringify(String(entry.spellAttackBonus || '')) + ':' + + JSON.stringify(String(entry.spellSaveDc || '')) + ':' + + JSON.stringify(String(entry.spellcastingAbility || '')) + ':' + + JSON.stringify(String(entry.spellcastingMod || '')) + ':' + + JSON.stringify(String(entry.spellRange || '')) + ':' + + JSON.stringify(String(entry.spellComponents || '')) + ':' + + JSON.stringify(String(entry.spellSchool || '')) + ':' + + JSON.stringify(String(entry.spellDuration || '')) + ':' + + JSON.stringify(String(entry.spellComponentMaterials || '')) + ':' + + JSON.stringify(String(entry.spellDescription || '')) + ':' + + JSON.stringify(String(entry.spellSource || entry.spellClass || '')); + } + + if (extraKeys.length) { + const payload = { + id: String(entry[config.idKey]) + }; + for (let i = 0; i < extraKeys.length; i += 1) { + const key = extraKeys[i]; + const value = String(entry[key] || '').trim(); + if (value) payload[key] = value; + } + return JSON.stringify(String(entry[config.nameKey])) + ':' + JSON.stringify(payload); + } + + return JSON.stringify(String(entry[config.nameKey])) + ':' + JSON.stringify(String(entry[config.idKey])); + }) + .join(','); + }, + + formatRepeatingAttackDamage(entry = {}) { + const dmgBase = String(entry.dmgBase || '').trim(); + const dmgMod = this.simplifyModifierExpression(entry.dmgMod || ''); + if (!dmgBase && !dmgMod) return ''; + if (!dmgBase) return this.compactDamageText(dmgMod); + if (!dmgMod || dmgMod === '0' || dmgMod === '+0') return this.simplifyDamageFormula(dmgBase); + return this.simplifyDamageFormula(dmgBase + (dmgMod.charAt(0) === '-' ? '-' + dmgMod.slice(1) : '+' + dmgMod.replace(/^\+/, ''))); + }, + + compactDamageText(value = '') { + return String(value || '').trim().replace(/\s*([+-])\s*/g, '$1'); + }, + + simplifyDamageFormula(value = '') { + const compact = this.compactDamageText(value); + const match = compact.match(/^([^+-]+)((?:[+-]\d+)+)$/); + if (!match) return compact; + + const total = (match[2].match(/[+-]\d+/g) || []) + .reduce((sum, part) => sum + Utils.toInt(part, 0), 0); + if (/^[+-]?\d+$/.test(match[1])) return String(Utils.toInt(match[1], 0) + total); + if (total === 0) return match[1]; + return match[1] + (total > 0 ? ('+' + String(total)) : String(total)); + }, + + simplifyModifierExpression(value = '') { + const raw = String(value || '').trim(); + if (!raw) return ''; + + const numericParts = raw.match(/[+-]?\s*\d+/g); + const strippedNumeric = raw.replace(/[+-]?\s*\d+/g, '').replace(/[+\-\s]/g, ''); + if (numericParts && numericParts.length && !strippedNumeric) { + const total = numericParts.reduce((sum, part) => sum + Utils.toInt(String(part).replace(/\s+/g, ''), 0), 0); + if (total === 0) return ''; + return total > 0 ? ('+' + String(total)) : String(total); + } + + return raw; + }, + + normalizeSpellLevel(value = '') { + const text = value === undefined || value === null ? '' : String(value).trim().toLowerCase(); + if (!text) return '1'; + if (text === '0' || text.indexOf('cantrip') >= 0) return 'cantrip'; + const numeric = Utils.toInt(text, 1); + return String(Utils.clamp(numeric, 1, 9)); + }, + + parseInlineRepeatingTriples(raw = '', type = '') { + const config = this.getRepeatingConfig(type); + if (!config) return []; + + const source = String(raw || '').trim(); + if (!source) return []; + + const entries = []; + const pattern = /"((?:\\.|[^"\\])*)"\s*:\s*"((?:\\.|[^"\\])*)"\s*:\s*"((?:\\.|[^"\\])*)"(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?/g; + let match; + + while ((match = pattern.exec(source)) !== null) { + let name = ''; + let id = ''; + let level = ''; + let spellClass = ''; + let spellDamageType = ''; + let spellDamage = ''; + let spellSave = ''; + let spellAttackBonus = ''; + let spellSaveDc = ''; + let spellcastingAbility = ''; + let spellcastingMod = ''; + let spellRange = ''; + let spellComponents = ''; + let spellSchool = ''; + let spellDuration = ''; + let spellComponentMaterials = ''; + let spellDescription = ''; + let spellSource = ''; + try { name = JSON.parse('"' + match[1] + '"'); } catch (error) { name = match[1]; } + try { id = JSON.parse('"' + match[2] + '"'); } catch (error) { id = match[2]; } + try { level = JSON.parse('"' + match[3] + '"'); } catch (error) { level = match[3]; } + if (match[4] !== undefined) { + try { spellClass = JSON.parse('"' + match[4] + '"'); } catch (error) { spellClass = match[4]; } + } + if (match[5] !== undefined) { + try { spellDamageType = JSON.parse('"' + match[5] + '"'); } catch (error) { spellDamageType = match[5]; } + } + if (match[6] !== undefined) { + try { spellDamage = JSON.parse('"' + match[6] + '"'); } catch (error) { spellDamage = match[6]; } + } + if (match[7] !== undefined) { + try { spellSave = JSON.parse('"' + match[7] + '"'); } catch (error) { spellSave = match[7]; } + } + if (match[8] !== undefined) { + try { spellAttackBonus = JSON.parse('"' + match[8] + '"'); } catch (error) { spellAttackBonus = match[8]; } + } + if (match[9] !== undefined) { + try { spellSaveDc = JSON.parse('"' + match[9] + '"'); } catch (error) { spellSaveDc = match[9]; } + } + if (match[10] !== undefined) { + try { spellcastingAbility = JSON.parse('"' + match[10] + '"'); } catch (error) { spellcastingAbility = match[10]; } + } + if (match[11] !== undefined) { + try { spellcastingMod = JSON.parse('"' + match[11] + '"'); } catch (error) { spellcastingMod = match[11]; } + } + if (match[12] !== undefined) { + try { spellRange = JSON.parse('"' + match[12] + '"'); } catch (error) { spellRange = match[12]; } + } + if (match[13] !== undefined) { + try { spellComponents = JSON.parse('"' + match[13] + '"'); } catch (error) { spellComponents = match[13]; } + } + if (match[14] !== undefined) { + try { spellSchool = JSON.parse('"' + match[14] + '"'); } catch (error) { spellSchool = match[14]; } + } + if (match[15] !== undefined) { + try { spellDuration = JSON.parse('"' + match[15] + '"'); } catch (error) { spellDuration = match[15]; } + } + if (match[16] !== undefined) { + try { spellComponentMaterials = JSON.parse('"' + match[16] + '"'); } catch (error) { spellComponentMaterials = match[16]; } + } + if (match[17] !== undefined) { + try { spellDescription = JSON.parse('"' + match[17] + '"'); } catch (error) { spellDescription = match[17]; } + } + if (match[18] !== undefined) { + try { spellSource = JSON.parse('"' + match[18] + '"'); } catch (error) { spellSource = match[18]; } + } + + const entry = {}; + entry[config.nameKey] = String(name || '').trim(); + entry[config.idKey] = String(id || '').trim(); + if (type === 'spell') { + entry.spellLevel = this.normalizeSpellLevel(level); + entry.spellClass = String(spellClass || '').trim(); + entry.spellDamageType = String(spellDamageType || '').trim(); + entry.spellDamage = String(spellDamage || '').trim(); + entry.spellSave = String(spellSave || '').trim(); + entry.spellAttackBonus = String(spellAttackBonus || '').trim(); + entry.spellSaveDc = String(spellSaveDc || '').trim(); + entry.spellcastingAbility = String(spellcastingAbility || '').trim(); + entry.spellcastingMod = String(spellcastingMod || '').trim(); + entry.spellRange = String(spellRange || '').trim(); + entry.spellComponents = String(spellComponents || '').trim(); + entry.spellSchool = String(spellSchool || '').trim(); + entry.spellDuration = String(spellDuration || '').trim(); + entry.spellComponentMaterials = String(spellComponentMaterials || '').trim(); + entry.spellDescription = String(spellDescription || '').trim(); + entry.spellSource = String(spellSource || spellClass || '').trim(); + } + if (entry[config.nameKey] && entry[config.idKey]) entries.push(entry); + } + + return entries; + }, + + parseInlineRepeatingQuads(raw = '', type = '') { + const config = this.getRepeatingConfig(type); + if (!config) return []; + + const source = String(raw || '').trim(); + if (!source) return []; + + const entries = []; + const pattern = /"((?:\\.|[^"\\])*)"\s*:\s*"((?:\\.|[^"\\])*)"\s*:\s*"((?:\\.|[^"\\])*)"\s*:\s*"((?:\\.|[^"\\])*)"(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?(?:\s*:\s*"((?:\\.|[^"\\])*)")?/g; + let match; + + while ((match = pattern.exec(source)) !== null) { + let name = ''; + let id = ''; + let damage = ''; + let damageType = ''; + let attackBonus = ''; + let saveFlag = ''; + let saveAttr = ''; + let atkProfFlag = ''; + let saveDc = ''; + let autoHit = ''; + let damageAbilityMod = ''; + let attackDescription = ''; + let attackAbilityMod = ''; + let attackExtraBonus = ''; + let damageFlatBonus = ''; + let attackAbilityName = ''; + let damagePartsRaw = ''; + try { name = JSON.parse('"' + match[1] + '"'); } catch (error) { name = match[1]; } + try { id = JSON.parse('"' + match[2] + '"'); } catch (error) { id = match[2]; } + try { damage = JSON.parse('"' + match[3] + '"'); } catch (error) { damage = match[3]; } + try { damageType = JSON.parse('"' + match[4] + '"'); } catch (error) { damageType = match[4]; } + if (match[5] !== undefined) { + try { attackBonus = JSON.parse('"' + match[5] + '"'); } catch (error) { attackBonus = match[5]; } + } + if (match[6] !== undefined) { + try { saveFlag = JSON.parse('"' + match[6] + '"'); } catch (error) { saveFlag = match[6]; } + } + if (match[7] !== undefined) { + try { saveAttr = JSON.parse('"' + match[7] + '"'); } catch (error) { saveAttr = match[7]; } + } + if (match[8] !== undefined) { + try { atkProfFlag = JSON.parse('"' + match[8] + '"'); } catch (error) { atkProfFlag = match[8]; } + } + if (match[9] !== undefined) { + try { saveDc = JSON.parse('"' + match[9] + '"'); } catch (error) { saveDc = match[9]; } + } + if (match[10] !== undefined) { + try { autoHit = JSON.parse('"' + match[10] + '"'); } catch (error) { autoHit = match[10]; } + } + if (match[11] !== undefined) { + try { damageAbilityMod = JSON.parse('"' + match[11] + '"'); } catch (error) { damageAbilityMod = match[11]; } + } + if (match[12] !== undefined) { + try { attackDescription = JSON.parse('"' + match[12] + '"'); } catch (error) { attackDescription = match[12]; } + } + if (match[13] !== undefined) { + try { attackAbilityMod = JSON.parse('"' + match[13] + '"'); } catch (error) { attackAbilityMod = match[13]; } + } + if (match[14] !== undefined) { + try { attackExtraBonus = JSON.parse('"' + match[14] + '"'); } catch (error) { attackExtraBonus = match[14]; } + } + if (match[15] !== undefined) { + try { damageFlatBonus = JSON.parse('"' + match[15] + '"'); } catch (error) { damageFlatBonus = match[15]; } + } + if (match[16] !== undefined) { + try { attackAbilityName = JSON.parse('"' + match[16] + '"'); } catch (error) { attackAbilityName = match[16]; } + } + if (match[17] !== undefined) { + try { damagePartsRaw = JSON.parse('"' + match[17] + '"'); } catch (error) { damagePartsRaw = match[17]; } + } + + const entry = {}; + entry[config.nameKey] = String(name || '').trim(); + entry[config.idKey] = String(id || '').trim(); + entry.dmgBase = String(damage || '').trim(); + entry.dmgMod = ''; + entry.dmgType = String(damageType || '').trim(); + entry.attackBonus = String(attackBonus || '').trim(); + entry.saveFlag = String(saveFlag || '').trim(); + entry.saveAttr = String(saveAttr || '').trim(); + entry.atkProfFlag = String(atkProfFlag || '').trim(); + entry.saveDc = String(saveDc || '').trim(); + entry.autoHit = String(autoHit || '').trim(); + entry.damageAbilityMod = String(damageAbilityMod || '').trim(); + entry.attackDescription = String(attackDescription || '').trim(); + entry.attackAbilityMod = String(attackAbilityMod || '').trim(); + entry.attackExtraBonus = String(attackExtraBonus || '').trim(); + entry.damageFlatBonus = String(damageFlatBonus || '').trim(); + entry.abilityModSource = String(attackAbilityName || '').trim(); + try { + const parsedParts = JSON.parse(String(damagePartsRaw || '[]')); + entry.damageParts = Array.isArray(parsedParts) ? parsedParts : []; + } catch (error) { + entry.damageParts = []; + } + if (entry[config.nameKey] && entry[config.idKey]) entries.push(entry); + } + + return entries; + }, + + parseRepeatingListValue(value = '', type = '') { + const config = this.getRepeatingConfig(type); + if (!config) return []; + + const raw = String(value || '').trim(); + if (!raw) return []; + + if (type === 'spell') { + const inlineEntries = this.parseInlineRepeatingTriples(raw, type); + if (inlineEntries.length) return inlineEntries; + } + if (type === 'attack') { + const inlineEntries = this.parseInlineRepeatingQuads(raw, type); + if (inlineEntries.length) return inlineEntries; + } + + const candidates = [ + raw, + raw.charAt(0) === '{' ? raw : ('{' + raw + '}') + ]; + + for (let i = 0; i < candidates.length; i += 1) { + try { + const parsed = JSON.parse(candidates[i]); + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) continue; + return Object.keys(parsed) + .map((entryName) => { + const payload = parsed[entryName]; + const entry = {}; + entry[config.nameKey] = String(entryName || '').trim(); + if (payload && typeof payload === 'object' && !Array.isArray(payload)) { + entry[config.idKey] = String(payload.id || payload[config.idKey] || '').trim(); + const extraFields = config.extraFields || {}; + const extraKeys = Object.keys(extraFields); + for (let x = 0; x < extraKeys.length; x += 1) { + const key = extraKeys[x]; + entry[key] = String(payload[key] || '').trim(); + } + } else { + entry[config.idKey] = String(payload || '').trim(); + } + return entry; + }) + .filter((entry) => entry[config.nameKey] && entry[config.idKey]); + } catch (error) {} + } + + return []; + }, + + + async getStoredRepeatingList(characterId = '', type = '') { + const safeCharacterId = String(characterId || '').trim(); + const config = this.getRepeatingConfig(type); + if (!safeCharacterId || !config) return []; + + const rawValue = await R20.getSheet(safeCharacterId, config.listAttribute); + const entries = this.parseRepeatingListValue(rawValue, type); + return entries; + }, + + async getStoredAttacks(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + return this.getStoredRepeatingList(safeCharacterId, 'attack'); + }, + + async getStoredAttackById(characterId = '', attackId = '') { + const safeAttackId = this.cleanRepeatingActionId(attackId); + if (!safeAttackId) return null; + const attacks = await this.getStoredAttacks(characterId); + return attacks.find((attack) => + this.cleanRepeatingActionId(attack.attackId || attack.id || '') === safeAttackId + ) || null; + }, + + async getStoredSpells(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + return this.getStoredRepeatingList(safeCharacterId, 'spell'); + }, + + async updateRepeatingListAttribute(characterId = '', type = '', entries = []) { + const safeCharacterId = String(characterId || '').trim(); + const config = this.getRepeatingConfig(type); + const attributeName = config ? config.listAttribute : ''; + if (!safeCharacterId) { + return { ok: false, action: 'failed', name: attributeName || String(type || ''), message: 'Character is required.' }; + } + if (!config) { + return { ok: false, action: 'failed', name: String(type || ''), message: 'Unknown repeating list type.' }; + } + + try { + const value = this.buildRepeatingListValue(entries, type); + await R20.setSheet(safeCharacterId, attributeName, value); + return { ok: true, action: 'set', name: attributeName, value }; + } catch (error) { + return { + ok: false, + action: 'failed', + name: attributeName, + message: error && error.message ? error.message : String(error) + }; + } + }, + + async updateAttackListAttribute(characterId = '', attacks = []) { + return this.updateRepeatingListAttribute(characterId, 'attack', attacks); + }, + + async updateJsonAttribute(characterId = '', attributeName = '', value = '') { + const safeCharacterId = String(characterId || '').trim(); + const safeAttributeName = String(attributeName || '').trim(); + if (!safeCharacterId) { + return { ok: false, action: 'failed', name: safeAttributeName, message: 'Character is required.' }; + } + if (!safeAttributeName) { + return { ok: false, action: 'failed', name: '', message: 'Attribute name is required.' }; + } + + try { + await R20.setSheet(safeCharacterId, safeAttributeName, value); + return { ok: true, action: 'set', name: safeAttributeName, value }; + } catch (error) { + return { + ok: false, + action: 'failed', + name: safeAttributeName, + message: error && error.message ? error.message : String(error) + }; + } + }, + + async updateSpellListAttribute(characterId = '', spells = []) { + return this.updateRepeatingListAttribute(characterId, 'spell', spells); + }, + + cleanRepeatingActionId(value = '') { + return String(value || '') + .trim() + .replace(/"/g, '') + .replace(/[^A-Za-z0-9_-]/g, ''); + }, + + isRepeatingLookupError(value = '') { + return String(value || '').trim().indexOf('&{template:error}') >= 0; + }, + + getRepeatingFieldSuffixes(fieldConfig) { + if (Array.isArray(fieldConfig)) { + return fieldConfig + .map((entry) => String(entry || '').trim()) + .filter(Boolean); + } + const suffix = String(fieldConfig || '').trim(); + return suffix ? [suffix] : []; + }, + + cleanSheetAttributeReference(value = '') { + const raw = String(value || '').trim(); + if (!raw) return ''; + + const referenceMatch = raw.match(/^@\{(?:[^|{}]+\|)?([^|{}]+)\}$/); + if (referenceMatch) return String(referenceMatch[1] || '').trim(); + + return raw + .replace(/^@?\{+/, '') + .replace(/\}+$/, '') + .split('|') + .pop() + .trim(); + }, + + getAttributeCurrentByName(attributes = [], attributeName = '') { + const key = this.cleanSheetAttributeReference(attributeName).toLowerCase(); + if (!key || !Array.isArray(attributes)) return ''; + + const attr = attributes.find((attribute) => + String(attribute.get('name') || '').trim().toLowerCase() === key + ); + return this.getAttributeCurrent(attr); + }, + + getAttributeRawCurrentByName(attributes = [], attributeName = '') { + const key = String(attributeName || '').trim().toLowerCase(); + if (!key || !Array.isArray(attributes)) return ''; + + const attr = attributes.find((attribute) => + String(attribute.get('name') || '').trim().toLowerCase() === key + ); + return attr && Utils.isFunction(attr.get) ? attr.get('current') : ''; + }, + + parseSheetDumpRoot(value) { + if (value && typeof value === 'object') return value; + const raw = String(value || '').trim(); + if (!raw) return null; + + try { return JSON.parse(raw); } catch (error) {} + return null; + }, + + getCharacterSheetDumpRoots(attributes = []) { + const roots = []; + ['builder', 'store'].forEach((attributeName) => { + const parsed = this.parseSheetDumpRoot(this.getAttributeRawCurrentByName(attributes, attributeName)); + if (parsed && typeof parsed === 'object') roots.push(parsed); + }); + return roots; + }, + + getCharacterStoreDumpRoots(attributes = []) { + const parsed = this.parseSheetDumpRoot(this.getAttributeRawCurrentByName(attributes, 'store')); + return parsed && typeof parsed === 'object' ? [parsed] : []; + }, + + spellSlotLevelKeyToNumber(value = '') { + const key = String(value || '').trim().toUpperCase(); + const map = { + FIRST: '1', + SECOND: '2', + THIRD: '3', + FOURTH: '4', + FIFTH: '5', + SIXTH: '6', + SEVENTH: '7', + EIGHTH: '8', + NINTH: '9' + }; + return map[key] || ''; + }, + + getSpellSlotsFromDumpRoots(dumpRoots = []) { + const slots = {}; + const applyCurrentByLevel = (currentByLevel = {}) => { + if (!currentByLevel || typeof currentByLevel !== 'object') return; + Object.keys(currentByLevel).forEach((key) => { + const level = this.spellSlotLevelKeyToNumber(key); + if (!level) return; + slots[level] = Utils.toInt(currentByLevel[key], 0); + }); + }; + const walk = (node) => { + if (!node || typeof node !== 'object') return false; + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) { + if (walk(node[i])) return true; + } + return false; + } + if (node.spellSlots && typeof node.spellSlots === 'object') { + applyCurrentByLevel(node.spellSlots.currentByLevel); + return Object.keys(slots).length > 0; + } + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + if (walk(node[keys[i]])) return true; + } + return false; + }; + + const roots = Array.isArray(dumpRoots) ? dumpRoots : []; + for (let i = 0; i < roots.length; i += 1) { + if (walk(roots[i])) break; + } + return slots; + }, + + getStoreTempHpFromDumpRoots(dumpRoots = []) { + const roots = Array.isArray(dumpRoots) ? dumpRoots : []; + for (let i = 0; i < roots.length; i += 1) { + const root = roots[i]; + if (!root || typeof root !== 'object' || Array.isArray(root)) continue; + const hitpoints = root.hitpoints && typeof root.hitpoints === 'object' && !Array.isArray(root.hitpoints) + ? root.hitpoints + : null; + if (hitpoints && Object.prototype.hasOwnProperty.call(hitpoints, 'tempHP')) { + return Math.max(0, Utils.toInt(hitpoints.tempHP, 0)); + } + } + return 0; + }, + + getDumpNodeIndex(dumpRoots = []) { + const index = {}; + const nodeScore = (node) => { + if (!node || typeof node !== 'object') return 0; + return [ + node._prepared !== undefined, + node.source, + node.sourceID || node.sourceId, + node.childIDs, + node.parentID || node.parentId, + node.recordName || node.recordname, + node.description + ].reduce((score, value) => score + (value ? 1 : 0), 0); + }; + const walk = (node, key = '') => { + if (!node || typeof node !== 'object') return; + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) walk(node[i], String(i)); + return; + } + + if (node.type || node.shortID || node.childIDs || node._id) { + const ids = [key, node._id, node.id].map((entry) => String(entry || '').trim()).filter(Boolean); + for (let i = 0; i < ids.length; i += 1) { + if (!index[ids[i]] || nodeScore(node) > nodeScore(index[ids[i]])) index[ids[i]] = node; + } + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) walk(node[keys[i]], keys[i]); + }; + + const roots = Array.isArray(dumpRoots) ? dumpRoots : []; + for (let i = 0; i < roots.length; i += 1) walk(roots[i]); + return index; + }, + + getDumpChildNodes(node = null, index = {}) { + if (!node || typeof node !== 'object') return []; + const children = []; + const seen = {}; + const add = (child) => { + if (!child || typeof child !== 'object' || Array.isArray(child)) return; + const id = String(child._id || child.shortID || child.shortId || child.name || children.length).trim(); + if (seen[id]) return; + seen[id] = true; + children.push(child); + }; + + const childIds = InventoryService.parseChildIdList(node.childIDs); + for (let i = 0; i < childIds.length; i += 1) add(index[childIds[i]]); + + const parentId = String(node._id || '').trim(); + const keys = Object.keys(index || {}); + for (let i = 0; i < keys.length; i += 1) { + const child = index[keys[i]]; + if (!child || child === node || typeof child !== 'object' || Array.isArray(child)) continue; + if (parentId && String(child.parentID || child.parentId || '').trim() === parentId) add(child); + } + return children.sort((a, b) => Utils.toInt(a.arrayPosition, 999999) - Utils.toInt(b.arrayPosition, 999999)); + }, + + parseStoreStringList(value) { + if (Array.isArray(value)) return value.map((entry) => String(entry || '').trim()).filter(Boolean); + const raw = String(value || '').trim(); + if (!raw) return []; + try { + const parsed = JSON.parse(raw); + if (Array.isArray(parsed)) return parsed.map((entry) => String(entry || '').trim()).filter(Boolean); + } catch (error) {} + return raw.split(',').map((entry) => entry.replace(/^["'\s]+|["'\s]+$/g, '').trim()).filter(Boolean); + }, + + normalizeRollBonusCategory(value = '') { + const normalized = String(value || '').trim().toLowerCase().replace(/[^a-z]/g, ''); + if (normalized === 'savingthrow' || normalized === 'savingthrows' || normalized === 'saves' || normalized === 'save') return 'savingthrows'; + if (normalized === 'attacks' || normalized === 'attackrolls' || normalized === 'attack') return 'attacks'; + if (normalized === 'abilitychecks' || normalized === 'ability') return 'abilitychecks'; + return normalized; + }, + + normalizeRollBonusDetail(value = '') { + const normalized = String(value || '').trim().toLowerCase(); + if (normalized.indexOf('highest') >= 0 || normalized.indexOf('advantage') >= 0) return 'advantage'; + if (normalized.indexOf('lowest') >= 0 || normalized.indexOf('disadvantage') >= 0) return 'disadvantage'; + return ''; + }, + + rollBonusAppliesToAbility(names = [], ability = '') { + const normalizedAbility = this.normalizeAbilityName(ability); + if (!Array.isArray(names) || !names.length) return true; + if (!normalizedAbility) return true; + return names.some((name) => { + const normalizedName = this.normalizeAbilityName(name); + return normalizedName ? normalizedName === normalizedAbility : String(name || '').trim().toLowerCase() === String(ability || '').trim().toLowerCase(); + }); + }, + + resolveActiveRollModeFromDumpRoots(dumpRoots = [], category = '', ability = '') { + return this.getActiveRollModeDetails(dumpRoots, category, ability).mode; + }, + + isSituationalElementalRollBonus(node = null) { + if (!node || typeof node !== 'object') return false; + const recordName = String(node.recordName || '').trim().toLowerCase(); + if (!recordName) return false; + const elementalTerms = [ + 'acid', + 'cold', + 'fire', + 'force', + 'lightning', + 'necrotic', + 'poison', + 'psychic', + 'radiant', + 'thunder' + ]; + return elementalTerms.some((term) => new RegExp('(^|[^a-z])' + term + '([^a-z]|$)', 'i').test(recordName)); + }, + + getActiveRollModeDetails(dumpRoots = [], category = '', ability = '') { + const wantedCategory = this.normalizeRollBonusCategory(category); + const normalizedAbility = this.normalizeAbilityName(ability); + const requiresAbility = wantedCategory !== 'initiative'; + if (!wantedCategory || (requiresAbility && !normalizedAbility) || !Array.isArray(dumpRoots) || !dumpRoots.length) { + return { mode: 'normal', advantages: [], disadvantages: [] }; + } + + let advantageCount = 0; + let disadvantageCount = 0; + const advantages = []; + const disadvantages = []; + const walk = (node) => { + if (!node || typeof node !== 'object') return; + if (Array.isArray(node)) { + node.forEach(walk); + return; + } + + if ( + String(node.type || '').trim().toLowerCase() === 'roll bonus' && + node.cascades === undefined + ) { + if (this.isSituationalElementalRollBonus(node)) return; + const categories = this.parseStoreStringList(node.bonusCategory).map((entry) => this.normalizeRollBonusCategory(entry)); + const names = this.parseStoreStringList(node.bonusName); + const detail = this.normalizeRollBonusDetail(node.bonusDetails); + if ( + categories.indexOf(wantedCategory) >= 0 && + detail && + this.rollBonusAppliesToAbility(names, normalizedAbility) + ) { + const label = String( + node.name || + node.recordName || + node.label || + node.builderDisplayName || + node.type || + (detail === 'advantage' ? 'Advantage' : 'Disadvantage') + ).trim(); + if (detail === 'advantage') { + advantageCount += 1; + advantages.push(label); + } + if (detail === 'disadvantage') { + disadvantageCount += 1; + disadvantages.push(label); + } + } + } + + Object.keys(node).forEach((key) => walk(node[key])); + }; + + dumpRoots.forEach(walk); + return { + mode: advantageCount > disadvantageCount ? 'advantage' : (disadvantageCount > advantageCount ? 'disadvantage' : 'normal'), + advantages: Utils.uniqueNames(advantages), + disadvantages: Utils.uniqueNames(disadvantages), + advantageCount, + disadvantageCount + }; + }, + + getActiveRollEffectBonuses(dumpRoots = [], category = '') { + const wantedCategory = this.normalizeRollBonusCategory(category); + if (!wantedCategory || !Array.isArray(dumpRoots) || !dumpRoots.length) return []; + const effects = []; + const walk = (node) => { + if (!node || typeof node !== 'object') return; + if (Array.isArray(node)) { + node.forEach(walk); + return; + } + if ( + String(node.type || '').trim().toLowerCase() === 'effect' && + node.cascades === undefined && + (node._enabled === undefined || Utils.toBoolean(node._enabled, true)) && + Utils.toBoolean(node._active, false) + ) { + const categories = this.parseStoreStringList(node.category).map((entry) => this.normalizeRollBonusCategory(entry)); + const diceValue = String(node.diceValue || '').trim(); + if (categories.indexOf(wantedCategory) >= 0 && diceValue) { + effects.push({ + name: String(node.name || node.recordName || 'Effect').trim(), + diceValue + }); + } + } + Object.keys(node).forEach((key) => walk(node[key])); + }; + dumpRoots.forEach(walk); + return effects; + }, + + rollActiveRollEffects(dumpRoots = [], category = '') { + const effects = this.getActiveRollEffectBonuses(dumpRoots, category); + let total = 0; + const rows = []; + for (let i = 0; i < effects.length; i += 1) { + const effect = effects[i]; + const rolled = this.rollFormula(effect.diceValue); + const value = Math.max(0, Utils.toInt(rolled.total, 0)); + total += value; + rows.push({ + label: effect.name, + source: effect.diceValue, + value: String(value) + }); + } + return { total, rows, effects }; + }, + + resolveRollModeRequest(requestedMode = '', dumpRoots = [], category = '', ability = '') { + const requested = String(requestedMode || '').trim().toLowerCase(); + if (!requested || requested === 'auto') { + return this.resolveActiveRollModeFromDumpRoots(dumpRoots, category, ability); + } + const normalized = this.normalizeRollMode(requested); + return normalized === 'double' ? 'normal' : (normalized || 'normal'); + }, + + getStoreSpellNodesFromDumpRoots(dumpRoots = []) { + const index = this.getDumpNodeIndex(dumpRoots); + const spells = []; + const seen = {}; + const keys = Object.keys(index); + for (let i = 0; i < keys.length; i += 1) { + const node = index[keys[i]]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + if (String(node.type || '').trim().toLowerCase() !== 'spell') continue; + if (node._enabled !== undefined && !Utils.toBoolean(node._enabled, true)) continue; + if (!Utils.toBoolean(node._prepared, false) && !Utils.toBoolean(node.alwaysPrepared, false)) continue; + const id = String(node._id || keys[i] || node.shortID || node.name || '').trim(); + if (!id || seen[id]) continue; + seen[id] = true; + spells.push({ key: id, node, index }); + } + return spells.sort((a, b) => + this.spellLevelSortValue(a.node && a.node.level) - this.spellLevelSortValue(b.node && b.node.level) || + Utils.toInt(a.node && a.node.arrayPosition, 999999) - Utils.toInt(b.node && b.node.arrayPosition, 999999) || + String(a.node && a.node.name || '').localeCompare(String(b.node && b.node.name || '')) + ); + }, + + formatSpellComponentsValue(components = {}) { + if (!components || typeof components !== 'object') return ''; + return [ + Utils.toBoolean(components.verbal, false) ? '{{v=1}}' : '', + Utils.toBoolean(components.somatic, false) ? '{{s=1}}' : '', + Utils.toBoolean(components.material, false) ? '{{m=1}}' : '' + ].join(''); + }, + + extractSpellSaveAbility(spellNode = null, attackNode = null) { + const explicit = attackNode && attackNode.save && typeof attackNode.save === 'object' + ? this.canonicalAbilityName(attackNode.save.saveAbility || attackNode.save.saveAttr || '') + : ''; + if (explicit) return explicit; + + const text = [ + attackNode && attackNode.description, + spellNode && spellNode.description + ].filter(Boolean).join(' '); + const match = String(text || '').match(/\b(Strength|Dexterity|Constitution|Intelligence|Wisdom|Charisma)\s+saving throw/i); + return match ? this.canonicalAbilityName(match[1]) : ''; + }, + + findSpellActionNode(spellNode = null, index = {}) { + const children = this.getDumpChildNodes(spellNode, index); + return children.find((child) => { + const type = String(child.type || '').trim().toLowerCase(); + if (type !== 'attack') return false; + const attackType = this.normalizeLookupText(child.attack && child.attack.type || ''); + return attackType === 'spell attack' || attackType === 'spell save' || child.source === 'Spell'; + }) || null; + }, + + findSpellEffectNode(spellNode = null, actionNode = null, index = {}) { + const searchParents = [actionNode, spellNode].filter(Boolean); + for (let p = 0; p < searchParents.length; p += 1) { + const children = this.getDumpChildNodes(searchParents[p], index); + const effect = children.find((child) => { + const type = String(child.type || '').trim().toLowerCase(); + return type === 'damage' || type === 'healing'; + }); + if (effect) return effect; + } + return null; + }, + + findDarkvisionSenseInDumpRoots(dumpRoots = []) { + if (!Array.isArray(dumpRoots) || !dumpRoots.length) return null; + + const hasOwn = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key); + + const readFlatValue = (node) => { + const formula = node && node.valueFormula && typeof node.valueFormula === 'object' + ? node.valueFormula + : null; + + if (!formula || !hasOwn(formula, 'flatValue')) return null; + + return Math.max(0, Utils.toInt(formula.flatValue, 0)); + }; + + const isDarkvisionSenseNode = (node) => { + if (!node || typeof node !== 'object' || Array.isArray(node)) return false; + + const type = this.normalizeLookupText(node.type || ''); + const name = this.normalizeLookupText(node.name || ''); + const recordName = this.normalizeLookupText(node.recordName || ''); + const builderDisplayName = this.normalizeLookupText(node.builderDisplayName || ''); + + const hasDarkvisionText = + name.indexOf('darkvision') !== -1 || + recordName.indexOf('darkvision') !== -1 || + builderDisplayName.indexOf('darkvision') !== -1; + + return ( + type === 'sense' && + hasDarkvisionText && + node._enabled !== false && + node.ignoreValue !== true && + !hasOwn(node, 'cascades') + ); + }; + + let bestValue = null; + + const walk = (node) => { + if (!node || typeof node !== 'object') return; + + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) { + walk(node[i]); + } + return; + } + + if (isDarkvisionSenseNode(node)) { + const value = readFlatValue(node); + + if (value !== null) { + bestValue = bestValue === null + ? value + : Math.max(bestValue, value); + } + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + walk(node[keys[i]]); + } + }; + + for (let i = 0; i < dumpRoots.length; i += 1) { + walk(dumpRoots[i]); + } + + return bestValue; + }, + + async resolveDarkvisionFeet(characterId = '', attributes = [], dumpRoots = []) { + const storeRoots = this.getCharacterStoreDumpRoots(attributes); + const storeSenseValue = this.findDarkvisionSenseInDumpRoots(storeRoots); + return storeSenseValue !== null ? storeSenseValue : 0; + }, + + normalizeLookupText(value = '') { + return String(value || '') + .trim() + .toLowerCase() + .replace(/\s+/g, ' '); + }, + + extractBuilderAttackAbility(node) { + if (!node || typeof node !== 'object') return ''; + + const attack = node.attack; + if (!attack || typeof attack !== 'object') return ''; + + const explicitAbility = String( + attack.abilityBonus || + (attack.ability && attack.ability.ability) || + '' + ).trim(); + if (explicitAbility) return explicitAbility; + + const attackType = this.normalizeLookupText(attack.type || ''); + if (attackType === 'melee') return 'Strength'; + if (attackType === 'ranged') return 'Dexterity'; + return ''; + }, + + extractBuilderSaveMeta(node) { + if (!node || typeof node !== 'object' || !node.save || typeof node.save !== 'object') { + return { saveFlag: '', saveAttr: '' }; + } + + const saveAttr = String( + node.save.saveAbility || + node.save.saveAttr || + node.save.saveattr || + '' + ).trim(); + + return { + saveFlag: saveAttr ? '1' : '', + saveAttr + }; + }, + + spellLevelSortValue(value = '') { + const level = this.normalizeSpellLevel(value); + return level === 'cantrip' ? 0 : Utils.toInt(level, 1); + }, + + canonicalAbilityName(value = '') { + const normalized = this.normalizeLookupText(value); + const map = { + str: 'Strength', + strength: 'Strength', + strenght: 'Strength', + dex: 'Dexterity', + dexterity: 'Dexterity', + con: 'Constitution', + constitution: 'Constitution', + int: 'Intelligence', + intelligence: 'Intelligence', + wis: 'Wisdom', + wisdom: 'Wisdom', + cha: 'Charisma', + charisma: 'Charisma' + }; + return map[normalized] || ''; + }, + + normalizeAbilityRollMacroName(value = '') { + const ability = this.canonicalAbilityName(value); + return ability ? ability.toLowerCase() : ''; + }, + + normalizeSavingRollMacroName(value = '') { + const ability = this.normalizeAbilityRollMacroName(value); + return ability ? (ability + '_save') : ''; + }, + + normalizeSkillRollMacroName(value = '') { + const normalized = this.normalizeLookupText(value).replace(/-/g, ' '); + const map = { + acrobatics: 'acrobatics', + 'animal handling': 'animal_handling', + arcana: 'arcana', + athletics: 'athletics', + deception: 'deception', + history: 'history', + insight: 'insight', + intimidation: 'intimidation', + investigation: 'investigation', + medicine: 'medicine', + nature: 'nature', + perception: 'perception', + performance: 'performance', + persuasion: 'persuasion', + religion: 'religion', + 'sleight of hand': 'sleight_of_hand', + sleight: 'sleight_of_hand', + stealth: 'stealth', + survival: 'survival' + }; + return map[normalized] || ''; + }, + + normalizeTokenRollMacroName(rollType = '', value = '') { + const type = String(rollType || '').trim().toLowerCase(); + if (type === 'initiative') return 'initiative'; + if (type === 'ability') return this.normalizeAbilityRollMacroName(value); + if (type === 'saving' || type === 'save') return this.normalizeSavingRollMacroName(value); + if (type === 'skill') return this.normalizeSkillRollMacroName(value); + return ''; + }, + + abilityNameToShort(value = '') { + const ability = this.canonicalAbilityName(value); + const map = { + Strength: 'STR', + Dexterity: 'DEX', + Constitution: 'CON', + Intelligence: 'INT', + Wisdom: 'WIS', + Charisma: 'CHA' + }; + return map[ability] || ''; + }, + + abilityShortToModifierKey(value = '') { + const shortName = String(value || '').trim().toLowerCase(); + const map = { + str: 'str_mod', + dex: 'dex_mod', + con: 'con_mod', + int: 'int_mod', + wis: 'wis_mod', + cha: 'cha_mod' + }; + return map[shortName] || ''; + }, + + extractSpellcastingAbilityFromText(value = '') { + const text = this.normalizeLookupText(value); + if (!text || text.indexOf('spellcasting') < 0) return ''; + + const abilities = [ + ['Strength', ['strength', 'str']], + ['Dexterity', ['dexterity', 'dex']], + ['Constitution', ['constitution', 'con']], + ['Intelligence', ['intelligence', 'int']], + ['Wisdom', ['wisdom', 'wis']], + ['Charisma', ['charisma', 'cha']] + ]; + for (let i = 0; i < abilities.length; i += 1) { + const ability = abilities[i][0]; + const aliases = abilities[i][1]; + for (let x = 0; x < aliases.length; x += 1) { + if (new RegExp('(^|[^a-z])' + aliases[x] + '([^a-z]|$)').test(text)) return ability; + } + } + return ''; + }, + + normalizeRaceSpellcastingSource(value = '') { + const normalized = this.normalizeLookupText(value); + if (normalized === 'elf') return ['elf', 'elven']; + return normalized ? [normalized] : []; + }, + + findSpellcastingAbilityInDumpRoots(dumpRoots = [], sourceName = '', sourceType = 'class') { + const sourceKeys = sourceType === 'race' + ? this.normalizeRaceSpellcastingSource(sourceName) + : [this.normalizeLookupText(sourceName)]; + if (!Array.isArray(dumpRoots) || !dumpRoots.length || !sourceKeys.filter(Boolean).length) return ''; + + let fallbackAbility = ''; + const matchesSource = (text) => { + const normalized = this.normalizeLookupText(text); + if (!normalized || normalized.indexOf('spellcasting') < 0) return false; + return sourceKeys.some((key) => key && normalized.indexOf(key) >= 0); + }; + const walk = (node) => { + if (!node || typeof node !== 'object') return ''; + if (Array.isArray(node)) return node.reduce((found, child) => found || walk(child), ''); + + const text = [node.recordName, node.name, node.builderDisplayName].filter(Boolean).join(' '); + const ability = this.extractSpellcastingAbilityFromText(text); + if (ability && matchesSource(text)) return ability; + if (!fallbackAbility && sourceType === 'race' && ability && this.normalizeLookupText(text).indexOf('spellcasting choice') >= 0) { + fallbackAbility = ability; + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + const found = walk(node[keys[i]]); + if (found) return found; + } + return ''; + }; + + for (let i = 0; i < dumpRoots.length; i += 1) { + const found = walk(dumpRoots[i]); + if (found) return found; + } + return fallbackAbility; + }, + + resolveSpellOriginAbility({ spellClass = '', characterClass = '', race = '', dumpRoots = [], tokenData = {} } = {}) { + const characterDetails = this.getFastCharacterDetails(tokenData); + const origin = this.normalizeLookupText(spellClass); + const raceKeys = this.normalizeRaceSpellcastingSource(race); + const isClassOrigin = origin === 'class' || origin.indexOf(this.normalizeLookupText(characterClass)) >= 0; + const isRaceOrigin = origin === 'race' || raceKeys.some((key) => key && origin.indexOf(key) >= 0); + const classSource = (!origin || origin.indexOf('magic initiate') === 0 || isClassOrigin) ? characterClass : spellClass; + const useClass = !origin || origin.indexOf('magic initiate') === 0 || isClassOrigin; + if (!useClass && race && isRaceOrigin) { + if (characterDetails.race_spellcasting_attribute) return this.canonicalAbilityName(characterDetails.race_spellcasting_attribute); + return this.findSpellcastingAbilityInDumpRoots(dumpRoots, race, 'race'); + } + return useClass + ? (this.canonicalAbilityName(characterDetails.class_spellcasting_attribute) || + this.findSpellcastingAbilityInDumpRoots(dumpRoots, classSource, 'class') || + this.findSpellcastingAbilityInDumpRoots(dumpRoots, characterClass, 'class')) + : (this.canonicalAbilityName(characterDetails.race_spellcasting_attribute) || + this.findSpellcastingAbilityInDumpRoots(dumpRoots, race, 'race') || + this.findSpellcastingAbilityInDumpRoots(dumpRoots, classSource, 'class') || + this.findSpellcastingAbilityInDumpRoots(dumpRoots, characterClass, 'class')); + }, + + parseTokenDataValue(value = '') { + const raw = String(value || '').trim(); + if (!raw) return {}; + try { + const parsed = JSON.parse(raw); + return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {}; + } catch (error) { + return {}; + } + }, + + getFastCharacterDetails(tokenData = {}) { + if (!tokenData || typeof tokenData !== 'object') return {}; + if (tokenData.character && typeof tokenData.character === 'object' && !Array.isArray(tokenData.character)) { + return tokenData.character; + } + const characterDetails = Object.assign({}, tokenData); + [ + 'darkvision', + 'brightLight', + 'dimLight', + 'lightShape', + 'lightAmplitude', + 'isItem', + 'lootable', + 'isChest', + 'NPC', + 'imgsrc', + 'concentration', + 'concentrated_on', + 'damage_resistances', + 'damage_immunities', + 'damage_vulnerabilities', + 'condition_immunities', + 'showname', + 'showplayers_name', + 'showplayers_bar1', + 'showplayers_bar2', + 'showplayers_bar3', + 'showplayers_aura1', + 'showplayers_aura2', + 'bar1_link', + 'bar2_link', + 'bar3_link', + 'bar1_value', + 'bar1_max', + 'bar2_value', + 'bar2_max', + 'bar3_value', + 'bar3_max', + 'width', + 'height', + 'controlledby', + 'aura1_radius', + 'aura1_color', + 'aura1_square', + 'aura1_options', + 'aura2_radius', + 'aura2_color', + 'aura2_square', + 'aura2_options', + 'light_hassight', + 'light_angle', + 'light_losangle', + 'has_bright_light_vision', + 'emits_bright_light', + 'bright_light_distance', + 'emits_low_light', + 'low_light_distance', + 'light_otherplayers', + 'has_night_vision', + 'night_vision_distance', + 'night_vision_effect', + 'night_vision_tint', + 'light_radius', + 'light_dimradius', + 'has_directional_bright_light', + 'directional_bright_light_total', + 'has_directional_dim_light', + 'directional_dim_light_total' + ].forEach((key) => { delete characterDetails[key]; }); + return characterDetails; + }, + + getFastTokenDetails(tokenData = {}) { + if (!tokenData || typeof tokenData !== 'object') return {}; + if (tokenData.token && typeof tokenData.token === 'object' && !Array.isArray(tokenData.token)) { + return tokenData.token; + } + return { + darkvision: tokenData.darkvision, + brightLight: tokenData.brightLight, + dimLight: tokenData.dimLight, + lightShape: tokenData.lightShape, + lightAmplitude: tokenData.lightAmplitude, + isItem: tokenData.isItem, + lootable: tokenData.lootable, + isChest: tokenData.isChest, + NPC: tokenData.NPC, + imgsrc: tokenData.imgsrc, + concentration: tokenData.concentration, + concentrated_on: tokenData.concentrated_on, + damage_resistances: tokenData.damage_resistances, + damage_immunities: tokenData.damage_immunities, + damage_vulnerabilities: tokenData.damage_vulnerabilities, + condition_immunities: tokenData.condition_immunities, + showname: tokenData.showname, + showplayers_name: tokenData.showplayers_name, + showplayers_bar1: tokenData.showplayers_bar1, + showplayers_bar2: tokenData.showplayers_bar2, + showplayers_bar3: tokenData.showplayers_bar3, + showplayers_aura1: tokenData.showplayers_aura1, + showplayers_aura2: tokenData.showplayers_aura2, + bar1_link: tokenData.bar1_link, + bar2_link: tokenData.bar2_link, + bar3_link: tokenData.bar3_link, + bar1_value: tokenData.bar1_value, + bar1_max: tokenData.bar1_max, + bar2_value: tokenData.bar2_value, + bar2_max: tokenData.bar2_max, + bar3_value: tokenData.bar3_value, + bar3_max: tokenData.bar3_max, + width: tokenData.width, + height: tokenData.height, + controlledby: tokenData.controlledby, + aura1_radius: tokenData.aura1_radius, + aura1_color: tokenData.aura1_color, + aura1_square: tokenData.aura1_square, + aura1_options: tokenData.aura1_options, + aura2_radius: tokenData.aura2_radius, + aura2_color: tokenData.aura2_color, + aura2_square: tokenData.aura2_square, + aura2_options: tokenData.aura2_options, + has_directional_bright_light: tokenData.has_directional_bright_light, + directional_bright_light_total: tokenData.directional_bright_light_total, + has_directional_dim_light: tokenData.has_directional_dim_light, + directional_dim_light_total: tokenData.directional_dim_light_total + }; + }, + + isRoll20TokenImageSource(imgsrc = '') { + return String(imgsrc || '').trim().toLowerCase().indexOf('files.d20.io') >= 0; + }, + + buildSectionedTokenData(characterDetails = {}, tokenDetails = {}) { + const safeTokenDetails = Object.assign({}, tokenDetails || {}); + if (Object.prototype.hasOwnProperty.call(safeTokenDetails, 'imgsrc') && !this.isRoll20TokenImageSource(safeTokenDetails.imgsrc)) { + delete safeTokenDetails.imgsrc; + } + return { + character: Object.assign({}, characterDetails || {}), + token: safeTokenDetails + }; + }, + + async getTokenData(characterId = '', attributes = null) { + let raw = ''; + if (Array.isArray(attributes)) { + raw = this.getAttributeCurrentByName(attributes, 'user.T&T_token_data'); + } else { + const attr = this.findCharacterAttribute(characterId, 'user.T&T_token_data'); + raw = attr ? this.getAttributeCurrent(attr) : ''; + if (!raw) { + try { + raw = String(await R20.getSheet(characterId, 'user.T&T_token_data') || '').trim(); + } catch (error) { + raw = ''; + } + } + } + return this.parseTokenDataValue(raw); + }, + + buildSpellcastingTokenData({ abilityShort = '', pb = 0, tokenData = {}, prefix = '' } = {}) { + const safePrefix = String(prefix || '').trim(); + const ability = this.abilityNameToShort(abilityShort) || String(abilityShort || '').trim().toUpperCase(); + const modKey = this.abilityShortToModifierKey(ability); + const mod = modKey ? Utils.toInt(this.getFastDetailValue(tokenData, modKey), 0) : 0; + const bonus = ability ? this.formatSignedModifier(Utils.toInt(pb, 0) + mod) : ''; + const save = ability ? String(8 + Utils.toInt(pb, 0) + mod) : ''; + return { + [safePrefix + '_spellcasting_attribute']: ability, + [safePrefix + '_spellcasting_bonus']: bonus, + [safePrefix + '_spellcasting_save']: save + }; + }, + + normalizeLightShape(value = '') { + const raw = String(value || '').trim().toLowerCase(); + return raw === 'cone' ? 'cone' : 'radius'; + }, + + parseLightSourceEffect(effectText = '') { + const raw = String(effectText || '').trim(); + const normalized = raw.toLowerCase().replace(/\s+/g, ' '); + if (!normalized || normalized.indexOf('bright light') < 0) return null; + + const readFeetAfter = (label) => { + const index = normalized.indexOf(label); + if (index < 0) return 0; + const slice = normalized.slice(index, index + 140); + const match = slice.match(/(\d+(?:\.\d+)?)\s*(?:ft|feet|foot)?/); + return match ? Math.max(0, Math.floor(Number(match[1]) || 0)) : 0; + }; + const shape = normalized.indexOf('cone') >= 0 ? 'cone' : 'radius'; + const brightLight = readFeetAfter('bright light'); + const dimLight = brightLight * 2; + + if (!(brightLight > 0)) return null; + return { + brightLight, + dimLight, + lightShape: shape, + lightAmplitude: shape === 'cone' ? 60 : 0 + }; + }, + + normalizeTraitList(value = '', options = {}) { + const raw = String(value || '').trim().toLowerCase(); + if (!raw || raw === '-' || raw === 'none') return []; + return raw + .replace(/\band\b/g, ',') + .split(/[,;|/]+/) + .map((entry) => entry + .replace(/\([^)]*\)/g, '') + .replace(options.removePattern || /$^/, '') + .trim() + ) + .filter(Boolean) + .filter((entry, index, list) => list.indexOf(entry) === index); + }, + + traitListIncludes(list = [], value = '') { + const type = String(value || '').trim().toLowerCase(); + if (!type || !Array.isArray(list)) return false; + return list.some((entry) => { + const current = String(entry || '').trim().toLowerCase(); + return current === type || current.indexOf(type) >= 0 || type.indexOf(current) >= 0; + }); + }, + + normalizeDamageTraitList(value = '') { + return this.normalizeTraitList(value, { removePattern: /damage/gi }); + }, + + normalizeDamageTraitValue(value) { + const values = []; + const collect = (entry) => { + if (entry === undefined || entry === null) return; + if (Array.isArray(entry)) { + entry.forEach(collect); + return; + } + if (typeof entry === 'object') { + ['damage', 'type', 'value', 'name', 'label'].forEach((key) => { + if (Object.prototype.hasOwnProperty.call(entry, key)) collect(entry[key]); + }); + return; + } + values.push(String(entry)); + }; + collect(value); + return this.normalizeDamageTraitList(values.join(',')); + }, + + damageTraitListIncludes(list = [], damageType = '') { + return this.traitListIncludes(list, damageType); + }, + + normalizeConditionName(value = '') { + return String(value || '').trim().toLowerCase().replace(/\s+/g, ' '); + }, + + normalizeConditionKey(value = '') { + return this.normalizeConditionName(value).replace(/[^a-z0-9_-]+/g, '_').replace(/^_+|_+$/g, ''); + }, + + formatConditionName(value = '') { + const name = this.normalizeConditionName(value); + if (!name) return ''; + return name.split(/\s+/).map((part) => part ? (part.charAt(0).toUpperCase() + part.slice(1)) : '').join(' '); + }, + + normalizeConditionTraitList(value = '') { + return this.normalizeTraitList(value, { removePattern: /condition/gi }); + }, + + conditionTraitListIncludes(list = [], conditionName = '') { + return this.traitListIncludes(list, this.normalizeConditionName(conditionName)); + }, + + getConditionColor(conditionName = '') { + const key = this.normalizeConditionKey(conditionName); + return (CONFIG.CONDITION_COLORS && CONFIG.CONDITION_COLORS[key]) || CONFIG.DEFAULT_CONDITION_COLOR; + }, + + getConditionIcon(conditionName = '') { + const key = this.normalizeConditionKey(conditionName); + return (CONFIG.CONDITION_ICONS && CONFIG.CONDITION_ICONS[key]) || '●'; + }, + + resolveTokenMarkerTag(markerName = '') { + const wanted = String(markerName || '').trim(); + if (!wanted) return ''; + const normalizedWanted = wanted.toLowerCase(); + const nativeMarkers = { + red: true, + blue: true, + green: true, + brown: true, + purple: true, + pink: true, + yellow: true, + dead: true + }; + if (nativeMarkers[normalizedWanted]) return wanted; + + try { + const rawMarkers = typeof Campaign === 'function' + ? Campaign().get('_token_markers') + : ''; + const markers = rawMarkers ? JSON.parse(rawMarkers) : []; + if (Array.isArray(markers)) { + for (let i = 0; i < markers.length; i += 1) { + const marker = markers[i] || {}; + const name = String(marker.name || '').trim(); + const tag = String(marker.tag || '').trim(); + if ( + tag.toLowerCase() === normalizedWanted || + name.toLowerCase() === normalizedWanted + ) { + return tag || wanted; + } + } + } + } catch (error) { + Logger.debug('[Token:marker lookup failed]', error && error.message ? error.message : String(error)); + } + return ''; + }, + + getConditionStatusMarker(conditionName = '') { + const key = this.normalizeConditionKey(conditionName); + const configured = (CONFIG.CONDITION_STATUS_MARKERS && CONFIG.CONDITION_STATUS_MARKERS[key]) || ''; + return this.resolveTokenMarkerTag(configured) || configured || this.resolveTokenMarkerTag('yellow') || 'yellow'; + }, + + setTokenStatusMarker(token = null, markerName = '', enabled = true) { + if (!token || !Utils.isFunction(token.set)) return false; + const marker = this.resolveTokenMarkerTag(markerName) || String(markerName || '').trim(); + if (!marker) return false; + try { + const current = String(token.get('statusmarkers') || '') + .split(',') + .map((entry) => String(entry || '').trim()) + .filter(Boolean); + const hasMarker = current.indexOf(marker) >= 0; + let next = current.slice(); + if (enabled && !hasMarker) next.push(marker); + if (!enabled) next = next.filter((entry) => entry !== marker); + token.set('statusmarkers', next.join(',')); + return true; + } catch (error) { + Logger.debug('[Token:status marker failed]', marker, error && error.message ? error.message : String(error)); + return false; + } + }, + + setTokenConditionMarker(token = null, conditionName = '', enabled = true) { + const marker = this.getConditionStatusMarker(conditionName); + return this.setTokenStatusMarker(token, marker, enabled); + }, + + tokenHasStatusMarker(token = null, markerName = '') { + if (!token || !Utils.isFunction(token.get)) return false; + const marker = this.resolveTokenMarkerTag(markerName) || String(markerName || '').trim(); + if (!marker) return false; + return String(token.get('statusmarkers') || '') + .split(',') + .map((entry) => String(entry || '').trim()) + .filter(Boolean) + .indexOf(marker) >= 0; + }, + + tokenHasConditionMarker(token = null, conditionName = '') { + return this.tokenHasStatusMarker(token, this.getConditionStatusMarker(conditionName)); + }, + + toggleVisualTokenCondition(token = null, conditionName = '') { + const normalized = this.normalizeConditionName(conditionName); + if (!token || !normalized) return { ok: false, message: 'Token and condition are required.' }; + const active = this.tokenHasConditionMarker(token, normalized); + this.setTokenConditionMarker(token, normalized, !active); + return { + ok: true, + tokenName: String(token.get('name') || 'Token'), + conditionName: this.formatConditionName(normalized), + removed: active, + visualOnly: true + }; + }, + + getStoreConditionNode(rootEntry = null, conditionName = '') { + if (!rootEntry || !rootEntry.root) return null; + const container = InventoryService.getInventoryContainer(rootEntry.root); + if (!container || typeof container !== 'object' || Array.isArray(container)) return null; + + const conditionKey = this.normalizeConditionKey(conditionName); + if (conditionKey && container[conditionKey] && typeof container[conditionKey] === 'object') { + return { key: conditionKey, node: container[conditionKey], container }; + } + + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const node = container[key]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + const nodeType = String(node.type || node.componentType || '').trim().toLowerCase(); + if (conditionKey === 'exhaustion' && nodeType === 'exhaustion') { + return { key, node, container }; + } + const nodeNames = [ + key, + node.type, + node.name, + node.recordName, + node.builderDisplayName, + node.label + ].map((entry) => this.normalizeConditionKey(entry)).filter(Boolean); + if ( + nodeNames.indexOf(conditionKey) >= 0 && + (!nodeType || nodeType === 'condition' || (conditionKey === 'exhaustion' && nodeType === 'exhaustion')) + ) { + return { key, node, container }; + } + } + return null; + }, + + normalizeEffectKey(effectName = '') { + const key = String(effectName || '').trim().toLowerCase().replace(/[^a-z0-9]+/g, ''); + if (key === 'bless') return 'bless'; + return key; + }, + + getEffectDefinition(effectName = '') { + const key = this.normalizeEffectKey(effectName); + if (key === 'bless') { + return { + key, + name: 'Bless', + recordName: 'Bless Effect', + type: 'Effect', + source: 'T&T', + sourceID: 'tnt-effect-bless', + category: '["Attack","Saving Throw"]', + diceValue: '1d4', + description: 'Whenever a target makes an attack roll or a saving throw before the spell ends, the target adds 1d4 to the attack roll or save.' + }; + } + return null; + }, + + getStoreEffectNode(rootEntry = null, effectName = '') { + if (!rootEntry || !rootEntry.root) return null; + const container = InventoryService.getInventoryContainer(rootEntry.root); + if (!container || typeof container !== 'object' || Array.isArray(container)) return null; + const wanted = this.normalizeEffectKey(effectName); + if (!wanted) return null; + + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const node = container[key]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + if (String(node.type || '').trim().toLowerCase() !== 'effect') continue; + const nodeNames = [ + key, + node.name, + node.recordName, + node.builderDisplayName, + node.label + ].map((entry) => this.normalizeEffectKey(entry)).filter(Boolean); + if (nodeNames.indexOf(wanted) >= 0) return { key, node, container }; + } + return null; + }, + + getStoreEffectState(characterId = '', effectName = '') { + const rootEntry = InventoryService.loadInventoryRoot(characterId); + if (!rootEntry.ok) return { ok: false, active: false, message: rootEntry.message || 'Character store could not be read.' }; + const target = this.getStoreEffectNode(rootEntry, effectName); + if (!target || !target.node) return { ok: true, active: false, exists: false }; + return { + ok: true, + active: Utils.toBoolean(target.node._active, false), + exists: true, + effectName: String(target.node.name || effectName || 'Effect') + }; + }, + + async setStoreEffectActive(characterId = '', effectName = '', enabled = true) { + const safeCharacterId = String(characterId || '').trim(); + const definition = this.getEffectDefinition(effectName); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + if (!definition) return { ok: false, message: 'Unknown effect: ' + String(effectName || '') + '.' }; + + const rootEntry = InventoryService.loadInventoryRoot(safeCharacterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message || 'Character store could not be read.' }; + const container = InventoryService.getInventoryContainer(rootEntry.root); + if (!container || typeof container !== 'object' || Array.isArray(container)) { + return { ok: false, message: 'Store container was not found.' }; + } + + let target = this.getStoreEffectNode(rootEntry, definition.key); + let created = false; + if (!target || !target.node) { + const rowId = InventoryService.makeInventoryRowId(container); + container[rowId] = { + _active: false, + _enabled: true, + arrayPosition: InventoryService.getNextArrayPosition(container), + builderDisplayName: '', + category: definition.category, + childIDs: '[]', + createdTime: Date.now(), + description: definition.description, + diceValue: definition.diceValue, + label: '', + name: definition.name, + parentID: '', + recordName: definition.recordName, + shortID: InventoryService.makeShortId(), + source: definition.source, + sourceID: definition.sourceID, + type: definition.type + }; + target = { key: rowId, node: container[rowId], container }; + created = true; + } + + const previous = Utils.toBoolean(target.node._active, false); + target.node._active = !!enabled; + target.node._enabled = true; + const saved = await InventoryService.saveInventoryRootWithSheetWorker(safeCharacterId, rootEntry); + if (!saved) return { ok: false, message: definition.name + ' could not be saved.' }; + return { + ok: true, + effectKey: definition.key, + effectName: definition.name, + previous, + current: !!enabled, + created + }; + }, + + async toggleStoreEffect(characterId = '', effectName = '') { + const state = this.getStoreEffectState(characterId, effectName); + const active = state.ok && Utils.toBoolean(state.active, false); + return this.setStoreEffectActive(characterId, effectName, !active); + }, + + renderEffectBody(result = {}) { + const tokenName = Html.span( + Utils.escapeHtml(String(result.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:900;' + ); + const effectName = Html.span( + Utils.escapeHtml(String(result.effectName || 'Effect')), + 'color:rgb(220,190,255);font-weight:900;' + ); + if (result.removed) return tokenName + ' is no longer under ' + effectName + '.'; + return tokenName + ' is now under ' + effectName + '.'; + }, + + async setStoreConditionActive(characterId = '', conditionName = '', enabled = true, options = {}) { + const rootEntry = InventoryService.loadInventoryRoot(characterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message || 'Character store could not be read.' }; + + const target = this.getStoreConditionNode(rootEntry, conditionName); + if (!target || !target.node) { + return { + ok: false, + message: 'Condition node was not found: ' + this.formatConditionName(conditionName) + '.' + }; + } + + const conditionKey = this.normalizeConditionKey(conditionName); + const nodeType = String(target.node.type || target.node.componentType || '').trim().toLowerCase(); + if (conditionKey === 'exhaustion' || nodeType === 'exhaustion') { + const previousValue = Math.max(0, Math.min(6, Utils.toInt(target.node.value, 0))); + const nextValue = Object.prototype.hasOwnProperty.call(options || {}, 'value') + ? Math.max(0, Math.min(6, Utils.toInt(options.value, 0))) + : (enabled ? Math.max(1, previousValue || 1) : 0); + target.node.value = nextValue; + target.node._active = nextValue > 0; + const saved = await InventoryService.saveInventoryRootWithSheetWorker(characterId, rootEntry); + if (!saved) return { ok: false, message: 'Condition could not be saved: ' + this.formatConditionName(conditionName) + '.' }; + return { + ok: true, + conditionKey: target.key, + conditionName: this.formatConditionName(conditionName), + previous: previousValue > 0, + current: nextValue > 0, + previousValue, + value: nextValue, + cascadeChanges: 0 + }; + } + + const previous = Utils.toBoolean(target.node._active, false); + target.node._active = !!enabled; + let cascadeChanges = 0; + const visited = {}; + const updateChildCascade = (childId) => { + const safeChildId = String(childId || '').trim(); + if (!safeChildId || visited[safeChildId]) return; + visited[safeChildId] = true; + + const child = target.container[safeChildId]; + if (!child || typeof child !== 'object' || Array.isArray(child)) return; + + if (enabled) { + if (child.cascades && typeof child.cascades === 'object' && !Array.isArray(child.cascades) && + Object.prototype.hasOwnProperty.call(child.cascades, target.key)) { + delete child.cascades[target.key]; + if (!Object.keys(child.cascades).length) delete child.cascades; + cascadeChanges += 1; + } + } else { + if (!child.cascades || typeof child.cascades !== 'object' || Array.isArray(child.cascades)) { + child.cascades = {}; + } + if (child.cascades[target.key] !== '["Activate"]') { + child.cascades[target.key] = '["Activate"]'; + cascadeChanges += 1; + } + } + + const nestedIds = InventoryService.parseChildIdList(child.childIDs); + for (let i = 0; i < nestedIds.length; i += 1) updateChildCascade(nestedIds[i]); + }; + + const topIds = InventoryService.parseChildIdList(target.node.childIDs); + for (let i = 0; i < topIds.length; i += 1) updateChildCascade(topIds[i]); + + const saved = await InventoryService.saveInventoryRootWithSheetWorker(characterId, rootEntry); + if (!saved) return { ok: false, message: 'Condition could not be saved: ' + this.formatConditionName(conditionName) + '.' }; + return { + ok: true, + conditionKey: target.key, + conditionName: this.formatConditionName(conditionName), + previous, + current: !!enabled, + cascadeChanges + }; + }, + + getStoreConditionState(characterId = '', conditionName = '') { + const rootEntry = InventoryService.loadInventoryRoot(characterId); + if (!rootEntry.ok) return { ok: false, active: false, message: rootEntry.message || 'Character store could not be read.' }; + const target = this.getStoreConditionNode(rootEntry, conditionName); + if (!target || !target.node) { + return { + ok: false, + active: false, + message: 'Condition node was not found: ' + this.formatConditionName(conditionName) + '.' + }; + } + const conditionKey = this.normalizeConditionKey(conditionName); + const nodeType = String(target.node.type || target.node.componentType || '').trim().toLowerCase(); + const exhaustionValue = (conditionKey === 'exhaustion' || nodeType === 'exhaustion') + ? Math.max(0, Math.min(6, Utils.toInt(target.node.value, 0))) + : undefined; + return { + ok: true, + active: exhaustionValue !== undefined ? exhaustionValue > 0 : Utils.toBoolean(target.node._active, false), + value: exhaustionValue, + conditionKey: target.key, + conditionName: this.formatConditionName(conditionName) + }; + }, + + getExhaustionLevel(characterId = '') { + const state = this.getStoreConditionState(characterId, 'exhaustion'); + return state && state.ok ? Math.max(0, Math.min(6, Utils.toInt(state.value, 0))) : 0; + }, + + getExhaustionD20Penalty(characterId = '') { + return -2 * this.getExhaustionLevel(characterId); + }, + + getDeathSavesNode(rootObj = null, createIfMissing = false) { + if (!rootObj || typeof rootObj !== 'object' || Array.isArray(rootObj)) return null; + if (!rootObj.hitpoints || typeof rootObj.hitpoints !== 'object' || Array.isArray(rootObj.hitpoints)) { + if (!createIfMissing) return null; + rootObj.hitpoints = {}; + } + if (!rootObj.hitpoints.deathSaves || typeof rootObj.hitpoints.deathSaves !== 'object' || Array.isArray(rootObj.hitpoints.deathSaves)) { + if (!createIfMissing) return null; + rootObj.hitpoints.deathSaves = {}; + } + return rootObj.hitpoints.deathSaves; + }, + + async setDeathSavesState(characterId = '', { open = null, resetCounters = false, failures = null, successes = null } = {}) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + + const rootEntry = InventoryService.loadInventoryRoot(safeCharacterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message || 'Character store could not be read.' }; + + const deathSaves = this.getDeathSavesNode(rootEntry.root, true); + if (!deathSaves) return { ok: false, message: 'Death saves node could not be read.' }; + + if (open !== null && open !== undefined) deathSaves.open = !!open; + if (resetCounters) { + deathSaves.failures = 0; + deathSaves.successes = 0; + } + if (failures !== null && failures !== undefined) deathSaves.failures = Math.max(0, Math.min(3, Utils.toInt(failures, 0))); + if (successes !== null && successes !== undefined) deathSaves.successes = Math.max(0, Math.min(3, Utils.toInt(successes, 0))); + + const saved = await InventoryService.saveInventoryRootWithSheetWorker(safeCharacterId, rootEntry); + if (!saved) return { ok: false, message: 'Death saves could not be saved.' }; + return { + ok: true, + open: Utils.toBoolean(deathSaves.open, false), + failures: Utils.toInt(deathSaves.failures, 0), + successes: Utils.toInt(deathSaves.successes, 0) + }; + }, + + getDeathSavesState(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + const rootEntry = InventoryService.loadInventoryRoot(safeCharacterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message || 'Character store could not be read.' }; + const deathSaves = this.getDeathSavesNode(rootEntry.root, false); + if (!deathSaves) return { ok: true, open: false, failures: 0, successes: 0 }; + return { + ok: true, + open: Utils.toBoolean(deathSaves.open, false), + failures: Utils.toInt(deathSaves.failures, 0), + successes: Utils.toInt(deathSaves.successes, 0) + }; + }, + + async stabilizeDeathSaves(token = null, characterId = '', options = {}) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + await R20.setSheet(safeCharacterId, 'hp', 1); + await this.setDeathSavesState(safeCharacterId, { open: false, resetCounters: true }); + if (options && options.clearUnconscious) { + await this.setCharacterConditionState(token, safeCharacterId, 'unconscious', false); + } + return { ok: true }; + }, + + deathSavePublicSummary(result = {}) { + const safeResult = result || {}; + const tokenName = Html.span( + Utils.escapeHtml(String(safeResult.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:900;' + ); + if (safeResult.revived) { + return tokenName + ' defies the dark and ' + + Html.span('breathes alive', 'color:rgb(52,203,116);font-weight:900;') + + ' again.'; + } + if (safeResult.stabilized) { + return tokenName + ' clings to life and becomes ' + + Html.span('stable', 'color:rgb(170,170,170);font-weight:900;') + + '.'; + } + if (safeResult.dead) { + return tokenName + '\'s final breath fades into ' + + Html.span('death', 'color:rgb(255,30,30);font-weight:900;') + + '.'; + } + if (safeResult.hit) { + return tokenName + ' suffers another blow while fighting for life.'; + } + if (safeResult.roll) { + return tokenName + ' marks a death saving throw ' + + (safeResult.success ? Html.span('success', 'color:rgb(52,203,116);font-weight:900;') : Html.span('failure', 'color:rgb(255,70,70);font-weight:900;')) + + '.'; + } + return ''; + }, + + async resolveDeathSaveAction(token = null, character = null, mode = 'roll') { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const characterId = String(character.id || token.get('represents') || '').trim(); + if (!characterId) return { ok: false, message: 'Character is required.' }; + + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const tokenImgsrc = this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '') : ''; + const currentState = this.getDeathSavesState(characterId); + if (!currentState.ok || !currentState.open) { + return { ok: false, tokenName, message: tokenName + ' is not making death saving throws.' }; + } + + const normalizedMode = String(mode || 'roll').trim().toLowerCase(); + let failures = Math.max(0, Math.min(3, Utils.toInt(currentState.failures, 0))); + let successes = Math.max(0, Math.min(3, Utils.toInt(currentState.successes, 0))); + const result = { + ok: true, + tokenName, + tokenImgsrc, + mode: normalizedMode, + failuresBefore: failures, + successesBefore: successes + }; + + if (normalizedMode === 'stabilize') { + await this.stabilizeDeathSaves(token, characterId, { clearUnconscious: false }); + return Object.assign(result, { + stabilized: true, + failures: 0, + successes: 0, + summary: Html.span('Stable', 'color:rgb(170,170,170);font-weight:900;') + }); + } + + if (normalizedMode === 'hit') { + failures = Math.min(3, failures + 2); + if (failures >= 3) { + await this.setDeathSavesState(characterId, { open: false, failures: 3, successes }); + this.setTokenStatusMarker(token, CONFIG.DEATH_STATUS_MARKER, true); + return Object.assign(result, { + hit: true, + dead: true, + failures: 3, + successes, + summary: Html.span('Death', 'color:rgb(255,30,30);font-weight:900;') + }); + } + const savedHit = await this.setDeathSavesState(characterId, { failures, successes }); + return Object.assign(result, { + hit: true, + failures: savedHit.failures, + successes: savedHit.successes, + summary: 'Failures ' + String(savedHit.failures) + '/3' + }); + } + + const natural = Utils.rollDie(20); + const success = natural >= 10; + const roll = { + natural, + total: natural, + modifier: 0, + critical: natural === 20, + marker: natural === 20 ? '★' : (natural === 1 ? '💥' : '') + }; + + if (natural === 20) { + await this.stabilizeDeathSaves(token, characterId, { clearUnconscious: true }); + this.setTokenStatusMarker(token, CONFIG.DEATH_STATUS_MARKER, false); + return Object.assign(result, { + roll, + success: true, + revived: true, + failures: 0, + successes: 0, + summary: Html.span('Natural 20', 'color:rgb(52,203,116);font-weight:900;') + }); + } + + if (natural === 1) failures = Math.min(3, failures + 2); + else if (success) successes = Math.min(3, successes + 1); + else failures = Math.min(3, failures + 1); + + if (failures >= 3) { + await this.setDeathSavesState(characterId, { open: false, failures: 3, successes }); + this.setTokenStatusMarker(token, CONFIG.DEATH_STATUS_MARKER, true); + return Object.assign(result, { + roll, + success: false, + dead: true, + failures: 3, + successes, + summary: Html.span('Death', 'color:rgb(255,30,30);font-weight:900;') + }); + } + + if (successes >= 3) { + await this.stabilizeDeathSaves(token, characterId, { clearUnconscious: false }); + return Object.assign(result, { + roll, + success: true, + stabilized: true, + failures: 0, + successes: 0, + summary: Html.span('Stable', 'color:rgb(170,170,170);font-weight:900;') + }); + } + + const saved = await this.setDeathSavesState(characterId, { failures, successes }); + return Object.assign(result, { + roll, + success, + failures: saved.failures, + successes: saved.successes, + summary: (success ? 'Successes ' + String(saved.successes) : 'Failures ' + String(saved.failures)) + '/3' + }); + }, + + async setCharacterConditionState(token = null, characterId = '', conditionName = '', enabled = true) { + const safeCharacterId = String(characterId || '').trim(); + const normalized = this.normalizeConditionName(conditionName); + if (!safeCharacterId || !normalized) return { ok: false, message: 'Character and condition are required.' }; + + const result = await this.setStoreConditionActive(safeCharacterId, normalized, !!enabled); + if (!result.ok) { + Logger.debug('[Token:condition state]', result.message || ('Unable to update ' + normalized + '.')); + return result; + } + this.setTokenConditionMarker(token, normalized, !!enabled); + if (normalized === 'unconscious' && !!enabled) { + this.setTokenStatusMarker(token, 'stopwatch', false); + } + return result; + }, + + async markTokenDefeated(token = null, character = null) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const characterId = String(character.id || token.get('represents') || '').trim(); + if (!characterId) return { ok: false, message: 'Character is required.' }; + + const tokenData = await this.getTokenData(characterId); + const tokenDetails = this.getFastTokenDetails(tokenData); + const isNpcToken = Utils.toBoolean(tokenDetails.NPC, false); + + if (isNpcToken) { + this.setTokenStatusMarker(token, CONFIG.DEATH_STATUS_MARKER, true); + return { ok: true, npc: true }; + } + + await this.setCharacterConditionState(token, characterId, 'unconscious', true); + await this.setCharacterConditionState(token, characterId, 'prone', true); + await this.setDeathSavesState(characterId, { open: true }); + return { ok: true, npc: false }; + }, + + async clearHealedPlayerDefeatState(token = null, characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + await this.setDeathSavesState(safeCharacterId, { open: false, resetCounters: true }); + await this.setCharacterConditionState(token, safeCharacterId, 'unconscious', false); + return { ok: true }; + }, + + async handleTokenHpBar1Changed(token = null, prev = {}) { + if (!token || !Utils.isFunction(token.get)) return { ok: false, message: 'Token is required.' }; + const currentHp = this.getNumericTokenBarValue(token, 1, 'value'); + if (currentHp === null || currentHp > 0) return { ok: true, ignored: true }; + + const previousRaw = prev && Object.prototype.hasOwnProperty.call(prev, 'bar1_value') ? prev.bar1_value : ''; + const previousMatch = String(previousRaw || '').match(/[+-]?\d+/); + const previousHp = previousMatch ? Utils.toInt(previousMatch[0], 0) : null; + if (previousHp !== null && previousHp <= 0) return { ok: true, ignored: true }; + + const character = R20.getCharacterFromToken(token); + if (!character) return { ok: false, message: 'Token is not linked to a character.' }; + return this.markTokenDefeated(token, character); + }, + + applyActiveConditionMarkers(token = null, characterId = '') { + if (!token || !characterId) return { ok: false, applied: 0, message: 'Token and character are required.' }; + const rootEntry = InventoryService.loadInventoryRoot(characterId); + if (!rootEntry.ok) return { ok: false, applied: 0, message: rootEntry.message || 'Character store could not be read.' }; + const container = InventoryService.getInventoryContainer(rootEntry.root); + if (!container || typeof container !== 'object' || Array.isArray(container)) return { ok: false, applied: 0, message: 'Store container was not found.' }; + + let applied = 0; + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) { + const key = keys[i]; + const node = container[key]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + const nodeType = String(node.type || node.componentType || '').trim().toLowerCase(); + const conditionKey = nodeType === 'exhaustion' ? 'exhaustion' : this.normalizeConditionKey(key); + const active = nodeType === 'exhaustion' + ? Utils.toInt(node.value, 0) > 0 + : Utils.toBoolean(node._active, false); + if (!active) continue; + if (!CONFIG.CONDITION_STATUS_MARKERS[conditionKey] && nodeType !== 'condition') continue; + if (this.setTokenConditionMarker(token, conditionKey, true)) applied += 1; + } + return { ok: true, applied }; + }, + + async readConditionImmunities(characterId = '', attributes = []) { + const raw = await this.getResolvedAttributeValue(characterId, Array.isArray(attributes) ? attributes : [], 'npc_condition_immunities'); + return this.normalizeConditionTraitList(raw); + }, + + async applyConditionToToken(token = null, character = null, conditionName = '', options = {}) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const normalizedCondition = this.normalizeConditionName(conditionName); + if (!normalizedCondition) return { ok: false, message: 'Condition name is required.' }; + + const characterId = String(character.id || token.get('represents') || '').trim(); + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const attributes = this.getCharacterAttributes(characterId); + const immunities = await this.readConditionImmunities(characterId, attributes); + const conditionLabel = this.formatConditionName(normalizedCondition); + if (this.conditionTraitListIncludes(immunities, normalizedCondition)) { + return { + ok: true, + immune: true, + tokenName, + conditionName: conditionLabel + }; + } + + const currentState = this.getStoreConditionState(characterId, normalizedCondition); + if (!currentState.ok) return Object.assign({}, currentState, { tokenName, conditionName: conditionLabel }); + + const conditionKey = this.normalizeConditionKey(normalizedCondition); + const exhaustionValue = conditionKey === 'exhaustion' && Object.prototype.hasOwnProperty.call(options || {}, 'value') + ? Math.max(0, Math.min(6, Utils.toInt(options.value, 0))) + : undefined; + const hasExhaustionValue = exhaustionValue !== undefined; + const hasExplicitEnabled = Object.prototype.hasOwnProperty.call(options || {}, 'enabled'); + const explicitEnabled = hasExplicitEnabled ? Utils.toBoolean(options.enabled, false) : null; + const shouldRemove = conditionKey !== 'exhaustion' && (hasExplicitEnabled ? !explicitEnabled : Utils.toBoolean(currentState.active, false)); + const targetEnabled = conditionKey === 'exhaustion' + ? (hasExhaustionValue ? exhaustionValue > 0 : true) + : (hasExplicitEnabled ? explicitEnabled : !shouldRemove); + const result = await this.setStoreConditionActive( + characterId, + normalizedCondition, + targetEnabled, + conditionKey === 'exhaustion' && hasExhaustionValue ? { value: exhaustionValue } : {} + ); + if (!result.ok) return Object.assign({}, result, { tokenName, conditionName: conditionLabel }); + this.setTokenConditionMarker(token, normalizedCondition, conditionKey === 'exhaustion' ? Utils.toBoolean(result.current, false) : targetEnabled); + return Object.assign({}, result, { + ok: true, + immune: false, + removed: conditionKey === 'exhaustion' ? !Utils.toBoolean(result.current, false) : !targetEnabled, + tokenName, + conditionName: conditionLabel, + value: conditionKey === 'exhaustion' ? result.value : undefined + }); + }, + + renderConditionBody(result = {}) { + const tokenName = Html.span( + Utils.escapeHtml(String(result.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;' + ); + const conditionName = String(result.conditionName || 'condition').trim().toLowerCase(); + const conditionColor = this.getConditionColor(conditionName); + const conditionText = Html.span( + Utils.escapeHtml(conditionName), + 'color:' + conditionColor + ';font-weight:900;' + ); + const exhaustionSuffix = this.normalizeConditionKey(conditionName) === 'exhaustion' && Utils.toInt(result.value, 0) > 0 + ? ' level ' + Utils.escapeHtml(String(Utils.toInt(result.value, 0))) + : ''; + return result.immune + ? tokenName + ' is immune to ' + conditionText + '.' + : (result.removed + ? tokenName + ' is no longer ' + conditionText + '.' + : tokenName + ' is ' + conditionText + exhaustionSuffix + '.'); + }, + + async buildTokenData(characterId = '', attributes = [], dumpRoots = []) { + const existing = await this.getTokenData(characterId, attributes); + const existingCharacter = this.getFastCharacterDetails(existing); + const existingToken = this.getFastTokenDetails(existing); + const [ + hpMaxRaw, + acRaw, + levelRaw, + strModRaw, + dexModRaw, + conModRaw, + intModRaw, + wisModRaw, + chaModRaw, + pbRaw, + classRaw, + raceRaw, + resistancesRaw, + immunitiesRaw, + vulnerabilitiesRaw, + conditionImmunitiesRaw + ] = await Promise.all([ + this.getResolvedAttributeValue(characterId, attributes, 'hp_max'), + this.getResolvedAttributeValue(characterId, attributes, 'ac'), + this.getResolvedAttributeValue(characterId, attributes, 'level'), + this.getResolvedAttributeValue(characterId, attributes, 'strength_mod'), + this.getResolvedAttributeValue(characterId, attributes, 'dexterity_mod'), + this.getResolvedAttributeValue(characterId, attributes, 'constitution_mod'), + this.getResolvedAttributeValue(characterId, attributes, 'intelligence_mod'), + this.getResolvedAttributeValue(characterId, attributes, 'wisdom_mod'), + this.getResolvedAttributeValue(characterId, attributes, 'charisma_mod'), + this.getResolvedAttributeValue(characterId, attributes, 'pb'), + existingCharacter.class ? Promise.resolve(existingCharacter.class) : this.getResolvedAttributeValue(characterId, attributes, 'class'), + existingCharacter.race ? Promise.resolve(existingCharacter.race) : this.getResolvedAttributeValue(characterId, attributes, 'race'), + this.getResolvedAttributeValue(characterId, attributes, 'npc_resistances'), + this.getResolvedAttributeValue(characterId, attributes, 'npc_immunities'), + this.getResolvedAttributeValue(characterId, attributes, 'npc_vulnerabilities'), + this.getResolvedAttributeValue(characterId, attributes, 'npc_condition_immunities') + ]); + const characterDetails = { + hp_max: Utils.toInt(hpMaxRaw, 0), + ac: Utils.toInt(acRaw, 10), + level: Utils.toInt(levelRaw, 0), + str_mod: Utils.toInt(strModRaw, 0), + dex_mod: Utils.toInt(dexModRaw, 0), + con_mod: Utils.toInt(conModRaw, 0), + int_mod: Utils.toInt(intModRaw, 0), + wis_mod: Utils.toInt(wisModRaw, 0), + cha_mod: Utils.toInt(chaModRaw, 0), + pb: Utils.toInt(pbRaw, 0), + class: String(classRaw || '').trim(), + race: String(raceRaw || '').trim() + }; + const tokenDetails = Object.assign({}, existingToken, { + darkvision: await this.resolveDarkvisionFeet(characterId, attributes, dumpRoots), + brightLight: Math.max(0, Utils.toInt(existingToken.brightLight, 0)), + dimLight: Math.max(0, Utils.toInt(existingToken.dimLight, 0)), + lightShape: this.normalizeLightShape(existingToken.lightShape || 'radius'), + NPC: Utils.toBoolean(existingToken.NPC, false), + concentration: Utils.toBoolean(existingToken.concentration, false), + concentrated_on: Array.isArray(existingToken.concentrated_on) ? existingToken.concentrated_on : [], + damage_resistances: this.normalizeDamageTraitList(resistancesRaw), + damage_immunities: this.normalizeDamageTraitList(immunitiesRaw), + damage_vulnerabilities: this.normalizeDamageTraitList(vulnerabilitiesRaw), + condition_immunities: this.normalizeConditionTraitList(conditionImmunitiesRaw) + }); + + const shouldLookupClassCasting = !String(existingCharacter.class || '').trim(); + const shouldLookupRaceCasting = !String(existingCharacter.race || '').trim(); + const classAbility = String(existingCharacter.class_spellcasting_attribute || '').trim().toUpperCase() || + (shouldLookupClassCasting ? this.abilityNameToShort(this.findSpellcastingAbilityInDumpRoots(dumpRoots, characterDetails.class, 'class')) : ''); + const raceAbility = String(existingCharacter.race_spellcasting_attribute || '').trim().toUpperCase() || + (shouldLookupRaceCasting ? this.abilityNameToShort(this.findSpellcastingAbilityInDumpRoots(dumpRoots, characterDetails.race, 'race')) : ''); + + return this.buildSectionedTokenData( + Object.assign( + characterDetails, + this.buildSpellcastingTokenData({ abilityShort: classAbility, pb: characterDetails.pb, tokenData: characterDetails, prefix: 'class' }), + this.buildSpellcastingTokenData({ abilityShort: raceAbility, pb: characterDetails.pb, tokenData: characterDetails, prefix: 'race' }) + ), + tokenDetails + ); + }, + + async updateTokenDataAttribute(characterId = '', tokenData = {}) { + const characterDetails = this.getFastCharacterDetails(tokenData); + const tokenDetails = this.getFastTokenDetails(tokenData); + return this.updateJsonAttribute(characterId, 'user.T&T_token_data', JSON.stringify(this.buildSectionedTokenData(characterDetails, tokenDetails))); + }, + + async setCharacterRollPrivacy(characterId = '', publicRolls = true) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + const rootEntry = InventoryService.loadInventoryRoot(safeCharacterId); + if (!rootEntry.ok) return { ok: false, message: rootEntry.message || 'Character store could not be read.' }; + const root = rootEntry.root || {}; + if (!root.settings || typeof root.settings !== 'object' || Array.isArray(root.settings)) root.settings = {}; + if (!root.settings.rolls || typeof root.settings.rolls !== 'object' || Array.isArray(root.settings.rolls)) root.settings.rolls = {}; + root.settings.rolls.privacy = Utils.toBoolean(publicRolls, true) ? 'public' : 'gm'; + const saved = await InventoryService.saveInventoryRootWithSheetWorker(safeCharacterId, rootEntry); + if (!saved) return { ok: false, message: 'Roll privacy could not be saved.' }; + return { ok: true, privacy: root.settings.rolls.privacy }; + }, + + async updateTokenDataFields(characterId = '', fields = {}) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, action: 'failed', name: 'user.T&T_token_data', message: 'Character is required.' }; + + const attributeName = 'user.T&T_token_data'; + const rawCurrent = await R20.getSheet(safeCharacterId, attributeName); + const currentDetails = this.parseTokenDataValue(rawCurrent); + const nextDetails = this.buildSectionedTokenData( + this.getFastCharacterDetails(currentDetails), + Object.assign({}, this.getFastTokenDetails(currentDetails), fields || {}) + ); + const value = JSON.stringify(nextDetails); + + try { + await R20.setSheet(safeCharacterId, attributeName, value); + return { ok: true, action: 'set', name: attributeName, value, tokenData: nextDetails }; + } catch (error) { + return { + ok: false, + action: 'failed', + name: attributeName, + message: error && error.message ? error.message : String(error), + tokenData: currentDetails + }; + } + }, + + getSavableTokenDisplayFields(token = null) { + if (!token || !Utils.isFunction(token.get)) return {}; + const keys = [ + 'name', + 'imgsrc', + 'width', + 'height', + 'controlledby', + 'showname', + 'showplayers_name', + 'showplayers_bar1', + 'showplayers_bar2', + 'showplayers_bar3', + 'showplayers_aura1', + 'showplayers_aura2', + 'bar1_link', + 'bar2_link', + 'bar3_link', + 'aura1_radius', + 'aura1_color', + 'aura1_square', + 'aura1_options', + 'aura2_radius', + 'aura2_color', + 'aura2_square', + 'aura2_options', + 'has_night_vision', + 'night_vision_distance', + 'night_vision_effect', + 'night_vision_tint', + 'emits_bright_light', + 'bright_light_distance', + 'emits_low_light', + 'low_light_distance', + 'light_angle', + 'has_directional_bright_light', + 'directional_bright_light_total', + 'has_directional_dim_light', + 'directional_dim_light_total' + ]; + const out = {}; + keys.forEach((key) => { + out[key] = token.get(key); + }); + out.darkvision = Math.max(0, Utils.toInt(out.night_vision_distance, 0)); + out.brightLight = Math.max(0, Utils.toInt(out.bright_light_distance, 0)); + out.dimLight = Math.max(0, Utils.toInt(out.low_light_distance, 0)); + out.lightShape = String(out.light_angle || '') === '90' ? 'cone' : 'radius'; + out.lightAmplitude = (Utils.toBoolean(out.has_directional_bright_light, false) || Utils.toBoolean(out.has_directional_dim_light, false)) + ? Math.max(0, Utils.toInt(out.directional_bright_light_total, 0) || Utils.toInt(out.directional_dim_light_total, 0)) + : 0; + return out; + }, + + async saveTokenDisplayToTokenData(token = null, character = null) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const fields = this.getSavableTokenDisplayFields(token); + const result = await this.updateTokenDataFields(character.id, fields); + return Object.assign({}, result, { fields }); + }, + + async editTokenDisplayField(token = null, character = null, fieldKey = '', value = '', options = {}) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const field = this.getTokenEditField(fieldKey); + if (!field) return { ok: false, message: 'Unknown token edit field: ' + fieldKey + '.' }; + + const currentValue = this.getTokenEditFieldValue(token, field); + const nextValue = options.toggle + ? !Utils.toBoolean(currentValue, !!field.defaultValue) + : this.normalizeTokenEditValue(field, value); + const props = {}; + const customFastFields = {}; + + if (['isItem', 'lootable', 'isChest'].includes(field.key)) { + customFastFields[field.key] = nextValue; + } else if (field.key === 'imgsrc') { + if (!this.isRoll20TokenImageSource(nextValue)) { + return { ok: false, message: 'IMG Source must be a Roll20 files.d20.io image URL.' }; + } + props.imgsrc = nextValue; + } else if (field.key === 'lightAmplitude') { + const amplitude = Math.max(0, Math.min(360, Utils.toInt(nextValue, 0))); + const directional = amplitude > 0 && amplitude < 360; + props.has_directional_bright_light = directional; + props.directional_bright_light_total = directional ? amplitude : 360; + props.has_directional_dim_light = directional; + props.directional_dim_light_total = directional ? amplitude : 360; + customFastFields.lightAmplitude = directional ? amplitude : 0; + } else if (['bar1_link', 'bar2_link', 'bar3_link'].includes(field.key)) { + props[field.key] = this.resolveBarLinkAttributeId(character.id, nextValue); + } else { + props[field.key] = nextValue; + } + + if (field.key === 'bright_light_distance') { + props.emits_bright_light = Math.max(0, Utils.toInt(nextValue, 0)) > 0; + } + if (field.key === 'low_light_distance') { + props.emits_low_light = Math.max(0, Utils.toInt(nextValue, 0)) > 0; + } + if (field.key === 'night_vision_distance') { + props.has_night_vision = Math.max(0, Utils.toInt(nextValue, 0)) > 0; + if (props.has_night_vision && !String(token.get('night_vision_effect') || '').trim()) { + props.night_vision_effect = 'Nocturnal'; + } + } + if (field.key === 'has_night_vision' && nextValue && !String(token.get('night_vision_effect') || '').trim()) { + props.night_vision_effect = 'Nocturnal'; + } + if (field.key === 'night_vision_effect' && !String(nextValue || '').trim()) { + props.night_vision_effect = 'Nocturnal'; + } + + if (Object.keys(props).length) { + try { + token.set(props); + const pageId = String(token.get('_pageid') || token.get('pageid') || '').trim(); + const page = pageId ? getObj('page', pageId) : null; + if (page && Utils.isFunction(page.set)) page.set({ force_lighting_refresh: true }); + } catch (error) { + return { + ok: false, + message: error && error.message ? error.message : String(error) + }; + } + } + + const saveResult = await this.saveTokenDisplayToTokenData(token, character); + const finalResult = Object.keys(customFastFields).length + ? await this.updateTokenDataFields(character.id, customFastFields) + : saveResult; + return Object.assign({}, saveResult, { + ok: saveResult.ok && finalResult.ok, + field: field.key, + tokenData: finalResult.tokenData || saveResult.tokenData, + value: this.getTokenEditFieldValue(token, field, finalResult.tokenData || saveResult.tokenData), + properties: props + }); + }, + + parseShowNameChoice(value = '', defaultValue = true) { + const raw = String(value || '').trim().toLowerCase(); + if (!raw) return !!defaultValue; + if (['yes', 'y', 'true', '1', 'on', 'si'].includes(raw)) return true; + if (['no', 'n', 'false', '0', 'off'].includes(raw)) return false; + return !!defaultValue; + }, + + parseTokenNpcChoice(value = '', fallback = false) { + const raw = String(value || '').trim().toLowerCase(); + if (!raw) return !!fallback; + if (['npc', 'monster', 'enemy', 'mob', 'true', '1', 'yes', 'y', 'on'].includes(raw)) return true; + if (['player', 'pc', 'character', 'false', '0', 'no', 'n', 'off'].includes(raw)) return false; + return !!fallback; + }, + + hasTokenNpcChoice(value = '') { + const raw = String(value || '').trim().toLowerCase(); + return ['npc', 'monster', 'enemy', 'mob', 'true', '1', 'yes', 'y', 'on', 'player', 'pc', 'character', 'false', '0', 'no', 'n', 'off'].includes(raw); + }, + + resolveBarLinkAttributeId(characterId = '', attributeName = '') { + const attr = this.findCharacterAttribute(characterId, attributeName); + return attr && attr.id ? String(attr.id) : String(attributeName || '').trim(); + }, + + async buildTokenSetupProperties(characterId = '', tokenData = {}, options = {}) { + const defaultConfig = options.tokenDefaults || await this.getTokenDefaultConfig(); + const explicitShowName = Object.prototype.hasOwnProperty.call(options, 'showName') && + (typeof options.showName === 'boolean' || String(options.showName === undefined || options.showName === null ? '' : options.showName).trim() !== ''); + const showName = explicitShowName + ? this.parseShowNameChoice(options.showName, Utils.toBoolean(defaultConfig.showplayers_name, true)) + : Utils.toBoolean(defaultConfig.showplayers_name, true); + const tokenDetails = this.getFastTokenDetails(tokenData); + let darkvision = Math.max(0, Utils.toInt(tokenDetails.darkvision, 0)); + const brightLight = Math.max(0, Utils.toInt(tokenDetails.brightLight, 0)); + const dimLight = Math.max(0, Utils.toInt(tokenDetails.dimLight, 0)); + const lightShape = this.normalizeLightShape(tokenDetails.lightShape); + const lightAmplitude = Math.max(0, Math.min(360, Utils.toInt(tokenDetails.lightAmplitude, 0))); + const directionalLight = lightAmplitude > 0 && lightAmplitude < 360; + const hasTokenValue = (key) => Object.prototype.hasOwnProperty.call(tokenDetails, key); + const tokenValue = (key, fallback = '') => { + if (!hasTokenValue(key)) return fallback; + const value = tokenDetails[key]; + return value === undefined || value === null ? fallback : value; + }; + const characterDetails = this.getFastCharacterDetails(tokenData); + const isNpcToken = Object.prototype.hasOwnProperty.call(options, 'NPC') + ? this.parseTokenNpcChoice(options.NPC, Utils.toBoolean(tokenDetails.NPC, false)) + : Utils.toBoolean(tokenDetails.NPC, false); + if (!isNpcToken && darkvision <= 0 && Utils.toBoolean(defaultConfig.blind_token_vision, true)) darkvision = 1; + const width = tokenValue('width'); + const height = tokenValue('height'); + const controlledby = String(tokenValue('controlledby')); + const imgsrc = String(tokenValue('imgsrc')).trim(); + const bar1Link = String(tokenValue('bar1_link', defaultConfig.bar1_link || 'hp')); + const bar2Link = String(tokenValue('bar2_link', defaultConfig.bar2_link || 'ac')); + const bar3Link = String(tokenValue('bar3_link', defaultConfig.bar3_link || 'hp_temp')); + const defaultOrTokenValue = (key, fallback = '') => { + if (hasTokenValue(key)) return tokenValue(key, fallback); + if (Object.prototype.hasOwnProperty.call(defaultConfig, key) && defaultConfig[key] !== undefined && defaultConfig[key] !== null && String(defaultConfig[key]).trim() !== '') return defaultConfig[key]; + return fallback; + }; + const barLinkedTo = (linkValue = '', attrName = '') => { + return String(linkValue || '').trim().toLowerCase() === String(attrName || '').trim().toLowerCase(); + }; + const display = { + showname: true, + showplayers_name: showName, + showplayers_bar1: Utils.toBoolean(defaultConfig.showplayers_bar1, true), + showplayers_bar2: Utils.toBoolean(defaultConfig.showplayers_bar2, false), + showplayers_bar3: Utils.toBoolean(defaultConfig.showplayers_bar3, true), + showplayers_aura1: Utils.toBoolean(defaultConfig.showplayers_aura1, true), + showplayers_aura2: Utils.toBoolean(defaultConfig.showplayers_aura2, true), + bar1_link: isNpcToken && ['hp', 'hp_temp', ''].includes(String(bar1Link || '').trim().toLowerCase()) + ? '' + : this.resolveBarLinkAttributeId(characterId, bar1Link || 'hp'), + bar2_link: isNpcToken && ['hp', 'hp_temp', ''].includes(String(bar2Link || '').trim().toLowerCase()) + ? '' + : this.resolveBarLinkAttributeId(characterId, bar2Link || 'ac'), + bar3_link: isNpcToken && ['hp', 'hp_temp', ''].includes(String(bar3Link || '').trim().toLowerCase()) + ? '' + : this.resolveBarLinkAttributeId(characterId, bar3Link || 'hp_temp') + }; + if (isNpcToken && (String(bar1Link || '').trim().toLowerCase() === 'hp' || !String(bar1Link || '').trim())) { + const hpMax = Math.max(0, Utils.toInt(characterDetails.hp_max, 0)); + const localHpMax = Math.max(0, Utils.toInt(defaultOrTokenValue('bar1_max', hpMax), hpMax)); + const localHp = Math.max(0, Utils.toInt(defaultOrTokenValue('bar1_value', localHpMax || hpMax), localHpMax || hpMax)); + display.bar1_value = localHp; + display.bar1_max = localHpMax || hpMax || localHp; + } + if (isNpcToken && String(bar2Link || '').trim().toLowerCase() === 'hp') { + const hpMax = Math.max(0, Utils.toInt(characterDetails.hp_max, 0)); + const localHpMax = Math.max(0, Utils.toInt(defaultOrTokenValue('bar2_max', hpMax), hpMax)); + const localHp = Math.max(0, Utils.toInt(defaultOrTokenValue('bar2_value', localHpMax || hpMax), localHpMax || hpMax)); + display.bar2_value = localHp; + display.bar2_max = localHpMax || hpMax || localHp; + } + if (isNpcToken && String(bar3Link || '').trim().toLowerCase() === 'hp') { + const hpMax = Math.max(0, Utils.toInt(characterDetails.hp_max, 0)); + const localHpMax = Math.max(0, Utils.toInt(defaultOrTokenValue('bar3_max', hpMax), hpMax)); + const localHp = Math.max(0, Utils.toInt(defaultOrTokenValue('bar3_value', localHpMax || hpMax), localHpMax || hpMax)); + display.bar3_value = localHp; + display.bar3_max = localHpMax || hpMax || localHp; + } + if (!isNpcToken && barLinkedTo(bar1Link, 'hp')) { + const hpMax = Math.max(0, Utils.toInt(characterDetails.hp_max, 0)); + const hpValue = Math.max(0, Utils.toInt(defaultOrTokenValue('bar1_value', hpMax), hpMax)); + display.bar1_value = hpValue; + display.bar1_max = Math.max(0, Utils.toInt(defaultOrTokenValue('bar1_max', hpMax), hpMax)); + } + if (barLinkedTo(bar2Link, 'ac')) { + const ac = Math.max(0, Utils.toInt(characterDetails.ac || await R20.getSheet(characterId, 'ac'), 0)); + if (ac > 0) { + display.bar2_value = Math.max(0, Utils.toInt(defaultOrTokenValue('bar2_value', ac), ac)); + display.bar2_max = defaultOrTokenValue('bar2_max', ''); + } + } + ['bar2_value', 'bar2_max', 'bar3_value', 'bar3_max'].forEach((key) => { + if ((hasTokenValue(key) || (Object.prototype.hasOwnProperty.call(defaultConfig, key) && String(defaultConfig[key] || '').trim() !== '')) && display[key] === undefined) { + display[key] = defaultOrTokenValue(key); + } + }); + const storeTempHp = isNpcToken + ? this.getStoreTempHpFromDumpRoots(this.getCharacterStoreDumpRoots(this.getCharacterAttributes(characterId))) + : 0; + const applyNpcTempHpBar = (barNumber, linkValue) => { + if (!isNpcToken || (String(linkValue || '').trim().toLowerCase() !== 'hp_temp' && !(barNumber === 3 && !String(linkValue || '').trim()))) return; + const valueKey = 'bar' + String(barNumber) + '_value'; + const maxKey = 'bar' + String(barNumber) + '_max'; + display[valueKey] = storeTempHp; + display[maxKey] = storeTempHp; + }; + applyNpcTempHpBar(1, bar1Link); + applyNpcTempHpBar(2, bar2Link); + applyNpcTempHpBar(3, bar3Link); + if (!isNpcToken && barLinkedTo(bar3Link, 'hp_temp')) { + const hpTempAttr = this.findCharacterAttribute(characterId, 'hp_temp'); + const hpTempRaw = this.getAttributeCurrent(hpTempAttr) || String(await R20.getSheet(characterId, 'hp_temp') || '').trim(); + const hpTempMaxRaw = hpTempAttr && Utils.isFunction(hpTempAttr.get) ? String(hpTempAttr.get('max') || '').trim() : ''; + display.bar3_value = Math.max(0, Utils.toInt(defaultOrTokenValue('bar3_value', hpTempRaw), Utils.toInt(hpTempRaw, 0))); + display.bar3_max = Math.max(0, Utils.toInt(defaultOrTokenValue('bar3_max', hpTempMaxRaw || hpTempRaw), Utils.toInt(hpTempMaxRaw || hpTempRaw, 0))); + } + if (width !== '' && width !== null && width !== undefined) display.width = width; + if (height !== '' && height !== null && height !== undefined) display.height = height; + if (this.isRoll20TokenImageSource(imgsrc)) display.imgsrc = imgsrc; + if (hasTokenValue('controlledby')) display.controlledby = controlledby; + [ + 'aura1_radius', + 'aura1_color', + 'aura1_square', + 'aura1_options', + 'aura2_radius', + 'aura2_color', + 'aura2_square', + 'aura2_options' + ].forEach((key) => { + if (hasTokenValue(key)) display[key] = key.indexOf('_square') >= 0 + ? Utils.toBoolean(tokenValue(key), false) + : String(tokenValue(key) || ''); + }); + const hasBrightLightVision = hasTokenValue('has_bright_light_vision') + ? Utils.toBoolean(tokenValue('has_bright_light_vision'), true) + : (isNpcToken + ? Utils.toBoolean(defaultConfig.npc_has_vision, false) + : Utils.toBoolean(defaultConfig.has_bright_light_vision, true)); + const vision = { + light_hassight: true, + light_angle: '360', + light_losangle: '360', + has_bright_light_vision: hasBrightLightVision, + emits_bright_light: brightLight > 0, + bright_light_distance: brightLight, + emits_low_light: dimLight > 0, + low_light_distance: dimLight, + light_otherplayers: brightLight > 0 || dimLight > 0, + has_directional_bright_light: directionalLight, + directional_bright_light_total: directionalLight ? lightAmplitude : 360, + has_directional_dim_light: directionalLight, + directional_dim_light_total: directionalLight ? lightAmplitude : 360 + }; + if (brightLight > 0 || dimLight > 0) { + vision.light_angle = lightShape === 'cone' ? '90' : '360'; + vision.light_radius = ''; + vision.light_dimradius = ''; + } + if (darkvision > 0) { + vision.has_night_vision = true; + vision.night_vision_distance = darkvision; + vision.night_vision_effect = 'Nocturnal'; + vision.night_vision_tint = 'transparent'; + if (!(brightLight > 0 || dimLight > 0)) { + vision.light_radius = '0'; + vision.light_dimradius = '0'; + } + } else { + vision.has_night_vision = false; + vision.night_vision_distance = 0; + vision.night_vision_effect = null; + vision.night_vision_tint = null; + if (!(brightLight > 0 || dimLight > 0)) { + vision.light_radius = ''; + vision.light_dimradius = ''; + } + } + if (darkvision > 0) { + const tint = this.normalizeTokenTint(defaultConfig.night_vision_tint); + const effect = String(defaultConfig.night_vision_effect || 'Nocturnal').trim() || 'Nocturnal'; + vision.night_vision_tint = tint || null; + vision.night_vision_effect = effect; + } + [1, 2, 3].forEach((barNumber) => { + const linkKey = 'bar' + String(barNumber) + '_link'; + const valueKey = 'bar' + String(barNumber) + '_value'; + const maxKey = 'bar' + String(barNumber) + '_max'; + if (String(display[linkKey] || '').trim()) { + delete display[valueKey]; + delete display[maxKey]; + } else if (Object.prototype.hasOwnProperty.call(display, linkKey)) { + display[linkKey] = ''; + } + }); + return { + display, + vision, + all: Object.assign({ NPC: isNpcToken, darkvision, brightLight, dimLight, lightShape, lightAmplitude }, display, vision) + }; + }, + + async setupTokenDisplay(token = null, character = null, tokenData = {}, options = {}) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const tokenDefaults = options.tokenDefaults || await this.getTokenDefaultConfig(); + const properties = await this.buildTokenSetupProperties(character.id, tokenData, Object.assign({}, options, { token, tokenDefaults })); + try { + const barValueProps = {}; + const barLinkProps = {}; + const displayProps = {}; + Object.keys(properties.display || {}).forEach((key) => { + if (/^bar[123]_(?:value|max)$/.test(key)) barValueProps[key] = properties.display[key]; + else if (/^bar[123]_link$/.test(key)) barLinkProps[key] = properties.display[key]; + else displayProps[key] = properties.display[key]; + }); + const tokenDetailsForSetup = this.getFastTokenDetails(tokenData); + const npcTempBars = []; + if (Utils.toBoolean(properties.all && properties.all.NPC, false)) { + for (let bar = 1; bar <= 3; bar += 1) { + const linkKey = 'bar' + String(bar) + '_link'; + const linkValue = String(tokenDetailsForSetup[linkKey] || tokenDefaults[linkKey] || '').trim().toLowerCase(); + const isDefaultTempBar = bar === 3 && !linkValue; + if (linkValue === 'hp_temp' || isDefaultTempBar) npcTempBars.push(bar); + } + } + for (let i = 0; i < npcTempBars.length; i += 1) { + const bar = npcTempBars[i]; + const prefix = 'bar' + String(bar) + '_'; + const linkKey = prefix + 'link'; + const maxKey = prefix + 'max'; + const valueKey = prefix + 'value'; + if ( + !Object.prototype.hasOwnProperty.call(properties.display || {}, valueKey) || + !Object.prototype.hasOwnProperty.call(properties.display || {}, maxKey) + ) { + continue; + } + if (Object.prototype.hasOwnProperty.call(barLinkProps, linkKey)) { + const linkProps = {}; + linkProps[linkKey] = barLinkProps[linkKey]; + token.set(linkProps); + delete barLinkProps[linkKey]; + } + const maxProps = {}; + maxProps[maxKey] = properties.display[maxKey]; + token.set(maxProps); + const valueProps = {}; + valueProps[valueKey] = properties.display[valueKey]; + token.set(valueProps); + delete barValueProps[maxKey]; + delete barValueProps[valueKey]; + } + if (Object.keys(barValueProps).length) token.set(barValueProps); + if (Object.keys(displayProps).length) token.set(displayProps); + if (Object.keys(barLinkProps).length) token.set(barLinkProps); + token.set(properties.vision); + const privacyResult = await this.setCharacterRollPrivacy(character.id, tokenDefaults.public_rolls); + if (!privacyResult.ok) return privacyResult; + this.setInitializationMarker(character.id); + this.applyActiveConditionMarkers(token, character.id); + const pageId = String(token.get('_pageid') || token.get('pageid') || '').trim(); + const page = pageId ? getObj('page', pageId) : null; + if (page && Utils.isFunction(page.set)) page.set({ force_lighting_refresh: true }); + } catch (error) { + return { + ok: false, + message: error && error.message ? error.message : String(error) + }; + } + const appliedDirectional = Utils.toBoolean(properties.all.has_directional_bright_light, false) || + Utils.toBoolean(properties.all.has_directional_dim_light, false); + const appliedLightAmplitude = appliedDirectional + ? Math.max(0, Utils.toInt(properties.all.directional_bright_light_total, 0) || Utils.toInt(properties.all.directional_dim_light_total, 0)) + : 0; + return { + ok: true, + properties: properties.all, + tokenData: this.buildSectionedTokenData( + this.getFastCharacterDetails(tokenData), + Object.assign( + {}, + this.getFastTokenDetails(tokenData), + properties.all, + { + lootable: Object.prototype.hasOwnProperty.call(tokenDefaults, 'lootable') + ? Utils.toBoolean(tokenDefaults.lootable, false) + : Utils.toBoolean(this.getFastTokenDetails(tokenData).lootable, false), + lightAmplitude: appliedLightAmplitude + } + ) + ), + message: '' + }; + }, + + applyTokenLight(token = null, lightDetails = {}) { + if (!token) return { ok: false, message: 'Token was not found.' }; + const tokenDetails = this.getFastTokenDetails(lightDetails); + const brightLight = Math.max(0, Utils.toInt(tokenDetails.brightLight, 0)); + const dimLight = Math.max(0, Utils.toInt(tokenDetails.dimLight, 0)); + const lightShape = this.normalizeLightShape(tokenDetails.lightShape); + const lightAmplitude = Math.max(0, Math.min(360, Utils.toInt(tokenDetails.lightAmplitude, 0))); + const directionalLight = lightAmplitude > 0 && lightAmplitude < 360; + const lightProps = { + emits_bright_light: brightLight > 0, + bright_light_distance: brightLight, + emits_low_light: dimLight > 0, + low_light_distance: dimLight, + light_angle: (brightLight > 0 || dimLight > 0) && lightShape === 'cone' ? '90' : '360', + light_otherplayers: brightLight > 0 || dimLight > 0, + has_directional_bright_light: directionalLight, + directional_bright_light_total: directionalLight ? lightAmplitude : 360, + has_directional_dim_light: directionalLight, + directional_dim_light_total: directionalLight ? lightAmplitude : 360, + light_radius: '', + light_dimradius: '' + }; + try { + token.set(lightProps); + const pageId = String(token.get('_pageid') || token.get('pageid') || '').trim(); + const page = pageId ? getObj('page', pageId) : null; + if (page && Utils.isFunction(page.set)) page.set({ force_lighting_refresh: true }); + } catch (error) { + return { + ok: false, + message: error && error.message ? error.message : String(error) + }; + } + return { + ok: true, + properties: lightProps + }; + }, + + async updateTokenLightFromEffect(token = null, character = null, effectText = '') { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const lightDetails = this.parseLightSourceEffect(effectText); + if (!lightDetails) return { ok: false, skipped: true, message: 'No light effect found.' }; + + const updateResult = await this.updateTokenDataFields(character.id, lightDetails); + if (!updateResult.ok) return updateResult; + + const lightResult = this.applyTokenLight(token, updateResult.tokenData); + if (!lightResult.ok) return lightResult; + return { + ok: true, + light: lightDetails, + tokenData: updateResult.tokenData + }; + }, + + async turnTokenLightOff(token = null, character = null) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const updateResult = await this.updateTokenDataFields(character.id, { + brightLight: 0, + dimLight: 0, + lightShape: 'radius', + lightAmplitude: 0, + has_directional_bright_light: false, + directional_bright_light_total: 360, + has_directional_dim_light: false, + directional_dim_light_total: 360 + }); + if (!updateResult.ok) return updateResult; + + const lightResult = this.applyTokenLight(token, updateResult.tokenData); + if (!lightResult.ok) return lightResult; + return { + ok: true, + tokenData: updateResult.tokenData + }; + }, + + findAttackNodeInDumpRoots(dumpRoots = [], entry = {}) { + const attackId = this.cleanRepeatingActionId(entry.attackId || entry.id || ''); + const attackName = this.normalizeLookupText(entry.attackName || entry.name || ''); + if ((!attackId && !attackName) || !Array.isArray(dumpRoots) || !dumpRoots.length) return null; + + let idOnlyNode = null; + let nameOnlyNode = null; + const matchesName = (node) => { + if (!attackName) return true; + const nodeName = this.normalizeLookupText(node.name || ''); + const recordName = this.normalizeLookupText(node.recordName || ''); + return nodeName === attackName || + recordName === attackName || + recordName.indexOf(attackName) >= 0 || + (!!nodeName && attackName.indexOf(nodeName) >= 0); + }; + + const walk = (node) => { + if (!node || typeof node !== 'object') return null; + + if (Array.isArray(node)) return node.reduce((found, child) => found || walk(child), null); + + const shortId = String(node.shortID || node.shortId || '').trim(); + if (attackId && shortId === attackId) { + if (matchesName(node)) return node; + if (!idOnlyNode) idOnlyNode = node; + } + if (!nameOnlyNode && node.attack && typeof node.attack === 'object' && matchesName(node)) { + nameOnlyNode = node; + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + const found = walk(node[keys[i]]); + if (found) return found; + } + return null; + }; + + for (let i = 0; i < dumpRoots.length; i += 1) { + const found = walk(dumpRoots[i]); + if (found) return found; + } + return idOnlyNode || nameOnlyNode; + }, + + abilityNameToModifierAttribute(abilityName = '') { + const normalized = String(abilityName || '').trim().toLowerCase(); + if (!normalized || normalized === 'none' || normalized === 'auto' || normalized === 'spell') return ''; + + const map = { + strength: 'strength_mod', + str: 'strength_mod', + dexterity: 'dexterity_mod', + dex: 'dexterity_mod', + constitution: 'constitution_mod', + con: 'constitution_mod', + intelligence: 'intelligence_mod', + int: 'intelligence_mod', + wisdom: 'wisdom_mod', + wis: 'wisdom_mod', + charisma: 'charisma_mod', + cha: 'charisma_mod' + }; + return map[normalized] || ''; + }, + + modifierAttributeToFastKey(attributeName = '') { + const key = this.cleanSheetAttributeReference(attributeName).toLowerCase(); + const map = { + strength_mod: 'str_mod', + dexterity_mod: 'dex_mod', + constitution_mod: 'con_mod', + intelligence_mod: 'int_mod', + wisdom_mod: 'wis_mod', + charisma_mod: 'cha_mod' + }; + return map[key] || key; + }, + + getFastDetailValue(tokenData = {}, attributeName = '') { + const key = this.modifierAttributeToFastKey(attributeName); + if (!key || !tokenData || typeof tokenData !== 'object') return ''; + const characterDetails = this.getFastCharacterDetails(tokenData); + const tokenDetails = this.getFastTokenDetails(tokenData); + const source = Object.prototype.hasOwnProperty.call(characterDetails, key) + ? characterDetails + : (Object.prototype.hasOwnProperty.call(tokenDetails, key) ? tokenDetails : tokenData); + if (!Object.prototype.hasOwnProperty.call(source, key)) return ''; + const value = source[key]; + return value === undefined || value === null ? '' : String(value).trim(); + }, + + async getCachedOrResolvedAttributeValue(characterId = '', attributes = [], attributeName = '', tokenData = {}) { + const cached = this.getFastDetailValue(tokenData, attributeName); + if (cached !== '') return cached; + return this.getResolvedAttributeValue(characterId, attributes, attributeName); + }, + + isBlankOrZeroModifier(value = '') { + const raw = String(value || '').trim(); + return !raw || raw === '0' || raw === '+0' || raw === '-0'; + }, + + isPositiveFlag(value = '') { + const raw = String(value || '').trim().toLowerCase(); + if (!raw) return false; + if (['1', 'true', 'yes', 'y', 'on'].includes(raw)) return true; + return Utils.toInt(raw, 0) > 0; + }, + + damageTextHasModifier(value = '') { + return /[+-]\s*\d+/.test(String(value || '').trim()); + }, + + getDamageNodeBonus(damageNode = null) { + const node = damageNode || {}; + const keys = ['_bonus', 'bonus', 'flatBonus', 'flatValue', 'value']; + for (let i = 0; i < keys.length; i += 1) { + if (!Object.prototype.hasOwnProperty.call(node, keys[i])) continue; + const value = String(node[keys[i]] || '').trim(); + if (!this.isBlankOrZeroModifier(value)) return value; + } + return ''; + }, + + appendDamageModifier(base = '', next = '') { + const rawNext = String(next || '').trim(); + if (this.isBlankOrZeroModifier(rawNext)) return String(base || '').trim(); + + const current = String(base || '').trim(); + const normalizedNext = /^[+-]?\d+$/.test(rawNext) + ? (Utils.toInt(rawNext, 0) >= 0 ? ('+' + String(Utils.toInt(rawNext, 0))) : String(Utils.toInt(rawNext, 0))) + : rawNext; + + if (!current) return normalizedNext; + if (normalizedNext.charAt(0) === '-') return current + ' - ' + normalizedNext.slice(1); + return current + ' + ' + normalizedNext.replace(/^\+/, ''); + }, + + async getResolvedAttributeValue(characterId = '', attributes = [], attributeName = '') { + const attrName = this.cleanSheetAttributeReference(attributeName); + if (!attrName) return ''; + + const directValue = this.getAttributeCurrentByName(attributes, attrName); + if (directValue !== undefined && directValue !== null && String(directValue).trim() !== '') return directValue; + + const rawSheetValue = await R20.getSheet(characterId, attrName); + const sheetValue = rawSheetValue === undefined || rawSheetValue === null ? '' : String(rawSheetValue).trim(); + return this.isRepeatingLookupError(sheetValue) ? '' : sheetValue; + }, + + async getFirstResolvedAttributeValue(characterId = '', attributes = [], attributeNames = []) { + const names = Array.isArray(attributeNames) ? attributeNames : [attributeNames]; + for (let i = 0; i < names.length; i += 1) { + const value = await this.getResolvedAttributeValue(characterId, attributes, names[i]); + if (value !== undefined && value !== null && String(value).trim() !== '') return String(value).trim(); + } + return ''; + }, + + modifierValueToNumber(value = '') { + const raw = String(value || '').trim(); + if (!raw) return 0; + const match = raw.match(/[+-]?\d+/); + return match ? Utils.toInt(match[0], 0) : 0; + }, + + formatSignedModifier(value = 0) { + const numeric = Utils.toInt(value, 0); + return numeric >= 0 ? ('+' + String(numeric)) : String(numeric); + }, + + async getTokenActionHeaderStats(characterId = '', attributes = []) { + const safeCharacterId = String(characterId || '').trim(); + const safeAttributes = Array.isArray(attributes) ? attributes : []; + const [strRaw, dexRaw, spellAttackRaw, spellSaveRaw] = await Promise.all([ + this.getResolvedAttributeValue(safeCharacterId, safeAttributes, 'strength_mod'), + this.getResolvedAttributeValue(safeCharacterId, safeAttributes, 'dexterity_mod'), + this.getResolvedAttributeValue(safeCharacterId, safeAttributes, 'spell_attack_bonus'), + this.getResolvedAttributeValue(safeCharacterId, safeAttributes, 'spell_save_dc') + ]); + const formatBonus = (value) => { + if (value === undefined || value === null || String(value).trim() === '') return '+0'; + return this.formatSignedModifier(this.modifierValueToNumber(value)); + }; + return { + strMod: formatBonus(strRaw), + dexMod: formatBonus(dexRaw), + spellAttackBonus: formatBonus(spellAttackRaw), + spellSaveDc: String(spellSaveRaw || '').trim() + }; + }, + + stripCommandQuotes(value = '') { + return String(value === undefined || value === null ? '' : value) + .trim() + .replace(/^["']+|["']+$/g, '') + .trim(); + }, + + parseDealArgs(args = []) { + const safeArgs = Array.isArray(args) ? args.slice(1) : []; + const damage = Math.max(0, Utils.toInt(this.stripCommandQuotes(safeArgs[0]), 0)); + const damageType = this.stripCommandQuotes(safeArgs[1] || ''); + const challengeText = this.stripCommandQuotes(safeArgs[2] || ''); + const abilityText = this.stripCommandQuotes(safeArgs[3] || ''); + const halfText = this.stripCommandQuotes(safeArgs[4] || ''); + const flagsText = safeArgs.slice(5).map((entry) => this.stripCommandQuotes(entry)).join(' ').toLowerCase(); + const challengeMatch = challengeText.match(/[+-]?\d+/); + const saveAbility = this.normalizeAbilityName(abilityText); + const halfOnSuccess = ['1', 'true', 'yes', 'y', 'half', 'on'].includes(String(halfText || '').trim().toLowerCase()); + const challengeValue = challengeMatch ? Utils.toInt(challengeMatch[0], 0) : null; + return { + damage, + damageType, + challengeText, + challengeValue, + attackValue: saveAbility ? null : (challengeValue > 0 ? challengeValue : null), + saveAbility, + halfOnSuccess, + silentMiss: flagsText.indexOf('silentmiss') >= 0 + }; + }, + + buildDealBatchCommand(damageRolls = [], options = {}) { + const damages = (Array.isArray(damageRolls) ? damageRolls : []) + .map((damageRoll) => { + return { + damage: Math.max(0, Utils.toInt(damageRoll && damageRoll.total, 0)), + damageType: String((damageRoll && damageRoll.damageType) || 'normal').trim() || 'normal' + }; + }) + .filter((entry) => entry.damage > 0 || !this.isNormalDamageType(entry.damageType)); + if (!damages.length) damages.push({ damage: 0, damageType: 'normal' }); + + const saveAbility = this.normalizeAbilityName(options.saveAbility || ''); + const challenge = Math.max(0, Utils.toInt(options.challenge, 0)); + const payload = encodeURIComponent(JSON.stringify({ + damages, + challenge: Utils.toBoolean(options.useChallenge, false) ? challenge : 0, + saveAbility, + halfOnSuccess: Utils.toBoolean(options.halfOnSuccess, false) + })); + const halfKnown = Utils.toBoolean(options.halfOnSuccessKnown, false); + const halfPrompt = saveAbility && challenge > 0 && !halfKnown + ? (Utils.toBoolean(options.halfOnSuccess, false) + ? ' ?{Half on Success|Yes,yes|No,no}' + : ' ?{Half on Success|No,no|Yes,yes}') + : ''; + return '!tntToken dealbatch ' + payload + halfPrompt; + }, + + parseDealBatchArgs(args = []) { + const safeArgs = Array.isArray(args) ? args.slice(1) : []; + let payload = {}; + try { + payload = JSON.parse(decodeURIComponent(this.stripCommandQuotes(safeArgs[0] || ''))); + } catch (err) { + payload = {}; + } + const damages = (Array.isArray(payload.damages) ? payload.damages : []) + .map((entry) => { + return { + damage: Math.max(0, Utils.toInt(entry && entry.damage, 0)), + damageType: this.stripCommandQuotes((entry && entry.damageType) || 'normal') || 'normal' + }; + }); + const halfText = this.stripCommandQuotes(safeArgs[1] || ''); + const challengeValue = Math.max(0, Utils.toInt(payload.challenge, 0)); + const saveAbility = this.normalizeAbilityName(payload.saveAbility || ''); + const payloadHalfOnSuccess = Utils.toBoolean(payload.halfOnSuccess, false); + return { + damages: damages.length ? damages : [{ damage: 0, damageType: 'normal' }], + challengeValue: challengeValue > 0 ? challengeValue : null, + attackValue: saveAbility ? null : (challengeValue > 0 ? challengeValue : null), + saveAbility, + halfOnSuccess: halfText + ? ['1', 'true', 'yes', 'y', 'half', 'on'].includes(String(halfText || '').trim().toLowerCase()) + : payloadHalfOnSuccess + }; + }, + + isPlayerControlledCharacter(character = null) { + if (!character || !Utils.isFunction(character.get)) return false; + const controlledBy = String(character.get('controlledby') || '').trim(); + return !!controlledBy; + }, + + isNpcCharacter(characterId = '', attributes = []) { + const appState = String(this.getAttributeCurrentByName(attributes, 'appState') || '').trim().toLowerCase(); + return appState === 'npc'; + }, + + shouldRequestManualSave(token = null, character = null, deal = {}) { + if (!RuntimeConfig.get('PLAYER_MANUAL_ROLL')) return false; + if (!token || !character) return false; + if (!deal || !this.normalizeAbilityName(deal.saveAbility || '')) return false; + if (deal.challengeValue === null || deal.challengeValue === undefined || Utils.toInt(deal.challengeValue, 0) <= 0) return false; + if (!this.isPlayerControlledCharacter(character)) return false; + const characterId = String(character.id || token.get('represents') || '').trim(); + const attributes = this.getCharacterAttributes(characterId); + return !this.isNpcCharacter(characterId, attributes); + }, + + makeManualRollRequestId() { + return 'mr_' + String(Date.now()) + '_' + Math.random().toString(36).slice(2, 10); + }, + + pruneManualRollRequests(maxAgeMs = 600000) { + const root = State.get(); + root.manualRolls = root.manualRolls || {}; + const now = Date.now(); + Object.keys(root.manualRolls).forEach((key) => { + const entry = root.manualRolls[key]; + const createdAt = Math.max(0, Utils.toInt(entry && entry.createdAt, 0)); + if (!createdAt || now - createdAt > maxAgeMs) delete root.manualRolls[key]; + }); + }, + + createManualRollRequest(token = null, payload = {}, who = 'GM') { + this.pruneManualRollRequests(); + const tokenRef = R20.makeTokenRef(token); + if (!tokenRef) return ''; + const root = State.get(); + root.manualRolls = root.manualRolls || {}; + const requestId = this.makeManualRollRequestId(); + root.manualRolls[requestId] = { + tokenRef, + payload: this.clonePlainDealPayload(payload), + requestedBy: String(who || 'GM'), + createdAt: Date.now() + }; + return requestId; + }, + + consumeManualRollRequest(requestId = '') { + this.pruneManualRollRequests(); + const safeId = String(requestId || '').trim(); + if (!safeId) return null; + const root = State.get(); + root.manualRolls = root.manualRolls || {}; + const entry = root.manualRolls[safeId] || null; + if (entry) delete root.manualRolls[safeId]; + return entry; + }, + + getManualRollRequest(requestId = '') { + this.pruneManualRollRequests(); + const safeId = String(requestId || '').trim(); + if (!safeId) return null; + const root = State.get(); + root.manualRolls = root.manualRolls || {}; + return root.manualRolls[safeId] || null; + }, + + clonePlainDealPayload(payload = {}) { + try { + return JSON.parse(JSON.stringify(payload || {})); + } catch (err) { + return {}; + } + }, + + buildManualSaveRollCommand(token = null, requestId = '') { + const tokenRef = R20.makeTokenRef(token); + const safeRequestId = String(requestId || '').trim(); + if (!tokenRef || !safeRequestId) return '#'; + return '!tntToken dealroll ' + tokenRef + ' ' + safeRequestId; + }, + + getManualSaveRequestSummary(payload = {}) { + const mode = String(payload.mode || 'single').trim().toLowerCase(); + if (mode === 'concentration') { + return { + damage: 0, + damageType: 'concentration', + challengeValue: Math.max(1, Utils.toInt(payload.challengeValue || 10, 10)), + saveAbility: 'constitution', + halfOnSuccess: false, + isConcentration: true + }; + } + if (mode === 'batch') { + const batch = payload.batch || {}; + const damages = Array.isArray(batch.damages) ? batch.damages : []; + const totalDamage = damages.reduce((sum, entry) => sum + Math.max(0, Utils.toInt(entry && entry.damage, 0)), 0); + const typeList = Utils.uniqueNames(damages.map((entry) => String(entry && entry.damageType || '').trim()).filter(Boolean)); + return { + damage: totalDamage, + damageType: typeList.length === 1 ? typeList[0] : 'normal', + challengeValue: batch.challengeValue, + saveAbility: batch.saveAbility, + halfOnSuccess: batch.halfOnSuccess + }; + } + const deal = payload.deal || {}; + return { + damage: Math.max(0, Utils.toInt(deal.damage, 0)), + damageType: String(deal.damageType || 'normal').trim() || 'normal', + challengeValue: deal.challengeValue, + saveAbility: deal.saveAbility, + halfOnSuccess: deal.halfOnSuccess + }; + }, + + sendManualSaveRequest(token = null, character = null, payload = {}, who = 'GM') { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const summary = this.getManualSaveRequestSummary(payload); + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const tokenImgsrc = this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '') : ''; + const requestId = this.createManualRollRequest(token, payload, who); + const command = this.buildManualSaveRollCommand(token, requestId); + if (!requestId || command === '#') return { ok: false, message: 'Manual roll request could not be created.' }; + const card = Render.showManualSaveRollRequest(Object.assign({}, summary, { + tokenName, + tokenImgsrc, + command + })); + const recipients = Utils.uniqueNames(['GM'].concat(R20.getControllerDisplayNames(character))); + for (let i = 0; i < recipients.length; i += 1) { + R20.whisper(recipients[i], card); + } + return { + ok: true, + pending: true, + tokenName, + recipients, + command, + requestId, + requestedBy: who + }; + }, + + shouldRequestManualConcentrationCheck(token = null, character = null) { + if (!RuntimeConfig.get('PLAYER_MANUAL_ROLL')) return false; + if (!token || !character) return false; + if (!this.isPlayerControlledCharacter(character)) return false; + const characterId = String(character.id || token.get('represents') || '').trim(); + const attributes = this.getCharacterAttributes(characterId); + return !this.isNpcCharacter(characterId, attributes); + }, + + sendManualConcentrationRequest(token = null, character = null, who = 'GM') { + return this.sendManualSaveRequest(token, character, { + mode: 'concentration', + challengeValue: 10, + saveAbility: 'constitution' + }, who); + }, + + buildDealingCommand() { + const damageTypes = ['-', '🧪 Acid,acid', '💢 Bludgeoning,bludgeoning', '❄️ Cold,cold', '🔥 Fire,fire', '🌀 Force,force', '⚡ Lightning,lightning', '💀 Necrotic,necrotic', '🗡️ Piercing,piercing', '🫟 Poison,poison', '🪬 Psychic,psychic', '🌟 Radiant,radiant', 'ノ Slashing,slashing', '🌩️ Thunder,thunder']; + const abilities = ['no', '💪 Strength,strength', '🎯 Dexterity,dexterity', '❤️ Constitution,constitution', '🧠 Intelligence,intelligence', '💭 Wisdom, wisdom', '🗣️ Charisma,charisma']; + return '!tntToken deal ' + + '?{Damage|0} ' + + '?{Type|' + damageTypes.join('|') + '} ' + + '?{Challenge|0} ' + + '?{Save|' + abilities.join('|') + '} ' + + '?{Half on Success|no|yes}'; + }, + + normalizeAbilityName(value = '') { + const raw = String(value || '').trim().toLowerCase(); + const map = { + str: 'strength', + strength: 'strength', + dex: 'dexterity', + dexterity: 'dexterity', + con: 'constitution', + constitution: 'constitution', + int: 'intelligence', + intelligence: 'intelligence', + wis: 'wisdom', + wisdom: 'wisdom', + cha: 'charisma', + charisma: 'charisma' + }; + return map[raw] || ''; + }, + + async getSavingThrowModifier(characterId = '', attributes = [], ability = '') { + const safeAbility = this.normalizeAbilityName(ability); + if (!safeAbility) return null; + const raw = await this.getFirstResolvedAttributeValue(characterId, attributes, [ + safeAbility + '_save_bonus', + safeAbility + '_save_mod', + safeAbility + '_save', + safeAbility + '_saving_bonus', + safeAbility + '_saving_throw', + safeAbility + '_mod' + ]); + if (raw === undefined || raw === null || String(raw).trim() === '') return null; + return this.modifierValueToNumber(raw); + }, + + async getTokenRollModifier(characterId = '', attributes = [], rollKind = '', rollValue = '') { + const kind = String(rollKind || '').trim().toLowerCase(); + if (kind === 'initiative') { + const raw = await this.getFirstResolvedAttributeValue(characterId, attributes, [ + 'initiative_bonus', + 'initiative_mod', + 'initiative', + 'dexterity_mod' + ]); + return raw === undefined || raw === null || String(raw).trim() === '' ? 0 : this.modifierValueToNumber(raw); + } + + if (kind === 'ability') { + const ability = this.normalizeAbilityName(rollValue); + const attrName = this.abilityNameToModifierAttribute(ability); + const raw = attrName ? await this.getResolvedAttributeValue(characterId, attributes, attrName) : ''; + return raw === undefined || raw === null || String(raw).trim() === '' ? 0 : this.modifierValueToNumber(raw); + } + + if (kind === 'saving' || kind === 'save') { + const modifier = await this.getSavingThrowModifier(characterId, attributes, rollValue); + return modifier === null ? 0 : modifier; + } + + if (kind === 'skill') { + const skill = this.normalizeSkillRollMacroName(rollValue); + const raw = skill ? await this.getFirstResolvedAttributeValue(characterId, attributes, [ + skill + '_bonus', + skill + '_mod', + skill + ]) : ''; + return raw === undefined || raw === null || String(raw).trim() === '' ? 0 : this.modifierValueToNumber(raw); + } + + return 0; + }, + + updateTurnOrderWithRolls(rolls = []) { + const safeRolls = (Array.isArray(rolls) ? rolls : []) + .filter((roll) => roll && roll.tokenId && roll.selectedTotal !== undefined && roll.selectedTotal !== null); + if (!safeRolls.length || typeof Campaign !== 'function') return { ok: false, message: 'No initiative rolls to add.' }; + + let turnOrder = []; + try { + const raw = Campaign().get('turnorder'); + turnOrder = raw ? JSON.parse(raw) : []; + if (!Array.isArray(turnOrder)) turnOrder = []; + } catch (error) { + turnOrder = []; + } + + const rolledIds = {}; + safeRolls.forEach((roll) => { rolledIds[String(roll.tokenId)] = true; }); + turnOrder = turnOrder.filter((entry) => !rolledIds[String(entry && entry.id || '')]); + safeRolls.forEach((roll) => { + const priority = parseFloat(roll.selectedTotal); + const pageId = String(roll.pageId || '').trim(); + turnOrder.push({ + id: String(roll.tokenId), + pr: Number.isNaN(priority) ? Utils.toInt(roll.selectedTotal, 0) : priority, + _pageid: pageId, + custom: '' + }); + }); + turnOrder.sort((a, b) => parseFloat((b && b.pr) || 0) - parseFloat((a && a.pr) || 0)); + + const campaignUpdate = { turnorder: JSON.stringify(turnOrder) }; + const firstPageId = String((safeRolls.find((roll) => String(roll.pageId || '').trim()) || {}).pageId || '').trim(); + if (firstPageId) campaignUpdate.initiativepage = firstPageId; + Campaign().set(campaignUpdate); + return { ok: true, count: safeRolls.length }; + }, + + isNormalDamageType(damageType = '') { + const type = String(damageType || '').trim().toLowerCase(); + return !type || type === '-' || type === 'none' || type === 'normal'; + }, + + getDamageTypeColor(damageType = '') { + const type = String(damageType || '').trim().toLowerCase(); + return (CONFIG.DAMAGE_TYPE_COLORS && CONFIG.DAMAGE_TYPE_COLORS[type]) || CONFIG.DEFAULT_DAMAGE_TYPE_COLOR; + }, + + getDamageTypeIcon(damageType = '') { + const type = String(damageType || '').trim().toLowerCase() || 'normal'; + if (type === 'healing' || type === 'heal') return '💚'; + return (CONFIG.DAMAGE_TYPE_ICONS && CONFIG.DAMAGE_TYPE_ICONS[type]) || ''; + }, + + rollFormula(formula = '') { + const compact = String(formula || '').trim().replace(/\s+/g, ''); + if (!compact) return { total: 0, tooltip: '0' }; + + const parts = compact.match(/[+-]?[^+-]+/g) || []; + const detail = []; + let total = 0; + for (let i = 0; i < parts.length; i += 1) { + const part = parts[i]; + const sign = part.charAt(0) === '-' ? -1 : 1; + const body = part.replace(/^[+-]/, ''); + const diceMatch = body.match(/^(\d*)d(\d+)$/i); + if (diceMatch) { + const count = Math.max(1, Utils.toInt(diceMatch[1] || '1', 1)); + const sides = Math.max(1, Utils.toInt(diceMatch[2], 1)); + const rolls = []; + let subtotal = 0; + for (let r = 0; r < count; r += 1) { + const die = Utils.rollDie(sides); + rolls.push(die); + subtotal += die; + } + total += subtotal * sign; + detail.push((sign < 0 ? '-' : (detail.length ? '+' : '')) + body + '[' + rolls.join(',') + ']'); + continue; + } + + const value = Utils.toInt(body, 0); + total += value * sign; + detail.push((sign < 0 ? '-' : (detail.length ? '+' : '')) + String(value)); + } + + return { + total: Math.max(0, total), + tooltip: detail.join(' ') + ' = ' + String(Math.max(0, total)) + }; + }, + + signedTooltipPart(value = 0, label = '') { + const number = this.modifierValueToNumber(value); + if (!number) return ''; + return (number > 0 ? '+' : '-') + String(Math.abs(number)) + String(label || ''); + }, + + tooltipSignedValue(value = 0) { + const number = this.modifierValueToNumber(value); + return (number >= 0 ? '+' : '-') + String(Math.abs(number)); + }, + + rollLabelTooltip(rows = []) { + return (Array.isArray(rows) ? rows : []) + .filter((row) => row && row.label) + .map((row) => { + const label = Utils.escapeHtml(String(row.label)); + const source = Utils.isNonEmptyString(row.source) + ? (' [' + Utils.escapeHtml(String(row.source)) + ']') + : ''; + const value = Utils.isNonEmptyString(row.value) + ? ((source ? ' = ' : ' ') + '[ ' + Utils.escapeHtml(String(row.value)) + ' ]') + : ''; + return label + source + value; + }) + .join('
'); + }, + + buildAttackRollTooltip(roll = {}, attack = {}) { + const natural = Utils.toInt(roll.natural, 0); + const total = Utils.toInt(roll.total, 0); + const extra = this.modifierValueToNumber(attack.attackExtraBonus || 0); + const ability = this.modifierValueToNumber(attack.attackAbilityMod || 0); + const exhaustion = this.modifierValueToNumber(attack.exhaustionPenalty || roll.exhaustionPenalty || 0); + const combined = this.modifierValueToNumber(attack.attackBonus || attack.atkBonus || 0); + const hasSplit = !!(extra || ability); + const rows = [ + { label: 'Roll', source: '1d20', value: String(natural) }, + { label: 'Bonus', value: this.tooltipSignedValue(hasSplit ? extra : combined) }, + { label: 'Mod', value: this.tooltipSignedValue(hasSplit ? ability : 0) }, + ]; + if (exhaustion) rows.push({ label: 'Exhaustion', value: this.tooltipSignedValue(exhaustion) }); + this.addRollModeTooltipRows(rows, attack.rollModeDetails); + if (Array.isArray(roll.rollEffectRows) && roll.rollEffectRows.length) { + roll.rollEffectRows.forEach((row) => rows.push(row)); + } + rows.push( + { label: 'Total', value: String(total) } + ); + return this.rollLabelTooltip(rows); + }, + + addRollModeTooltipRows(rows = [], details = {}) { + if (!details || typeof details !== 'object') return rows; + const advantages = Array.isArray(details.advantages) ? details.advantages.filter(Boolean) : []; + const disadvantages = Array.isArray(details.disadvantages) ? details.disadvantages.filter(Boolean) : []; + if (advantages.length) rows.push({ label: 'Advantage', value: advantages.join(', ') }); + if (disadvantages.length) rows.push({ label: 'Disadvantage', value: disadvantages.join(', ') }); + return rows; + }, + + parsePrimaryDiceFormula(formula = '') { + const compact = String(formula || '').trim().replace(/\s+/g, ''); + const match = compact.match(/(\d*)d(\d+)/i); + if (!match) return null; + return { + count: Math.max(1, Utils.toInt(match[1] || '1', 1)), + sides: Math.max(1, Utils.toInt(match[2], 1)) + }; + }, + + rollAttackDamageFormula(attack = {}, options = {}) { + const baseFormula = String(options.baseFormula || Render.formatAttackDamage(attack) || '').trim(); + const critical = !!options.critical; + const dice = this.parsePrimaryDiceFormula(attack.dmgBase || attack.damageBase || baseFormula); + const flatBonus = this.modifierValueToNumber(attack.damageFlatBonus || 0); + const abilityMod = this.modifierValueToNumber(attack.damageAbilityMod || 0); + const splitKnown = !!(dice && (String(attack.damageFlatBonus || '').trim() || String(attack.damageAbilityMod || '').trim())); + + if (!splitKnown || !dice) { + const formula = critical ? this.buildCriticalDamageFormula(baseFormula, abilityMod) : baseFormula; + const fallbackDice = this.parsePrimaryDiceFormula(formula); + if (fallbackDice) { + const flatMatch = String(formula || '').replace(/\s+/g, '').match(/(?:^|[dD]\d+)((?:[+-]\d+)+)$/); + const flat = flatMatch + ? (flatMatch[1].match(/[+-]\d+/g) || []).reduce((sum, part) => sum + Utils.toInt(part, 0), 0) + : 0; + const count = fallbackDice.count; + const rolls = []; + let diceTotal = 0; + for (let i = 0; i < count; i += 1) { + const die = Utils.rollDie(fallbackDice.sides); + rolls.push(die); + diceTotal += die; + } + const total = Math.max(0, diceTotal + flat); + const diceText = String(count) + 'd' + String(fallbackDice.sides); + const rollText = rolls.length > 1 ? rolls.join('+') : String(diceTotal); + return { + total, + formula, + tooltip: this.rollLabelTooltip([ + { label: 'Roll', source: diceText, value: rollText }, + { label: 'Bonus', value: this.tooltipSignedValue(flat) }, + { label: 'Mod', value: '+0' }, + { label: 'Total', value: String(total) } + ]) + }; + } + return Object.assign({ formula }, this.rollFormula(formula)); + } + + const count = critical ? dice.count * 2 : dice.count; + const critFlat = critical ? flatBonus * 2 : flatBonus; + const rolls = []; + let diceTotal = 0; + for (let i = 0; i < count; i += 1) { + const die = Utils.rollDie(dice.sides); + rolls.push(die); + diceTotal += die; + } + const total = Math.max(0, diceTotal + critFlat + abilityMod); + const diceText = String(count) + 'd' + String(dice.sides); + const rollText = rolls.length > 1 ? rolls.join('+') : String(diceTotal); + const formula = diceText + this.signedTooltipPart(critFlat) + this.signedTooltipPart(abilityMod); + const tooltip = this.rollLabelTooltip([ + { label: 'Roll', source: diceText, value: rollText }, + { label: 'Bonus', value: this.tooltipSignedValue(critFlat) }, + { label: 'Mod', value: this.tooltipSignedValue(abilityMod) }, + { label: 'Total', value: String(total) } + ]); + return { + total, + tooltip, + formula: formula || baseFormula + }; + }, + + getAttackDamageRollParts(attack = {}) { + const safeAttack = attack || {}; + const rawParts = Array.isArray(safeAttack.damageParts) ? safeAttack.damageParts : []; + const parts = rawParts + .map((part) => { + const dmgBase = String(part && (part.dmgBase || part.damageBase || part.damage || '') || '').trim(); + const dmgMod = String(part && (part.dmgMod || part.damageMod || '') || '').trim(); + const damageType = String(part && (part.dmgType || part.damageType || '') || '').trim(); + if (!dmgBase && !dmgMod) return null; + return { + dmgBase, + dmgMod, + dmgType: damageType, + damageType, + damageFlatBonus: String(part && part.damageFlatBonus || '').trim(), + damageAbilityMod: String(part && part.damageAbilityMod || '').trim() + }; + }) + .filter(Boolean); + if (parts.length) return parts; + return [{ + dmgBase: String(safeAttack.dmgBase || safeAttack.damageBase || safeAttack.damage || '').trim(), + dmgMod: String(safeAttack.dmgMod || safeAttack.damageMod || '').trim(), + dmgType: String(safeAttack.dmgType || safeAttack.damageType || '').trim(), + damageType: String(safeAttack.dmgType || safeAttack.damageType || '').trim(), + damageFlatBonus: String(safeAttack.damageFlatBonus || '').trim(), + damageAbilityMod: String(safeAttack.damageAbilityMod || '').trim() + }]; + }, + + normalizeRollMode(value = '') { + const mode = String(value || '').trim().toLowerCase(); + if (['adv', 'advantage'].includes(mode)) return 'advantage'; + if (['dis', 'disadvantage'].includes(mode)) return 'disadvantage'; + if (mode === 'auto') return 'auto'; + if (['normal', 'single'].includes(mode)) return 'normal'; + if (['double', 'roll2', '2'].includes(mode)) return 'double'; + return ''; + }, + + buildD20Rolls(modifier = 0, mode = '') { + const safeMode = this.normalizeRollMode(mode); + const count = ['advantage', 'disadvantage', 'double'].includes(safeMode) || !safeMode ? 2 : 1; + const rolls = []; + for (let i = 0; i < count; i += 1) { + const natural = Utils.rollDie(20); + rolls.push({ + natural, + modifier, + total: natural + modifier + }); + } + + if (rolls.length > 1) { + const totals = rolls.map((roll) => roll.total); + const high = Math.max.apply(null, totals); + const low = Math.min.apply(null, totals); + rolls.forEach((roll) => { + if (high === low) return; + if (safeMode === 'advantage') { + if (roll.total === high) roll.marker = '▲'; + else roll.dimmed = true; + } else if (safeMode === 'disadvantage') { + if (roll.total === low) roll.marker = '▼'; + else roll.dimmed = true; + } + else if (safeMode === 'double') roll.marker = roll.total === high ? '▲' : (roll.total === low ? '▼' : ''); + }); + } + return rolls; + }, + + selectD20Total(rolls = [], mode = '') { + const safeRolls = Array.isArray(rolls) ? rolls : []; + if (!safeRolls.length) return 0; + const safeMode = this.normalizeRollMode(mode); + if (safeMode === 'advantage') return Math.max.apply(null, safeRolls.map((roll) => Utils.toInt(roll.total, 0))); + if (safeMode === 'disadvantage') return Math.min.apply(null, safeRolls.map((roll) => Utils.toInt(roll.total, 0))); + return Utils.toInt(safeRolls[0].total, 0); + }, + + getSelectedD20RollIndex(rolls = [], mode = '') { + const safeRolls = Array.isArray(rolls) ? rolls : []; + if (!safeRolls.length) return -1; + const safeMode = this.normalizeRollMode(mode); + if (safeMode === 'advantage') { + const high = Math.max.apply(null, safeRolls.map((roll) => Utils.toInt(roll.total, 0))); + return safeRolls.findIndex((roll) => Utils.toInt(roll.total, 0) === high); + } + if (safeMode === 'disadvantage') { + const low = Math.min.apply(null, safeRolls.map((roll) => Utils.toInt(roll.total, 0))); + return safeRolls.findIndex((roll) => Utils.toInt(roll.total, 0) === low); + } + return 0; + }, + + buildCriticalDamageFormula(formula = '', abilityMod = 0) { + const compact = String(formula || '').trim().replace(/\s+/g, ''); + if (!compact) return ''; + + const parts = compact.match(/[+-]?[^+-]+/g) || []; + let flatTotal = 0; + const diceParts = []; + for (let i = 0; i < parts.length; i += 1) { + const part = parts[i]; + const sign = part.charAt(0) === '-' ? -1 : 1; + const body = part.replace(/^[+-]/, ''); + const diceMatch = body.match(/^(\d*)d(\d+)$/i); + if (diceMatch) { + const count = Math.max(1, Utils.toInt(diceMatch[1] || '1', 1)); + const sides = Math.max(1, Utils.toInt(diceMatch[2], 1)); + diceParts.push((sign < 0 ? '-' : '+') + String(count * 2) + 'd' + String(sides)); + continue; + } + flatTotal += Utils.toInt(body, 0) * sign; + } + + const ability = this.modifierValueToNumber(abilityMod); + const doubledFlat = ((flatTotal - ability) * 2) + ability; + let out = diceParts.join(''); + if (doubledFlat > 0) out += '+' + String(doubledFlat); + else if (doubledFlat < 0) out += String(doubledFlat); + out = out.replace(/^\+/, ''); + return out || compact; + }, + + async buildAttackRollResult(token = null, character = null, attackId = '', mode = 'auto') { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const safeAttackId = this.cleanRepeatingActionId(attackId); + const attack = await this.getStoredAttackById(character.id, safeAttackId); + if (!attack) return { ok: false, message: 'Attack was not found in T&T_attack_list.' }; + + const attributes = this.getCharacterAttributes(character.id); + const dumpRoots = this.getCharacterStoreDumpRoots(attributes); + const attackName = String(attack.attackName || attack.name || 'Attack').trim(); + const baseAttackBonus = this.modifierValueToNumber(attack.attackBonus || attack.atkBonus || 0); + const exhaustionPenalty = this.getExhaustionD20Penalty(character.id); + const attackBonus = baseAttackBonus + exhaustionPenalty; + const isSaveAttack = this.isPositiveFlag(attack.saveFlag || attack.saveflag || attack.save_flag || ''); + const saveAbility = isSaveAttack ? this.normalizeAbilityName(attack.saveAttr || attack.saveattr || attack.save_attr || '') : ''; + const saveDc = isSaveAttack ? Math.max(0, Utils.toInt(attack.saveDc || attack.savedc || attack.save_dc, 0)) : 0; + const attackAbility = this.normalizeAbilityName(attack.abilityModSource || attack.attackAbility || attack.ability || ''); + const rollModeDetails = isSaveAttack + ? { mode: 'normal', advantages: [], disadvantages: [] } + : this.getActiveRollModeDetails(dumpRoots, 'attacks', attackAbility); + const effectiveMode = isSaveAttack + ? 'normal' + : (String(mode || '').trim().toLowerCase() === 'auto' || !String(mode || '').trim() + ? rollModeDetails.mode + : this.resolveRollModeRequest(mode, dumpRoots, 'attacks', attackAbility)); + const attackRolls = isSaveAttack ? [] : this.buildD20Rolls(attackBonus, effectiveMode); + const selectedRollIndex = isSaveAttack ? -1 : this.getSelectedD20RollIndex(attackRolls, effectiveMode); + const selectedRoll = selectedRollIndex >= 0 ? attackRolls[selectedRollIndex] : null; + const isCritical = !!(selectedRoll && Utils.toInt(selectedRoll.natural, 0) === 20); + if (isCritical && selectedRoll) { + selectedRoll.critical = true; + selectedRoll.marker = '★'; + } + const attackRollEffect = (!isSaveAttack && attackRolls.length) + ? this.rollActiveRollEffects(dumpRoots, 'attacks') + : { total: 0, rows: [] }; + if (attackRollEffect.total) { + attackRolls.forEach((roll) => { + roll.total = Utils.toInt(roll.total, 0) + attackRollEffect.total; + roll.rollEffectRows = attackRollEffect.rows; + }); + } + const attackTooltipData = Object.assign({}, attack, { + attackBonus: baseAttackBonus, + exhaustionPenalty, + rollModeDetails + }); + attackRolls.forEach((roll) => { + roll.exhaustionPenalty = exhaustionPenalty; + roll.tooltip = this.buildAttackRollTooltip(roll, attackTooltipData); + }); + const attackTotal = isSaveAttack ? saveDc : (selectedRoll ? Utils.toInt(selectedRoll.total, 0) : this.selectD20Total(attackRolls, effectiveMode)); + const damageRolls = this.getAttackDamageRollParts(attack).map((part) => { + const baseFormula = Render.formatAttackDamage(part); + const damageRoll = this.rollAttackDamageFormula(part, { + baseFormula, + critical: isCritical + }); + const damageType = String(part.dmgType || part.damageType || 'normal').trim() || 'normal'; + return { + formula: damageRoll.formula || baseFormula || '0', + baseFormula: baseFormula || '0', + total: damageRoll.total, + tooltip: damageRoll.tooltip, + damageType + }; + }); + const primaryDamage = damageRolls[0] || {}; + const damageFormula = primaryDamage.formula || '0'; + const damageType = String(primaryDamage.damageType || attack.dmgType || attack.damageType || 'normal').trim() || 'normal'; + const damageTotal = damageRolls.reduce((sum, part) => sum + Math.max(0, Utils.toInt(part.total, 0)), 0); + + return { + ok: true, + tokenName: String(token.get('name') || character.get('name') || 'Token'), + tokenImgsrc: this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '').trim() : '', + characterId: character.id, + attackId: safeAttackId, + attackName, + attackBonus, + baseAttackBonus, + exhaustionPenalty, + attackBonusText: this.formatSignedModifier(attackBonus), + attackRolls, + attackTotal, + isCritical, + isSaveAttack, + saveAbility, + saveAbilityLabel: this.abilityNameToShortLabel(saveAbility), + saveDc, + attackDescription: String(attack.attackDescription || attack.description || '').trim(), + damageFormula: damageFormula || '0', + baseDamageFormula: primaryDamage.baseFormula || '0', + damageTotal, + damageTooltip: primaryDamage.tooltip || '', + damageType, + damageRolls, + mode: effectiveMode, + rollModeDetails + }; + }, + + abilityNameToShortLabel(ability = '') { + const normalized = this.normalizeAbilityName(ability); + const map = { + strength: 'STR', + dexterity: 'DEX', + constitution: 'CON', + intelligence: 'INT', + wisdom: 'WIS', + charisma: 'CHA' + }; + return map[normalized] || ''; + }, + + renderSaveChallengeBadge(result = {}) { + const saveAbility = this.normalizeAbilityName(result.saveAbility || ''); + if (!saveAbility) return ''; + const abilityLabel = this.abilityNameToShortLabel(saveAbility); + const modifier = Utils.toInt(result.saveModifier, 0); + const baseModifier = Utils.toInt( + result.baseSaveModifier !== undefined && result.baseSaveModifier !== null ? result.baseSaveModifier : modifier, + modifier + ); + const exhaustionPenalty = Utils.toInt(result.saveExhaustionPenalty, 0); + const passed = Utils.toBoolean(result.saveSuccess, false); + const bgColor = passed ? 'rgba(70,150,90,0.30)' : 'rgba(165,45,45,0.30)'; + const rolls = Array.isArray(result.saveRolls) && result.saveRolls.length + ? result.saveRolls + : [{ + natural: Utils.toInt(result.saveRoll, 0), + total: Utils.toInt(result.saveTotal, 0), + modifier, + selected: true, + tooltip: this.rollLabelTooltip([ + { label: 'Roll', source: '1d20', value: String(result.saveRoll) }, + { label: 'Mod', value: this.tooltipSignedValue(baseModifier) }, + exhaustionPenalty ? { label: 'Exhaustion', value: this.tooltipSignedValue(exhaustionPenalty) } : null, + { label: 'Total', value: String(result.saveTotal) } + ].filter(Boolean)) + }]; + const badges = rolls.map((roll) => { + const selected = !!roll.selected || rolls.length === 1; + return Render.rollBadgeHtml( + roll, + roll.marker || '', + { + bgColor: selected ? bgColor : 'rgba(55,55,55,0.30)', + size: 40, + fontSize: '28px' + } + ); + }).join(''); + const width = rolls.length > 1 ? 90 : 48; + const badge = + Html.div(badges, 'white-space:nowrap;text-align:right;') + + Html.div('' + Utils.escapeHtml(abilityLabel) + '', 'padding-top:3px;font-size:12px;line-height:13px;color:rgb(245,245,245);text-align:center;font-weight:900;') + + Html.div('DC ' + Utils.escapeHtml(String(result.challengeValue)), 'font-size:11px;line-height:12px;color:rgb(210,210,210);text-align:center;'); + return Html.div(badge, 'width:' + width + 'px;text-align:center;margin-left:auto;margin-right:0;'); + }, + + buildDealDamageTitle(result = {}) { + const saveAbility = this.normalizeAbilityName(result.saveAbility || ''); + const imgsrc = this.isRoll20TokenImageSource(result.tokenImgsrc) ? String(result.tokenImgsrc || '') : ''; + const imgHtml = imgsrc + ? Html.img(imgsrc, 'width:24px;height:24px;object-fit:cover;border-radius:3px;vertical-align:middle;display:block;') + : ''; + const titleText = saveAbility + ? (saveAbility.charAt(0).toUpperCase() + saveAbility.slice(1) + ' Saving Throw') + : 'Takes Damage'; + const titleHtml = + '' + + '' + + '' + + '' + + '' + + '' + + '
' + imgHtml + '' + + Utils.escapeHtml(titleText) + + '
'; + return { + text: titleText, + html: titleHtml + }; + }, + + showConcentrationCheckResult(result = {}) { + const tokenName = Html.span( + Utils.escapeHtml(String(result.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:900;' + ); + const outcome = Utils.toBoolean(result.saveSuccess, false) + ? (tokenName + ' holds concentration.') + : (tokenName + ' loses concentration.'); + const badge = TokenService.renderSaveChallengeBadge(result); + const body = + '' + + '' + + '' + + '' + + '' + + '
' + + outcome + + '' + badge + '
'; + const imgsrc = TokenService.isRoll20TokenImageSource(result.tokenImgsrc) ? String(result.tokenImgsrc || '') : ''; + const imgHtml = imgsrc + ? Html.img(imgsrc, 'width:24px;height:24px;object-fit:cover;border-radius:3px;vertical-align:middle;display:block;') + : ''; + const titleHtml = + '' + + '' + + '' + + '' + + '' + + '' + + '
' + imgHtml + '' + + 'Maintain Concentration' + + '
'; + return Html.card({ + title: 'Maintain Concentration', + body, + type: result.saveSuccess ? 'success' : 'failure', + buildOptions: { titleHtml } + }); + }, + + getLinkedBarAttributeName(token = null, barNumber = 1) { + if (!token || !Utils.isFunction(token.get)) return ''; + const link = String(token.get('bar' + String(barNumber) + '_link') || '').trim(); + if (!link) return ''; + if (/^[A-Za-z_][A-Za-z0-9_ -]*$/.test(link)) return link.trim().toLowerCase(); + const attr = getObj('attribute', link); + return attr && Utils.isFunction(attr.get) + ? String(attr.get('name') || '').trim().toLowerCase() + : ''; + }, + + getNumericTokenBarValue(token = null, barNumber = 1, part = 'value') { + if (!token || !Utils.isFunction(token.get)) return null; + const raw = token.get('bar' + String(barNumber) + '_' + part); + if (raw === undefined || raw === null || String(raw).trim() === '') return null; + const match = String(raw).match(/[+-]?\d+/); + return match ? Utils.toInt(match[0], 0) : null; + }, + + getLinkedHpBarNumber(token = null) { + for (let i = 1; i <= 3; i += 1) { + if (this.getLinkedBarAttributeName(token, i) === 'hp') return i; + } + return 0; + }, + + getConfiguredTokenBarForAttribute(tokenDetails = {}, defaultConfig = {}, attrName = '') { + const wanted = String(attrName || '').trim().toLowerCase(); + if (!wanted) return 0; + for (let i = 1; i <= 3; i += 1) { + const linkKey = 'bar' + String(i) + '_link'; + const configuredLink = String(tokenDetails[linkKey] || defaultConfig[linkKey] || '').trim().toLowerCase(); + if (configuredLink === wanted) return i; + } + return 0; + }, + + async getTokenAcForDamage(token = null, characterId = '', attributes = []) { + const linkedName = this.getLinkedBarAttributeName(token, 2); + const tokenAc = linkedName === 'ac' && token && Utils.isFunction(token.get) + ? String(token.get('bar2_value') || '').trim() + : ''; + const sheetAc = tokenAc ? '' : String(await R20.getSheet(characterId, 'ac') || '').trim(); + const raw = tokenAc || sheetAc || this.getAttributeCurrentByName(attributes, 'ac'); + const match = String(raw || '').match(/[+-]?\d+/); + return match ? Utils.toInt(match[0], 0) : null; + }, + + async resolveTokenHpTarget(token = null, characterId = '', attributes = []) { + const tokenData = await this.getTokenData(characterId, attributes); + const tokenDetails = this.getFastTokenDetails(tokenData); + const appState = String(this.getAttributeCurrentByName(attributes, 'appState') || '').trim().toLowerCase(); + const isNpcToken = Utils.toBoolean(tokenDetails.NPC, false) || appState === 'npc'; + const linkedHpBar = this.getLinkedHpBarNumber(token); + + if (!isNpcToken && linkedHpBar) { + const tokenHp = this.getNumericTokenBarValue(token, linkedHpBar, 'value'); + if (tokenHp !== null) { + return { ok: true, mode: 'sheet', bar: linkedHpBar, currentHp: tokenHp }; + } + const sheetHpRaw = String(await R20.getSheet(characterId, 'hp') || '').trim() || this.getAttributeCurrentByName(attributes, 'hp'); + const match = String(sheetHpRaw || '').match(/[+-]?\d+/); + return match + ? { ok: true, mode: 'sheet', bar: linkedHpBar, currentHp: Utils.toInt(match[0], 0) } + : { ok: false, message: 'HP could not be read.' }; + } + + if (isNpcToken && linkedHpBar) { + return { + ok: false, + message: 'NPC HP is still linked to the sheet. Run !tntToken setup npc before applying damage.' + }; + } + + if (isNpcToken) { + const defaultConfig = await this.getTokenDefaultConfig(); + const configuredHpBar = this.getConfiguredTokenBarForAttribute(tokenDetails, defaultConfig, 'hp'); + if (configuredHpBar && !this.getLinkedBarAttributeName(token, configuredHpBar)) { + const value = this.getNumericTokenBarValue(token, configuredHpBar, 'value'); + if (value !== null) { + return { + ok: true, + mode: 'token-bar', + bar: configuredHpBar, + currentHp: value, + maxHp: this.getNumericTokenBarValue(token, configuredHpBar, 'max') + }; + } + } + } + + const hpMaxRaw = await this.getResolvedAttributeValue(characterId, attributes, 'hp_max'); + const hpMax = Math.max(0, Utils.toInt(hpMaxRaw || this.getAttributeCurrentByName(attributes, 'hp_max'), 0)); + const priority = [1, 3, 2]; + for (let i = 0; i < priority.length; i += 1) { + const bar = priority[i]; + if (this.getLinkedBarAttributeName(token, bar)) continue; + const max = this.getNumericTokenBarValue(token, bar, 'max'); + const value = this.getNumericTokenBarValue(token, bar, 'value'); + if (value === null) continue; + if (hpMax > 0 && max !== null && max === hpMax) { + return { ok: true, mode: 'token-bar', bar, currentHp: value, maxHp: max }; + } + } + + const bar1Value = this.getNumericTokenBarValue(token, 1, 'value'); + if (!this.getLinkedBarAttributeName(token, 1) && bar1Value !== null) { + return { + ok: true, + mode: 'token-bar', + bar: 1, + currentHp: bar1Value, + maxHp: this.getNumericTokenBarValue(token, 1, 'max') + }; + } + + const sheetHpRaw = String(await R20.getSheet(characterId, 'hp') || '').trim() || this.getAttributeCurrentByName(attributes, 'hp'); + const match = String(sheetHpRaw || '').match(/[+-]?\d+/); + return match + ? { ok: true, mode: 'sheet', bar: 0, currentHp: Utils.toInt(match[0], 0) } + : { ok: false, message: 'HP bar could not be identified.' }; + }, + + async getTokenHpForDamage(token = null, characterId = '', attributes = []) { + const target = await this.resolveTokenHpTarget(token, characterId, attributes); + return target.ok ? target.currentHp : null; + }, + + async resolveTokenTempHpTarget(token = null, characterId = '', attributes = [], hpTarget = {}) { + const tokenData = await this.getTokenData(characterId, attributes); + const tokenDetails = this.getFastTokenDetails(tokenData); + const defaultConfig = await this.getTokenDefaultConfig(); + const appState = String(this.getAttributeCurrentByName(attributes, 'appState') || '').trim().toLowerCase(); + const isNpcToken = Utils.toBoolean(tokenDetails.NPC, false) || appState === 'npc'; + const linkedTempBar = (() => { + for (let i = 1; i <= 3; i += 1) { + if (this.getLinkedBarAttributeName(token, i) === 'hp_temp') return i; + } + return 0; + })(); + + if (!isNpcToken) { + const hpTempAttr = this.findCharacterAttribute(characterId, 'hp_temp'); + const raw = this.getAttributeCurrent(hpTempAttr) || String(await R20.getSheet(characterId, 'hp_temp') || '').trim(); + const currentTemp = Math.max(0, Utils.toInt(raw, 0)); + return { + ok: true, + mode: currentTemp > 0 ? 'sheet' : 'none', + bar: linkedTempBar, + currentTemp + }; + } + + const hpBar = Math.max(0, Utils.toInt(hpTarget && hpTarget.bar, 0)); + let configuredTempBar = this.getConfiguredTempHpBar(token, tokenDetails, defaultConfig, true); + + if (configuredTempBar && configuredTempBar !== hpBar) { + const value = this.getNumericTokenBarValue(token, configuredTempBar, 'value'); + if (this.getLinkedBarAttributeName(token, configuredTempBar) === 'hp_temp' && token && Utils.isFunction(token.set)) { + const clearLink = {}; + clearLink['bar' + String(configuredTempBar) + '_link'] = ''; + token.set(clearLink); + } + return { + ok: true, + mode: value && value > 0 ? 'token-bar' : 'none', + bar: configuredTempBar, + currentTemp: Math.max(0, Utils.toInt(value, 0)) + }; + } + + return { ok: true, mode: 'none', bar: 0, currentTemp: 0 }; + }, + + getConfiguredTempHpBar(token = null, tokenDetails = {}, defaultConfig = {}, allowUnlinkedDefaultBar3 = false) { + for (let i = 1; i <= 3; i += 1) { + if (this.getLinkedBarAttributeName(token, i) === 'hp_temp') return i; + } + for (let i = 1; i <= 3; i += 1) { + const tokenLinkKey = 'bar' + String(i) + '_link'; + const configuredLink = String(tokenDetails[tokenLinkKey] || defaultConfig[tokenLinkKey] || '').trim().toLowerCase(); + if (configuredLink === 'hp_temp' || (allowUnlinkedDefaultBar3 && i === 3 && !configuredLink)) return i; + } + return 0; + }, + + async applyTempHpToDamage(token = null, characterId = '', attributes = [], hpTarget = {}, damage = 0) { + const incoming = Math.max(0, Utils.toInt(damage, 0)); + if (incoming <= 0) { + return { hpDamage: 0, tempAbsorbed: 0, previousTempHp: 0, currentTempHp: 0, tempHpMode: 'none', tempHpBar: 0 }; + } + + const tempTarget = await this.resolveTokenTempHpTarget(token, characterId, attributes, hpTarget); + const currentTemp = Math.max(0, Utils.toInt(tempTarget.currentTemp, 0)); + if (!tempTarget.ok || currentTemp <= 0) { + return { hpDamage: incoming, tempAbsorbed: 0, previousTempHp: currentTemp, currentTempHp: currentTemp, tempHpMode: 'none', tempHpBar: 0 }; + } + + const absorbed = Math.min(currentTemp, incoming); + const nextTemp = Math.max(0, currentTemp - absorbed); + if (tempTarget.mode === 'token-bar' && tempTarget.bar && token && Utils.isFunction(token.set)) { + token.set({ ['bar' + String(tempTarget.bar) + '_value']: nextTemp }); + } else if (tempTarget.mode === 'sheet') { + await R20.setSheet(characterId, 'hp_temp', nextTemp); + if (tempTarget.bar && token && Utils.isFunction(token.set)) { + token.set({ ['bar' + String(tempTarget.bar) + '_value']: nextTemp }); + } + } + + return { + hpDamage: Math.max(0, incoming - absorbed), + tempAbsorbed: absorbed, + previousTempHp: currentTemp, + currentTempHp: nextTemp, + tempHpMode: tempTarget.mode, + tempHpBar: tempTarget.bar || 0 + }; + }, + + normalizeHealMode(value = '') { + const normalized = String(value || '').trim().toLowerCase().replace(/[\s_-]+/g, ''); + if (['temp', 'temphp', 'hptemp', 'temporaryhp', 'temporaryhitpoints'].includes(normalized)) return 'temp'; + return 'hp'; + }, + + readStoreDamageTraits(dumpRoots = []) { + const traits = { + resistances: [], + immunities: [], + vulnerabilities: [] + }; + const addTraits = (target, value) => { + const list = this.normalizeDamageTraitValue(value); + list.forEach((entry) => { + if (entry && traits[target].indexOf(entry) < 0) traits[target].push(entry); + }); + }; + const walk = (node) => { + if (!node || typeof node !== 'object') return; + if (Array.isArray(node)) { + node.forEach(walk); + return; + } + + const type = String(node.type || '').trim().toLowerCase(); + const hasCascades = Object.prototype.hasOwnProperty.call(node, 'cascades'); + if (type === 'defense' && !hasCascades) { + const defense = String(node.defense || '').trim().toLowerCase(); + if (defense.indexOf('resist') >= 0) addTraits('resistances', node.damage); + else if (defense.indexOf('immune') >= 0 || defense.indexOf('immun') >= 0) addTraits('immunities', node.damage); + else if (defense.indexOf('vulner') >= 0) addTraits('vulnerabilities', node.damage); + } + + Object.keys(node).forEach((key) => walk(node[key])); + }; + + (Array.isArray(dumpRoots) ? dumpRoots : []).forEach(walk); + return traits; + }, + + async readDamageTraits(characterId = '', attributes = []) { + return this.readStoreDamageTraits(this.getCharacterStoreDumpRoots(attributes)); + }, + + calculateTypedDamage(damage = 0, damageType = '', traits = {}) { + const baseDamage = Math.max(0, Utils.toInt(damage, 0)); + if (this.isNormalDamageType(damageType)) { + return { + damage: baseDamage, + immune: false, + resistant: false, + vulnerable: false + }; + } + + const type = String(damageType || '').trim().toLowerCase(); + const immune = this.damageTraitListIncludes(traits.immunities || [], type); + if (immune) { + return { + damage: 0, + immune: true, + resistant: false, + vulnerable: false + }; + } + + const resistant = this.damageTraitListIncludes(traits.resistances || [], type); + const vulnerable = this.damageTraitListIncludes(traits.vulnerabilities || [], type); + let finalDamage = baseDamage; + if (resistant) { + finalDamage = RuntimeConfig.get('DAMAGE_ROUND_UP') + ? Math.ceil(finalDamage / 2) + : Math.floor(finalDamage / 2); + } + if (vulnerable) finalDamage *= 2; + return { + damage: Math.max(0, finalDamage), + immune: false, + resistant, + vulnerable + }; + }, + + tokenHasConcentrationMarker(token = null) { + return this.tokenHasStatusMarker(token, 'stopwatch'); + }, + + async rollSavingThrowCheck(token = null, character = null, ability = 'constitution', challengeValue = 10) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const saveAbility = this.normalizeAbilityName(ability); + if (!saveAbility) return { ok: false, message: 'Saving throw ability is required.' }; + const characterId = String(character.id || token.get('represents') || '').trim(); + const attributes = this.getCharacterAttributes(characterId); + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const tokenImgsrc = this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '') : ''; + const baseSaveModifier = await this.getSavingThrowModifier(characterId, attributes, saveAbility); + if (baseSaveModifier === null) { + return { ok: false, tokenName, message: saveAbility + ' save could not be read for ' + tokenName + '.' }; + } + + const saveExhaustionPenalty = this.getExhaustionD20Penalty(characterId); + const saveModifier = baseSaveModifier + saveExhaustionPenalty; + const saveDumpRoots = this.getCharacterStoreDumpRoots(attributes); + const saveRollModeDetails = this.getActiveRollModeDetails(saveDumpRoots, 'savingthrows', saveAbility); + const saveMode = saveRollModeDetails.mode; + const saveRolls = this.buildD20Rolls(saveModifier, saveMode); + const selectedSaveRollIndex = this.getSelectedD20RollIndex(saveRolls, saveMode); + const selectedSaveRoll = selectedSaveRollIndex >= 0 ? saveRolls[selectedSaveRollIndex] : (saveRolls[0] || null); + const saveRollEffect = saveRolls.length + ? this.rollActiveRollEffects(saveDumpRoots, 'savingthrows') + : { total: 0, rows: [] }; + if (saveRollEffect.total) { + saveRolls.forEach((roll) => { + roll.total = Utils.toInt(roll.total, 0) + saveRollEffect.total; + roll.rollEffectRows = saveRollEffect.rows; + }); + } + saveRolls.forEach((roll, index) => { + if (Utils.toInt(roll.natural, 0) === 20) { + roll.critical = true; + roll.marker = '★'; + } + roll.selected = index === selectedSaveRollIndex; + roll.exhaustionPenalty = saveExhaustionPenalty; + const tooltipRows = [ + { label: 'Roll', source: '1d20', value: String(roll.natural) }, + { label: 'Mod', value: this.tooltipSignedValue(baseSaveModifier) }, + saveExhaustionPenalty ? { label: 'Exhaustion', value: this.tooltipSignedValue(saveExhaustionPenalty) } : null, + ].filter(Boolean); + this.addRollModeTooltipRows(tooltipRows, saveRollModeDetails); + if (Array.isArray(roll.rollEffectRows) && roll.rollEffectRows.length) { + roll.rollEffectRows.forEach((row) => tooltipRows.push(row)); + } + tooltipRows.push({ label: 'Total', value: String(roll.total) }); + roll.tooltip = this.rollLabelTooltip(tooltipRows); + }); + + const dc = Math.max(1, Utils.toInt(challengeValue, 10)); + const die = selectedSaveRoll ? Utils.toInt(selectedSaveRoll.natural, 0) : 0; + const saveTotal = selectedSaveRoll ? Utils.toInt(selectedSaveRoll.total, 0) : saveModifier; + return { + ok: true, + tokenName, + tokenImgsrc, + saveAbility, + saveRoll: die, + saveModifier, + baseSaveModifier, + saveExhaustionPenalty, + saveTotal, + saveRolls, + saveMode, + rollModeDetails: saveRollModeDetails, + saveSuccess: saveTotal >= dc, + challengeValue: dc + }; + }, + + async resolveConcentrationCheck(token = null, character = null) { + const result = await this.rollSavingThrowCheck(token, character, 'constitution', 10); + if (!result.ok) return result; + this.setTokenStatusMarker(token, 'stopwatch', !!result.saveSuccess); + return Object.assign({}, result, { + concentration: true, + maintained: !!result.saveSuccess, + removed: !result.saveSuccess + }); + }, + + async dealDamageToToken(token = null, character = null, deal = {}) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const characterId = String(character.id || token.get('represents') || '').trim(); + const attributes = this.getCharacterAttributes(characterId); + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const tokenImgsrc = this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '') : ''; + const attackValue = deal.attackValue; + const saveAbility = this.normalizeAbilityName(deal.saveAbility || ''); + const challengeValue = deal.challengeValue; + let baseDamage = Math.max(0, Utils.toInt(deal.damage, 0)); + + if (saveAbility) { + if (challengeValue === null || challengeValue === undefined) { + return { ok: false, tokenName, message: 'Save challenge value is required for ' + tokenName + '.' }; + } + const baseSaveModifier = await this.getSavingThrowModifier(characterId, attributes, saveAbility); + if (baseSaveModifier === null) { + return { ok: false, tokenName, message: saveAbility + ' save could not be read for ' + tokenName + '.' }; + } + const saveExhaustionPenalty = this.getExhaustionD20Penalty(characterId); + const saveModifier = baseSaveModifier + saveExhaustionPenalty; + const saveDumpRoots = this.getCharacterStoreDumpRoots(attributes); + const saveRollModeDetails = this.getActiveRollModeDetails(saveDumpRoots, 'savingthrows', saveAbility); + const saveMode = saveRollModeDetails.mode; + const saveRolls = this.buildD20Rolls(saveModifier, saveMode); + const selectedSaveRollIndex = this.getSelectedD20RollIndex(saveRolls, saveMode); + const selectedSaveRoll = selectedSaveRollIndex >= 0 ? saveRolls[selectedSaveRollIndex] : (saveRolls[0] || null); + const saveRollEffect = saveRolls.length + ? this.rollActiveRollEffects(saveDumpRoots, 'savingthrows') + : { total: 0, rows: [] }; + if (saveRollEffect.total) { + saveRolls.forEach((roll) => { + roll.total = Utils.toInt(roll.total, 0) + saveRollEffect.total; + roll.rollEffectRows = saveRollEffect.rows; + }); + } + saveRolls.forEach((roll, index) => { + if (Utils.toInt(roll.natural, 0) === 20) { + roll.critical = true; + roll.marker = '★'; + } + roll.selected = index === selectedSaveRollIndex; + roll.exhaustionPenalty = saveExhaustionPenalty; + const tooltipRows = [ + { label: 'Roll', source: '1d20', value: String(roll.natural) }, + { label: 'Mod', value: this.tooltipSignedValue(baseSaveModifier) }, + saveExhaustionPenalty ? { label: 'Exhaustion', value: this.tooltipSignedValue(saveExhaustionPenalty) } : null, + ].filter(Boolean); + this.addRollModeTooltipRows(tooltipRows, saveRollModeDetails); + if (Array.isArray(roll.rollEffectRows) && roll.rollEffectRows.length) { + roll.rollEffectRows.forEach((row) => tooltipRows.push(row)); + } + tooltipRows.push({ label: 'Total', value: String(roll.total) }); + roll.tooltip = this.rollLabelTooltip(tooltipRows); + }); + const die = selectedSaveRoll ? Utils.toInt(selectedSaveRoll.natural, 0) : 0; + const saveTotal = selectedSaveRoll ? Utils.toInt(selectedSaveRoll.total, 0) : saveModifier; + const saveSuccess = saveTotal >= challengeValue; + if (saveSuccess && !deal.halfOnSuccess) { + return { + ok: true, + saved: true, + noDamage: true, + tokenName, + damageType: deal.damageType, + finalDamage: 0, + tokenImgsrc, + saveAbility, + saveRoll: die, + saveModifier, + baseSaveModifier, + saveExhaustionPenalty, + saveTotal, + saveRolls, + saveMode, + rollModeDetails: saveRollModeDetails, + saveSuccess: true, + challengeValue, + halfOnSuccess: false + }; + } + if (saveSuccess && deal.halfOnSuccess) { + baseDamage = RuntimeConfig.get('DAMAGE_ROUND_UP') + ? Math.ceil(baseDamage / 2) + : Math.floor(baseDamage / 2); + } + deal = Object.assign({}, deal, { + damage: baseDamage, + saveAbility, + saveRoll: die, + saveModifier, + baseSaveModifier, + saveExhaustionPenalty, + saveTotal, + saveRolls, + saveMode, + rollModeDetails: saveRollModeDetails, + saveSuccess, + challengeValue + }); + } else if (attackValue !== null && attackValue !== undefined) { + const acValue = await this.getTokenAcForDamage(token, characterId, attributes); + if (acValue === null) { + return { ok: false, missed: true, tokenName, message: 'AC could not be read for ' + tokenName + '.' }; + } + if (attackValue < acValue) { + return { + ok: true, + missed: true, + silent: Utils.toBoolean(deal.silentMiss, false), + tokenName, + tokenImgsrc, + attackValue, + acValue, + message: 'The attack misses ' + tokenName + '.' + }; + } + } + + const traits = this.isNormalDamageType(deal.damageType) + ? { resistances: [], immunities: [], vulnerabilities: [] } + : await this.readDamageTraits(characterId, attributes); + const calculated = this.calculateTypedDamage(baseDamage, deal.damageType, traits); + + if (calculated.immune) { + return { + ok: true, + immune: true, + tokenName, + tokenImgsrc, + damageType: deal.damageType, + finalDamage: 0, + saveAbility: deal.saveAbility, + saveRoll: deal.saveRoll, + saveModifier: deal.saveModifier, + saveTotal: deal.saveTotal, + saveRolls: deal.saveRolls, + saveMode: deal.saveMode, + rollModeDetails: deal.rollModeDetails, + saveSuccess: deal.saveSuccess, + challengeValue: deal.challengeValue, + halfOnSuccess: deal.halfOnSuccess + }; + } + + const hpTarget = await this.resolveTokenHpTarget(token, characterId, attributes); + if (!hpTarget.ok) { + return { ok: false, tokenName, message: hpTarget.message || ('HP could not be read for ' + tokenName + '.') }; + } + const currentHp = hpTarget.currentHp; + if (currentHp <= 0 || currentHp === null) { + return { + ok: true, + alreadyFainted: true, + tokenName, + tokenImgsrc, + damageType: deal.damageType, + finalDamage: 0 + }; + } + + const tempResult = await this.applyTempHpToDamage(token, characterId, attributes, hpTarget, calculated.damage); + const hpDamage = Math.max(0, Utils.toInt(tempResult.hpDamage, 0)); + const finalDamage = Math.max(0, Utils.toInt(calculated.damage, 0)); + const nextHp = Math.max(0, currentHp - hpDamage); + if (hpTarget.mode === 'token-bar' && hpTarget.bar) { + token.set({ ['bar' + String(hpTarget.bar) + '_value']: nextHp }); + } else { + await R20.setSheet(characterId, 'hp', nextHp); + if (hpTarget.bar && Utils.isFunction(token.set)) { + token.set({ ['bar' + String(hpTarget.bar) + '_value']: nextHp }); + } + } + if (currentHp > 0 && nextHp <= 0) { + await this.markTokenDefeated(token, character); + } + + return Object.assign({}, calculated, { + ok: true, + tokenName, + tokenImgsrc, + damageType: deal.damageType, + initialDamage: deal.damage, + finalDamage, + hpDamage, + traitDamage: Math.max(0, Utils.toInt(calculated.damage, 0)), + tempAbsorbed: Math.max(0, Utils.toInt(tempResult.tempAbsorbed, 0)), + previousTempHp: Math.max(0, Utils.toInt(tempResult.previousTempHp, 0)), + currentTempHp: Math.max(0, Utils.toInt(tempResult.currentTempHp, 0)), + tempHpMode: tempResult.tempHpMode, + tempHpBar: tempResult.tempHpBar, + hpMode: hpTarget.mode, + hpBar: hpTarget.bar, + previousHp: currentHp, + currentHp: nextHp, + fainted: currentHp > 0 && nextHp <= 0, + saveAbility: deal.saveAbility, + saveRoll: deal.saveRoll, + saveModifier: deal.saveModifier, + baseSaveModifier: deal.baseSaveModifier, + saveExhaustionPenalty: deal.saveExhaustionPenalty, + saveTotal: deal.saveTotal, + saveRolls: deal.saveRolls, + saveMode: deal.saveMode, + rollModeDetails: deal.rollModeDetails, + saveSuccess: deal.saveSuccess, + challengeValue: deal.challengeValue, + halfOnSuccess: deal.halfOnSuccess + }); + }, + + async modifyTokenTempHp(token = null, character = null, amount = 0) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const characterId = String(character.id || token.get('represents') || '').trim(); + const attributes = this.getCharacterAttributes(characterId); + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const tokenImgsrc = this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '') : ''; + const tempAmount = Math.max(0, Utils.toInt(amount, 0)); + if (tempAmount <= 0) return { ok: false, tokenName, message: 'Temporary HP amount must be greater than 0.' }; + + const tokenData = await this.getTokenData(characterId, attributes); + const tokenDetails = this.getFastTokenDetails(tokenData); + const defaultConfig = await this.getTokenDefaultConfig(); + const appState = String(this.getAttributeCurrentByName(attributes, 'appState') || '').trim().toLowerCase(); + const isNpcToken = Utils.toBoolean(tokenDetails.NPC, false) || appState === 'npc'; + const tempBar = this.getConfiguredTempHpBar(token, tokenDetails, defaultConfig, isNpcToken); + + if (isNpcToken) { + if (!tempBar) return { ok: false, tokenName, message: 'NPC temporary HP bar is not configured.' }; + const nextTemp = tempAmount; + const barPrefix = 'bar' + String(tempBar) + '_'; + const clearLink = {}; + clearLink[barPrefix + 'link'] = ''; + token.set(clearLink); + const maxValue = {}; + maxValue[barPrefix + 'max'] = nextTemp; + token.set(maxValue); + const currentValue = {}; + currentValue[barPrefix + 'value'] = nextTemp; + token.set(currentValue); + setTimeout(() => { + const retryMax = {}; + retryMax[barPrefix + 'max'] = nextTemp; + token.set(retryMax); + const retryValue = {}; + retryValue[barPrefix + 'value'] = nextTemp; + token.set(retryValue); + }, 250); + return { + ok: true, + tokenName, + tokenImgsrc, + tempHp: true, + amount: tempAmount, + previousHp: null, + currentHp: nextTemp, + maxHp: nextTemp, + hpMode: 'token-bar', + hpBar: tempBar + }; + } + + const nextTemp = tempAmount; + await R20.setSheet(characterId, 'hp_temp', nextTemp); + if (tempBar && token && Utils.isFunction(token.set)) { + token.set({ ['bar' + String(tempBar) + '_value']: nextTemp }); + } + return { + ok: true, + tokenName, + tokenImgsrc, + tempHp: true, + amount: tempAmount, + previousHp: null, + currentHp: nextTemp, + maxHp: null, + hpMode: 'sheet', + hpBar: tempBar || 0 + }; + }, + + async healToken(token = null, character = null, amount = 0, options = {}) { + if (!token || !character) return { ok: false, message: 'Token must be linked to a character.' }; + const characterId = String(character.id || token.get('represents') || '').trim(); + const attributes = this.getCharacterAttributes(characterId); + const tokenName = String(token.get('name') || character.get('name') || 'Token'); + const tokenImgsrc = this.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '') : ''; + const healAmount = Math.max(0, Utils.toInt(amount, 0)); + if (healAmount <= 0) return { ok: false, tokenName, message: 'Healing amount must be greater than 0.' }; + if (this.normalizeHealMode(options.mode || 'hp') === 'temp') { + return this.modifyTokenTempHp(token, character, healAmount); + } + + const hpTarget = await this.resolveTokenHpTarget(token, characterId, attributes); + if (!hpTarget.ok) return { ok: false, tokenName, message: hpTarget.message || 'HP could not be read.' }; + + const tokenData = await this.getTokenData(characterId, attributes); + const isNpcToken = Utils.toBoolean(this.getFastTokenDetails(tokenData).NPC, false); + const currentHp = Math.max(0, Utils.toInt(hpTarget.currentHp, 0)); + const maxRaw = Number( + hpTarget.maxHp !== undefined && hpTarget.maxHp !== null + ? hpTarget.maxHp + : (await this.getResolvedAttributeValue(characterId, attributes, 'hp_max')) + ); + const hasMax = !Number.isNaN(maxRaw) && maxRaw > 0; + const ignoreDeath = true; + + if (!isNpcToken && currentHp <= 0) { + const deathState = this.getDeathSavesState(characterId); + if (!ignoreDeath && deathState.ok && deathState.open && Utils.toInt(deathState.failures, 0) >= 3) { + return { + ok: true, + noEffect: true, + tokenName, + tokenImgsrc, + amount: 0, + previousHp: currentHp, + currentHp, + maxHp: hasMax ? maxRaw : null, + message: 'Healing had no effect because the target is dead.' + }; + } + await this.clearHealedPlayerDefeatState(token, characterId); + } + + const nextHp = hasMax ? Math.min(maxRaw, currentHp + healAmount) : (currentHp + healAmount); + if (hpTarget.mode === 'token-bar' && hpTarget.bar) { + token.set({ ['bar' + String(hpTarget.bar) + '_value']: nextHp }); + } else { + await R20.setSheet(characterId, 'hp', nextHp); + if (hpTarget.bar && Utils.isFunction(token.set)) { + token.set({ ['bar' + String(hpTarget.bar) + '_value']: nextHp }); + } + } + if (isNpcToken && nextHp > 0) { + this.setTokenStatusMarker(token, CONFIG.DEATH_STATUS_MARKER, false); + } + + return { + ok: true, + tokenName, + tokenImgsrc, + amount: healAmount, + previousHp: currentHp, + currentHp: nextHp, + maxHp: hasMax ? maxRaw : null, + hpMode: hpTarget.mode, + hpBar: hpTarget.bar || 0, + revived: currentHp <= 0 && nextHp > 0 + }; + }, + + renderTokenHealBody(result = {}) { + const tokenName = Html.span( + Utils.escapeHtml(String(result.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;' + ); + if (result.noEffect) { + return tokenName + ' cannot be healed because the target is already dead.'; + } + const amount = Html.span( + Utils.escapeHtml(String(result.amount || 0)), + 'color:' + CONFIG.DEFAULT_TEXT_HEAL_COLOR + ';font-weight:900;' + ); + if (result.tempHp) { + const hasPrevious = result.previousHp !== undefined && result.previousHp !== null; + const tempText = hasPrevious + ? (Utils.escapeHtml(String(result.previousHp || 0)) + + ' -> ' + + Utils.escapeHtml(String(result.currentHp || 0)) + + (result.maxHp ? ('/' + Utils.escapeHtml(String(result.maxHp))) : '')) + : (Utils.escapeHtml(String(result.currentHp || 0)) + + (result.maxHp ? ('/' + Utils.escapeHtml(String(result.maxHp))) : '')); + return tokenName + ' gains ' + amount + ' temporary HP.' + + ' (' + tempText + ')'; + } + const hpText = Utils.escapeHtml(String(result.previousHp || 0)) + + ' -> ' + + Utils.escapeHtml(String(result.currentHp || 0)) + + (result.maxHp ? ('/' + Utils.escapeHtml(String(result.maxHp))) : ''); + return tokenName + ' recovers ' + amount + ' HP' + + (result.revived ? ' and returns to consciousness' : '') + + '. (' + hpText + ')'; + }, + + parseHealNarrativeMeta(value = '') { + const text = String(value || '').trim(); + if (!text) return null; + try { + const parsed = JSON.parse(decodeURIComponent(text)); + if (!parsed || typeof parsed !== 'object') return null; + return { + casterName: String(parsed.casterName || '').trim(), + spellName: String(parsed.spellName || '').trim() + }; + } catch (err) { + return null; + } + }, + + renderHealNarrative(meta = {}, results = []) { + const healed = (Array.isArray(results) ? results : []) + .filter((result) => result && result.ok && !result.noEffect) + .map((result) => { + return { + name: String(result.tokenName || 'target').trim(), + amount: Math.max(0, Utils.toInt(result.amount, 0)) + }; + }) + .filter((entry) => entry.amount > 0); + if (!healed.length) return ''; + const caster = Html.span( + Utils.escapeHtml(String(meta.casterName || 'The caster')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:900;' + ); + const spell = Html.span( + Utils.escapeHtml(String(meta.spellName || 'healing magic')), + 'color:' + CONFIG.DEFAULT_TEXT_ITEM_COLOR + ';font-weight:900;' + ); + const targetText = healed.map((entry) => { + return Html.span(Utils.escapeHtml(entry.name), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' for ' + + Html.span(Utils.escapeHtml(String(entry.amount)), 'color:' + CONFIG.DEFAULT_TEXT_HEAL_COLOR + ';font-weight:900;') + + ' HP'; + }).join(', '); + return caster + ' heals ' + targetText + ' with ' + spell + '.'; + }, + + renderDealDamageBody(result = {}) { + const tokenName = Html.span( + Utils.escapeHtml(String(result.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;' + ) + ' '; + const damageType = this.isNormalDamageType(result.damageType) + ? '' + : String(result.damageType || '').trim().toLowerCase(); + const damageColor = this.getDamageTypeColor(damageType); + const typeText = damageType + ? (' ' + Html.span(Utils.escapeHtml(damageType), 'color:' + damageColor + ';font-weight:700;')) + : ''; + const damageText = Html.span( + Utils.escapeHtml(String(Math.max(0, Utils.toInt(result.finalDamage, 0)))), + 'color:' + damageColor + ';font-weight:900;' + ); + const wrapSaveLayout = (narrative) => { + const badge = this.renderSaveChallengeBadge(result); + if (!badge) return narrative; + const hasMultipleRolls = Array.isArray(result.saveRolls) && result.saveRolls.length > 1; + return ( + '' + + '' + + '' + + '' + + '' + + '
' + + narrative + + '' + + badge + + '
' + ); + }; + + if (result.missed) { + return tokenName + ' avoids the attack.'; + } + + if (result.alreadyFainted) { + return tokenName + ' is already unconscious.'; + } + + const saveAbility = this.normalizeAbilityName(result.saveAbility || ''); + const saveOutcomeText = saveAbility + ? (result.saveSuccess ? 'succeeds on the saving throw. ' : 'fails the saving throw. ') + : ''; + const typeLabel = damageType + ? Html.span(Utils.escapeHtml(damageType), 'color:' + damageColor + ';font-weight:700;') + : ''; + + if (result.noDamage) { + return wrapSaveLayout(tokenName + saveOutcomeText + 'Takes no damage.'); + } + + if (result.immune) { + return wrapSaveLayout( + tokenName + + saveOutcomeText + + 'The ' + (typeLabel || 'damage') + ' immunity prevents all damage.' + ); + } + + const traits = []; + if (result.resistant) traits.push('resistance'); + if (result.vulnerable) traits.push('vulnerability'); + const traitText = traits.length && damageType + ? (' due to ' + typeLabel + ' ' + traits.join(' and ')) + : (traits.length ? (' due to ' + traits.join(' and ')) : ''); + const faintedText = result.fainted ? ' and falls unconscious' : ''; + const tempHpText = Utils.toInt(result.tempAbsorbed, 0) > 0 + ? '
(Some damage was absorbed by Temp HP)
' + : ''; + return wrapSaveLayout( + tokenName + + saveOutcomeText + + 'Takes ' + damageText + typeText + ' damage' + + traitText + + faintedText + + '.' + + tempHpText + ); + }, + + applyAttackSaveMeta(entry = {}, attackNode = null) { + if (!entry) return; + const saveMeta = this.extractBuilderSaveMeta(attackNode); + [ + ['saveFlag', 'saveflag'], + ['saveFlag', 'saveFlag'], + ['saveAttr', 'saveattr'], + ['saveAttr', 'saveAttr'] + ].forEach(([entryKey, nodeKey]) => { + if (attackNode && !entry[entryKey] && attackNode[nodeKey] !== undefined) { + entry[entryKey] = String(attackNode[nodeKey] || '').trim(); + } + }); + if (!entry.saveFlag && saveMeta.saveFlag) entry.saveFlag = saveMeta.saveFlag; + if (!entry.saveAttr && saveMeta.saveAttr) entry.saveAttr = saveMeta.saveAttr; + if (!this.isPositiveFlag(entry.saveFlag)) entry.saveAttr = ''; + }, + + buildAttackDebugEntry(entry = {}, data = {}) { + const attackNode = data.attackNode || null; + return { + rowKey: String(entry.rowKey || ''), + id: String(entry.attackId || entry.id || ''), + name: String(entry.attackName || entry.name || ''), + atkAttrBase: String(data.atkAttrBase || ''), + saveFlag: String(entry.saveFlag || ''), + saveAttr: String(entry.saveAttr || ''), + atkProfFlag: String(entry.atkProfFlag || ''), + dumpNodeFound: attackNode ? '1' : '0', + dumpShortId: attackNode ? String(attackNode.shortID || attackNode.shortId || '') : '', + dumpName: attackNode ? String(attackNode.name || '') : '', + dumpRecordName: attackNode ? String(attackNode.recordName || '') : '', + abilityBonus: String(data.builderAbility || ''), + abilityModAttr: String(data.abilityModAttr || ''), + abilityMod: String(data.abilityMod || ''), + dmgBase: String(entry.dmgBase || ''), + dmgModRaw: String(data.dmgModRaw || ''), + resolvedDmgMod: String(data.resolvedDmgMod || ''), + finalDmgMod: String(entry.dmgMod || ''), + proficiencyBonus: String(data.proficiencyBonus || ''), + attackBonus: String(entry.attackBonus || ''), + saveAbilityModAttr: String(data.saveAbilityModAttr || ''), + saveAbilityMod: String(data.saveAbilityMod || ''), + saveDc: String(entry.saveDc || '') + }; + }, + + async resolveAttackDamageModifiers(entries = [], attributes = [], dumpRoots = [], characterId = '', tokenData = {}) { + if (!Array.isArray(entries) || !entries.length) return entries; + + for (let i = 0; i < entries.length; i += 1) { + const entry = entries[i]; + if (!entry) continue; + + const dmgModRaw = String(entry.dmgMod || '').trim(); + const atkAttrBaseRaw = String(entry.atkAttrBase || '').trim(); + const dmgModAttrName = this.cleanSheetAttributeReference(dmgModRaw); + const atkAttrName = this.cleanSheetAttributeReference(atkAttrBaseRaw); + const isSpellAttack = atkAttrName.toLowerCase() === 'spell'; + const shouldResolveDmgMod = dmgModAttrName && /^[A-Za-z_][A-Za-z0-9_ -]*$/.test(dmgModAttrName); + const attackNode = this.findAttackNodeInDumpRoots(dumpRoots, entry); + this.applyAttackSaveMeta(entry, attackNode); + + const isSaveAttack = this.isPositiveFlag(entry.saveFlag); + if (isSaveAttack && attackNode && !entry.attackDescription) { + entry.attackDescription = String(attackNode.description || '').trim(); + } + const shouldUseAttackAbility = !isSpellAttack && !isSaveAttack; + const builderAbility = shouldUseAttackAbility ? this.extractBuilderAttackAbility(attackNode) : ''; + const builderAbilityModAttr = this.abilityNameToModifierAttribute(builderAbility); + const atkAbilityModAttr = shouldUseAttackAbility ? (this.abilityNameToModifierAttribute(atkAttrName) || atkAttrName) : ''; + const abilityModAttr = builderAbilityModAttr || atkAbilityModAttr; + const saveAbilityModAttr = isSaveAttack ? this.abilityNameToModifierAttribute(entry.saveAttr) : ''; + + const resolvedDmgMod = shouldResolveDmgMod + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, dmgModAttrName, tokenData) + : ''; + const resolvedBuilderAbilityMod = builderAbilityModAttr + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, builderAbilityModAttr, tokenData) + : ''; + const resolvedAtkMod = (!resolvedBuilderAbilityMod && shouldUseAttackAbility && atkAbilityModAttr) + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, atkAbilityModAttr, tokenData) + : ''; + const abilityMod = resolvedBuilderAbilityMod || resolvedAtkMod; + const saveAbilityMod = saveAbilityModAttr + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, saveAbilityModAttr, tokenData) + : ''; + + let combinedMod = ''; + if (resolvedDmgMod) { + combinedMod = this.appendDamageModifier(combinedMod, resolvedDmgMod); + } else if (!shouldResolveDmgMod && !this.isBlankOrZeroModifier(dmgModRaw)) { + combinedMod = this.appendDamageModifier(combinedMod, dmgModRaw); + } + + if (shouldUseAttackAbility && dmgModAttrName.toLowerCase() !== String(abilityModAttr || '').toLowerCase()) { + combinedMod = this.appendDamageModifier(combinedMod, abilityMod); + entry.damageAbilityMod = String(abilityMod || '').trim(); + } + entry.dmgMod = this.damageTextHasModifier(entry.dmgBase) ? '' : combinedMod; + + const proficiencyBonus = (shouldUseAttackAbility && this.isPositiveFlag(entry.atkProfFlag)) + ? (this.getFastDetailValue(tokenData, 'pb') || await this.getFirstResolvedAttributeValue(characterId, attributes, ['pb', 'proficiency_bonus', 'prof_bonus'])) + : ''; + const saveProficiencyBonus = isSaveAttack + ? (this.getFastDetailValue(tokenData, 'pb') || await this.getFirstResolvedAttributeValue(characterId, attributes, ['pb', 'proficiency_bonus', 'prof_bonus'])) + : ''; + const attackBonusValue = this.modifierValueToNumber(abilityMod) + this.modifierValueToNumber(proficiencyBonus); + if (abilityMod || proficiencyBonus) entry.attackBonus = this.formatSignedModifier(attackBonusValue); + if (abilityMod) entry.attackAbilityMod = String(abilityMod || '').trim(); + if (proficiencyBonus) entry.attackExtraBonus = String(proficiencyBonus || '').trim(); + if (isSaveAttack) { + entry.saveDc = String(8 + this.modifierValueToNumber(saveAbilityMod) + this.modifierValueToNumber(saveProficiencyBonus)); + } + if (builderAbility) entry.abilityModSource = builderAbility; + entry.__debug = this.buildAttackDebugEntry(entry, { + attackNode, + atkAttrBase: atkAttrBaseRaw, + builderAbility, + abilityModAttr, + abilityMod, + dmgModRaw, + resolvedDmgMod, + proficiencyBonus: isSaveAttack ? saveProficiencyBonus : proficiencyBonus, + saveAbilityModAttr, + saveAbilityMod + }); + } + + return entries; + }, + + async resolveSpellModifiers(entries = [], attributes = [], dumpRoots = [], characterId = '', tokenData = {}) { + if (!Array.isArray(entries) || !entries.length) return entries; + + const characterClass = String(this.getFastDetailValue(tokenData, 'class') || this.getAttributeCurrentByName(attributes, 'class') || '').trim(); + const race = String(this.getFastDetailValue(tokenData, 'race') || this.getAttributeCurrentByName(attributes, 'race') || '').trim(); + const proficiencyBonus = this.getFastDetailValue(tokenData, 'pb') || + await this.getFirstResolvedAttributeValue(characterId, attributes, ['pb', 'proficiency_bonus', 'prof_bonus']); + + for (let i = 0; i < entries.length; i += 1) { + const entry = entries[i]; + if (!entry) continue; + + const spellDamageType = this.normalizeLookupText(entry.spellDamageType || ''); + const spellcastingAbility = this.resolveSpellOriginAbility({ + spellClass: entry.spellClass, + characterClass, + race, + dumpRoots, + tokenData + }); + const spellcastingModAttr = this.abilityNameToModifierAttribute(spellcastingAbility); + const spellcastingMod = spellcastingModAttr + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, spellcastingModAttr, tokenData) + : ''; + + entry.spellcastingAbility = spellcastingAbility; + entry.spellcastingMod = spellcastingMod; + + if (spellDamageType === 'spell attack') { + entry.spellSave = ''; + entry.spellSaveDc = ''; + entry.spellAttackBonus = this.formatSignedModifier( + this.modifierValueToNumber(proficiencyBonus) + this.modifierValueToNumber(spellcastingMod) + ); + } else if (spellDamageType === 'spell save') { + const saveAbility = this.canonicalAbilityName(entry.spellSave); + entry.spellSave = saveAbility || String(entry.spellSave || '').trim(); + entry.spellAttackBonus = ''; + entry.spellSaveDc = String(8 + this.modifierValueToNumber(proficiencyBonus) + this.modifierValueToNumber(spellcastingMod)); + } else { + entry.spellDamage = ''; + entry.spellSave = ''; + entry.spellAttackBonus = ''; + entry.spellSaveDc = ''; + } + + if ((spellDamageType === 'spell attack' || spellDamageType === 'spell save') && entry.spellDamage) { + let damageMod = ''; + if (!this.isBlankOrZeroModifier(entry.spellDamageMod || '')) { + damageMod = this.appendDamageModifier(damageMod, entry.spellDamageMod); + } + if (this.normalizeLookupText(entry.spellDamageAbility || '') === 'auto') { + damageMod = this.appendDamageModifier(damageMod, spellcastingMod); + } + if (damageMod && !this.damageTextHasModifier(entry.spellDamage)) { + entry.spellDamage = this.simplifyDamageFormula( + String(entry.spellDamage || '') + + (damageMod.charAt(0) === '-' ? damageMod : ('+' + damageMod.replace(/^\+/, ''))) + ); + } + } + + entry.__debug = { + rowKey: String(entry.rowKey || ''), + id: String(entry.spellId || entry.id || ''), + name: String(entry.spellName || entry.name || ''), + level: this.normalizeSpellLevel(entry.spellLevel), + spellClass: String(entry.spellClass || ''), + spellDamageType: String(entry.spellDamageType || ''), + spellDamage: String(entry.spellDamage || ''), + spellSave: String(entry.spellSave || ''), + spellRange: String(entry.spellRange || ''), + spellComponents: String(entry.spellComponents || ''), + spellSchool: String(entry.spellSchool || ''), + spellDuration: String(entry.spellDuration || ''), + spellComponentMaterials: String(entry.spellComponentMaterials || ''), + spellDescription: String(entry.spellDescription || ''), + spellcastingAbility, + spellcastingModAttr, + spellcastingMod, + proficiencyBonus, + spellAttackBonus: String(entry.spellAttackBonus || ''), + spellSaveDc: String(entry.spellSaveDc || ''), + spellDcFormula: spellDamageType === 'spell save' ? '8 + proficiencyBonus + spellcastingMod' : '' + }; + } + + return entries; + }, + + async getRepeatingSheetValue(characterId = '', prefix = '', rowKey = '', suffixes = []) { + for (let i = 0; i < suffixes.length; i += 1) { + const value = String(await R20.getSheet(characterId, prefix + '_' + rowKey + '_' + suffixes[i]) || '').trim(); + if (this.isRepeatingLookupError(value)) return ''; + if (value) return value; + } + return ''; + }, + + getActiveAttackNodesFromStore(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + + const rootEntry = InventoryService.loadInventoryRoot(safeCharacterId); + if (!rootEntry.ok) return []; + + const container = InventoryService.getInventoryContainer(rootEntry.root); + if (!container || typeof container !== 'object' || Array.isArray(container)) return []; + + const attacks = []; + const seen = {}; + const walk = (node, key = '') => { + if (!node || typeof node !== 'object') return; + if (Array.isArray(node)) { + for (let i = 0; i < node.length; i += 1) walk(node[i], String(i)); + return; + } + + const nodeType = String(node.type || node.componentType || '').trim().toLowerCase(); + const hasCascades = Object.prototype.hasOwnProperty.call(node, 'cascades'); + const shortId = this.cleanRepeatingActionId(node.shortID || node.shortId || node.id || ''); + if (nodeType === 'attack' && !hasCascades && shortId && !seen[shortId]) { + if (this.isStoreAttackFromSpell(container, node)) return; + seen[shortId] = true; + attacks.push({ key, node, container }); + return; + } + + const keys = Object.keys(node); + for (let i = 0; i < keys.length; i += 1) { + const childKey = keys[i]; + if (childKey === 'cascades') continue; + walk(node[childKey], childKey); + } + }; + + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) walk(container[keys[i]], keys[i]); + + return attacks.sort((a, b) => { + const aPos = Utils.toInt(a.node && a.node.arrayPosition, 999999); + const bPos = Utils.toInt(b.node && b.node.arrayPosition, 999999); + if (aPos !== bPos) return aPos - bPos; + return String(a.node && a.node.name || '').localeCompare(String(b.node && b.node.name || '')); + }); + }, + + isStoreAttackFromSpell(container = {}, attackNode = null) { + if (!container || typeof container !== 'object' || Array.isArray(container) || !attackNode) return false; + const sourceId = String(attackNode.sourceID || attackNode.sourceId || '').trim(); + const sourceNode = sourceId ? container[sourceId] : null; + return !!(sourceNode && typeof sourceNode === 'object' && !Array.isArray(sourceNode) && + String(sourceNode.type || sourceNode.componentType || '').trim().toLowerCase() === 'spell'); + }, + + getAttackDamageNodesFromStore(container = {}, attackNode = null, attackKey = '') { + if (!container || typeof container !== 'object' || Array.isArray(container) || !attackNode) return []; + const safeAttackKey = String(attackKey || '').trim(); + const safeAttackId = String(attackNode._id || safeAttackKey || '').trim(); + const childIds = InventoryService.parseChildIdList(attackNode.childIDs); + const found = []; + const seen = {}; + const addIfDamage = (node) => { + if (!node || typeof node !== 'object' || Array.isArray(node)) return; + const nodeType = String(node.type || node.componentType || '').trim().toLowerCase(); + if (nodeType !== 'damage') return; + const id = String(node._id || node.shortID || node.shortId || node.name || found.length).trim(); + if (seen[id]) return; + seen[id] = true; + found.push(node); + }; + + for (let i = 0; i < childIds.length; i += 1) { + addIfDamage(container[childIds[i]]); + } + + const keys = Object.keys(container); + for (let i = 0; i < keys.length; i += 1) { + const node = container[keys[i]]; + if (!node || typeof node !== 'object' || Array.isArray(node)) continue; + const parentId = String(node.parentID || node.parentId || '').trim(); + if (parentId && (parentId === safeAttackKey || parentId === safeAttackId)) addIfDamage(node); + } + + return found.sort((a, b) => Utils.toInt(a.arrayPosition, 999999) - Utils.toInt(b.arrayPosition, 999999)); + }, + + formatDamageNodeBase(damageNode = null, attackNode = null) { + const node = damageNode || {}; + const diceSize = String(node.diceSize || node.dieSize || '').trim().toLowerCase(); + const diceCountRaw = node.diceCount !== undefined ? node.diceCount : node.count; + const diceCount = Utils.toInt(diceCountRaw, 0); + if (diceSize) { + const normalizedSize = diceSize.charAt(0) === 'd' ? diceSize : ('d' + diceSize.replace(/^d/i, '')); + return String(Math.max(1, diceCount || 1)) + normalizedSize; + } + + const flat = Utils.toInt(this.getDamageNodeBonus(node), 0); + if (flat > 0) return String(flat); + + const text = [ + attackNode && attackNode.onHitDisplay, + attackNode && attackNode.description, + node.onHitDisplay, + node.description + ].filter(Boolean).join(' '); + const match = String(text || '').match(/takes?\s+(\d+d\d+|\d+)\s+[A-Za-z]+\s+damage/i); + return match ? String(match[1] || '').trim() : ''; + }, + + proficiencyLevelToMultiplier(value = '') { + const normalized = this.normalizeLookupText(value); + if (!normalized || normalized === 'none' || normalized === 'not proficient') return 0; + if (normalized.indexOf('expert') >= 0 || normalized.indexOf('expertise') >= 0) return 2; + if (normalized.indexOf('half') >= 0) return 0.5; + if (normalized.indexOf('proficient') >= 0 || normalized.indexOf('proficiency') >= 0) return 1; + if (this.isPositiveFlag(value)) return 1; + return 0; + }, + + getAttackNodeProficiencyLevel(attackNode = null) { + if (!attackNode || typeof attackNode !== 'object') return ''; + if (Object.prototype.hasOwnProperty.call(attackNode, 'proficiencyLevel')) { + return String(attackNode.proficiencyLevel || '').trim(); + } + + const attackData = attackNode.attack && typeof attackNode.attack === 'object' ? attackNode.attack : null; + if (attackData && Object.prototype.hasOwnProperty.call(attackData, 'proficiencyLevel')) { + return String(attackData.proficiencyLevel || '').trim(); + } + return ''; + }, + + async buildActiveAttackEntryFromNode(characterId = '', attributes = [], attackNode = null, key = '', tokenData = {}, container = {}) { + const node = attackNode || {}; + const attackId = this.cleanRepeatingActionId(node.shortID || node.shortId || node.id || ''); + const attackName = String(node.name || node.recordName || node.recordname || attackId || 'Attack').trim(); + if (!attackId || !attackName) return null; + + const damageNodes = this.getAttackDamageNodesFromStore(container, node, key); + const primaryDamageNode = damageNodes[0] || null; + const dmgBaseRaw = primaryDamageNode ? this.formatDamageNodeBase(primaryDamageNode, node) : this.formatDamageNodeBase(null, node); + const dmgTypeRaw = primaryDamageNode ? String(primaryDamageNode.damageType || primaryDamageNode.damage || '').trim() : ''; + const damageBonusRaw = primaryDamageNode ? this.getDamageNodeBonus(primaryDamageNode) : ''; + const damageAbility = primaryDamageNode ? String(primaryDamageNode.ability || '').trim().toLowerCase() : ''; + const damageDiceSize = primaryDamageNode ? String(primaryDamageNode.diceSize || primaryDamageNode.dieSize || '').trim() : ''; + const attackBonusRaw = node.attack && Object.prototype.hasOwnProperty.call(node.attack, 'bonus') + ? node.attack.bonus + : node.bonus; + const autoHit = this.isPositiveFlag(node.autoHit || node.autohit || node.auto_hit || ''); + const nodeProficiencyLevel = this.getAttackNodeProficiencyLevel(node); + const proficiencySource = nodeProficiencyLevel ? 'store' : 'repeating'; + const profRaw = nodeProficiencyLevel || await this.getRepeatingSheetValue(characterId, 'repeating_attack', attackId, this.getRepeatingFieldSuffixes('atkprofflag')); + const dmgModRaw = ''; + const proficiencyMultiplier = this.proficiencyLevelToMultiplier(profRaw); + + const entry = { + rowKey: String(key || attackId), + attackId, + attackName, + dmgBase: String(dmgBaseRaw || '').trim(), + dmgMod: '', + dmgType: String(dmgTypeRaw || '').trim(), + atkProfFlag: String(profRaw || (proficiencyMultiplier > 0 ? '1' : '')).trim(), + saveFlag: '', + saveAttr: '', + attackBonus: '', + saveDc: '', + autoHit + }; + + this.applyAttackSaveMeta(entry, node); + + const isSaveAttack = this.isPositiveFlag(entry.saveFlag); + if (isSaveAttack) entry.attackDescription = String(node.description || '').trim(); + const abilityName = isSaveAttack ? '' : this.extractBuilderAttackAbility(node); + const abilityModAttr = abilityName ? this.abilityNameToModifierAttribute(abilityName) : ''; + const saveAbilityModAttr = isSaveAttack ? this.abilityNameToModifierAttribute(entry.saveAttr) : ''; + const baseProficiencyBonus = proficiencyMultiplier > 0 + ? (this.getFastDetailValue(tokenData, 'pb') || await this.getFirstResolvedAttributeValue(characterId, attributes, ['pb', 'proficiency_bonus', 'prof_bonus'])) + : ''; + const proficiencyBonus = proficiencyMultiplier > 0 + ? String(Math.floor(this.modifierValueToNumber(baseProficiencyBonus) * proficiencyMultiplier)) + : ''; + const abilityMod = abilityModAttr + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, abilityModAttr, tokenData) + : ''; + const saveAbilityMod = saveAbilityModAttr + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, saveAbilityModAttr, tokenData) + : ''; + + let combinedDmgMod = ''; + const dmgModAttr = this.cleanSheetAttributeReference(dmgModRaw); + const shouldResolveDmgMod = dmgModAttr && /^[A-Za-z_][A-Za-z0-9_ -]*$/.test(dmgModAttr); + const resolvedDmgMod = shouldResolveDmgMod + ? await this.getCachedOrResolvedAttributeValue(characterId, attributes, dmgModAttr, tokenData) + : ''; + if (resolvedDmgMod) combinedDmgMod = this.appendDamageModifier(combinedDmgMod, resolvedDmgMod); + else if (!shouldResolveDmgMod && !this.isBlankOrZeroModifier(dmgModRaw)) combinedDmgMod = this.appendDamageModifier(combinedDmgMod, dmgModRaw); + if (entry.dmgBase && damageDiceSize && !this.damageTextHasModifier(entry.dmgBase)) { + combinedDmgMod = this.appendDamageModifier(combinedDmgMod, damageBonusRaw); + entry.damageFlatBonus = String(damageBonusRaw || '').trim(); + } + if (!isSaveAttack && abilityMod && damageAbility && damageAbility !== 'none') { + combinedDmgMod = this.appendDamageModifier(combinedDmgMod, abilityMod); + entry.damageAbilityMod = String(abilityMod || '').trim(); + } + entry.dmgMod = this.damageTextHasModifier(entry.dmgBase) ? '' : combinedDmgMod; + entry.damageParts = damageNodes.map((damageNode) => { + const partBase = this.formatDamageNodeBase(damageNode, node); + const partType = String(damageNode.damageType || damageNode.damage || '').trim(); + const partDiceSize = String(damageNode.diceSize || damageNode.dieSize || '').trim(); + const partBonus = this.getDamageNodeBonus(damageNode); + const partAbility = String(damageNode.ability || '').trim().toLowerCase(); + let partMod = ''; + if (partBase && partDiceSize && !this.damageTextHasModifier(partBase)) { + partMod = this.appendDamageModifier(partMod, partBonus); + } + if (!isSaveAttack && abilityMod && partAbility && partAbility !== 'none') { + partMod = this.appendDamageModifier(partMod, abilityMod); + } + return { + dmgBase: String(partBase || '').trim(), + dmgMod: this.damageTextHasModifier(partBase) ? '' : partMod, + dmgType: partType, + damageFlatBonus: String(partBonus || '').trim(), + damageAbilityMod: (!isSaveAttack && abilityMod && partAbility && partAbility !== 'none') ? String(abilityMod || '').trim() : '' + }; + }).filter((part) => String(part.dmgBase || part.dmgMod || '').trim()); + if (!entry.damageParts.length && (entry.dmgBase || entry.dmgMod)) { + entry.damageParts = [{ + dmgBase: String(entry.dmgBase || '').trim(), + dmgMod: String(entry.dmgMod || '').trim(), + dmgType: String(entry.dmgType || '').trim(), + damageFlatBonus: String(entry.damageFlatBonus || '').trim(), + damageAbilityMod: String(entry.damageAbilityMod || '').trim() + }]; + } + + if (!isSaveAttack) { + entry.attackBonus = this.formatSignedModifier( + this.modifierValueToNumber(abilityMod) + + this.modifierValueToNumber(proficiencyBonus) + + this.modifierValueToNumber(attackBonusRaw) + ); + if (abilityMod) entry.attackAbilityMod = String(abilityMod || '').trim(); + entry.attackExtraBonus = String( + this.modifierValueToNumber(proficiencyBonus) + + this.modifierValueToNumber(attackBonusRaw) + ); + if (abilityName) entry.abilityModSource = abilityName; + } else { + const saveProficiencyBonus = this.getFastDetailValue(tokenData, 'pb') || + await this.getFirstResolvedAttributeValue(characterId, attributes, ['pb', 'proficiency_bonus', 'prof_bonus']); + entry.saveDc = String(8 + this.modifierValueToNumber(saveAbilityMod) + this.modifierValueToNumber(saveProficiencyBonus)); + } + + entry.__debug = this.buildAttackDebugEntry(entry, { + attackNode: node, + builderAbility: abilityName, + abilityModAttr, + abilityMod, + dmgModRaw, + damageBonusRaw, + resolvedDmgMod, + proficiencyBonus, + proficiencyMultiplier, + proficiencySource, + attackBonusRaw, + saveAbilityModAttr, + saveAbilityMod + }); + return entry; + }, + + async getRepeatingAttacks(characterId = '', options = {}) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + + const attributes = Array.isArray(options.attributes) ? options.attributes : this.getCharacterAttributes(safeCharacterId); + const tokenData = options.tokenData && typeof options.tokenData === 'object' ? options.tokenData : await this.getTokenData(safeCharacterId, attributes); + const attackNodes = this.getActiveAttackNodesFromStore(safeCharacterId); + const entries = []; + + for (let i = 0; i < attackNodes.length; i += 1) { + const item = attackNodes[i]; + const entry = await this.buildActiveAttackEntryFromNode(safeCharacterId, attributes, item.node, item.key, tokenData, item.container); + if (entry) entries.push(entry); + } + + return entries; + }, + + buildSpellEntryFromDumpNode(spellItem = null) { + const spellNode = spellItem && spellItem.node ? spellItem.node : null; + const index = spellItem && spellItem.index ? spellItem.index : {}; + if (!spellNode || typeof spellNode !== 'object') return null; + + const spellId = this.cleanRepeatingActionId(spellNode.shortID || spellNode.shortId || spellNode.id || ''); + const spellName = String(spellNode.name || spellNode.recordName || spellId || 'Spell').trim(); + if (!spellId || !spellName) return null; + + const actionNode = this.findSpellActionNode(spellNode, index); + const effectNode = this.findSpellEffectNode(spellNode, actionNode, index); + const actionType = this.normalizeLookupText(actionNode && actionNode.attack && actionNode.attack.type || ''); + const isSpellAttack = actionType === 'spell attack'; + const isSpellSave = actionType === 'spell save'; + const damageType = effectNode ? String(effectNode.damageType || effectNode.damage || '').trim() : ''; + const damageBase = effectNode && String(effectNode.type || '').trim().toLowerCase() === 'damage' + ? this.formatDamageNodeBase(effectNode, actionNode || spellNode) + : ''; + const damageDiceSize = effectNode ? String(effectNode.diceSize || effectNode.dieSize || '').trim() : ''; + const damageBonus = effectNode && damageDiceSize ? this.getDamageNodeBonus(effectNode) : ''; + const damage = damageBonus && damageBase && !this.damageTextHasModifier(damageBase) + ? this.simplifyDamageFormula(damageBase + (String(damageBonus).charAt(0) === '-' ? String(damageBonus) : ('+' + String(damageBonus).replace(/^\+/, '')))) + : damageBase; + const components = spellNode.components && typeof spellNode.components === 'object' ? spellNode.components : {}; + + return { + rowKey: String(spellItem.key || spellId), + spellId, + spellName, + spellLevel: this.normalizeSpellLevel(spellNode.level), + spellClass: String(spellNode.source || '').trim(), + spellSource: String(spellNode.source || '').trim(), + spellDamageType: isSpellAttack ? 'Spell Attack' : (isSpellSave ? 'Spell Save' : ''), + spellDamage: damage, + spellDamageMod: effectNode && !damageDiceSize ? '' : damageBonus, + spellDamageAbility: effectNode ? String(effectNode.ability || '').trim() : '', + spellDamageElement: damageType, + spellSave: isSpellSave ? this.extractSpellSaveAbility(spellNode, actionNode) : '', + spellAttackBonus: '', + spellSaveDc: '', + spellcastingAbility: '', + spellcastingMod: '', + spellRange: String(spellNode.range || '').trim(), + spellComponents: this.formatSpellComponentsValue(components), + spellSchool: String(spellNode.school || '').trim(), + spellDuration: String(spellNode.duration || '').trim(), + spellComponentMaterials: String(components.materialDescription || '').trim(), + spellDescription: String(spellNode.description || '').trim() + }; + }, + + async getStoreSpells(characterId = '', options = {}) { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + + const attributes = Array.isArray(options.attributes) ? options.attributes : this.getCharacterAttributes(safeCharacterId); + const dumpRoots = this.getCharacterStoreDumpRoots(attributes); + if (!dumpRoots.length) return []; + const tokenData = options.tokenData && typeof options.tokenData === 'object' ? options.tokenData : await this.getTokenData(safeCharacterId, attributes); + const spellItems = this.getStoreSpellNodesFromDumpRoots(dumpRoots); + const entries = []; + + for (let i = 0; i < spellItems.length; i += 1) { + const entry = this.buildSpellEntryFromDumpNode(spellItems[i]); + if (entry) entries.push(entry); + } + + await this.resolveSpellModifiers(entries, attributes, dumpRoots, safeCharacterId, tokenData); + entries.sort((a, b) => + this.spellLevelSortValue(a.spellLevel) - this.spellLevelSortValue(b.spellLevel) || + String(a.spellName || '').localeCompare(String(b.spellName || '')) + ); + return entries; + }, + + getCharacterAbilities(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return []; + return findObjs({ + _type: 'ability', + _characterid: safeCharacterId + }) || []; + }, + + findCharacterAbility(characterId = '', abilityName = '') { + const key = String(abilityName || '').trim().toLowerCase(); + if (!key) return null; + const abilities = this.getCharacterAbilities(characterId); + return abilities.find((ability) => String(ability.get('name') || '').trim().toLowerCase() === key) || null; + }, + + removeObject(object) { + if (!object || !Utils.isFunction(object.remove)) return false; + object.remove(); + return true; + }, + + clearManagedAbilities(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + const names = this.managedAbilityNames.map((name) => String(name || '').trim().toLowerCase()); + const abilities = this.getCharacterAbilities(safeCharacterId); + const removed = []; + + for (let i = 0; i < abilities.length; i += 1) { + const ability = abilities[i]; + const name = String(ability.get('name') || '').trim(); + if (!names.includes(name.toLowerCase())) continue; + if (this.removeObject(ability)) removed.push(name); + } + + return removed; + }, + + clearCharacterSetup(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + + const removedAbilities = this.clearManagedAbilities(safeCharacterId); + const removedMarker = this.clearInitializationMarker(safeCharacterId); + return { + ok: true, + removedAbilities, + abilityCount: removedAbilities.length, + removedMarker, + }; + }, + + upsertCharacterAbility(characterId = '', ability = {}) { + const safeCharacterId = String(characterId || '').trim(); + const name = String(ability.name || '').trim(); + const action = String(ability.action || ''); + if (!safeCharacterId || !name || !action) { + return { ok: false, action: 'skipped', name, message: 'Missing character, ability name, or action.' }; + } + + const existing = this.findCharacterAbility(safeCharacterId, name); + if (existing) { + existing.set({ + action, + istokenaction: true + }); + return { ok: true, action: 'updated', name, ability: existing }; + } + + const created = createObj('ability', { + characterid: safeCharacterId, + name, + action, + istokenaction: true + }); + return { ok: !!created, action: created ? 'created' : 'failed', name, ability: created }; + }, + + initCharacterAbilities(characterId = '') { + const safeCharacterId = String(characterId || '').trim(); + if (!safeCharacterId) return { ok: false, message: 'Character is required.' }; + + const abilityCheck = + '?{Ability|Strength,!tntToken ability strength|Dexterity,!tntToken ability dexterity|Constitution,!tntToken ability constitution|Intelligence,!tntToken ability intelligence|Wisdom,!tntToken ability wisdom|Charisma,!tntToken ability charisma}'; + const savingThrow = + '?{Ability|Strength,!tntToken saving strength|Dexterity,!tntToken saving dexterity|Constitution,!tntToken saving constitution|Intelligence,!tntToken saving intelligence|Wisdom,!tntToken saving wisdom|Charisma,!tntToken saving charisma}'; + const skillCheck = + '?{Skill|Acrobatics,!tntToken skill acrobatics|Animal Handling,!tntToken skill animal handling|Arcana,!tntToken skill arcana|Athletics,!tntToken skill athletics|Deception,!tntToken skill deception|History,!tntToken skill history|Insight,!tntToken skill insight|Intimidation,!tntToken skill intimidation|Investigation,!tntToken skill investigation|Medicine,!tntToken skill medicine|Nature,!tntToken skill nature|Perception,!tntToken skill perception|Performance,!tntToken skill performance|Persuasion,!tntToken skill persuasion|Religion,!tntToken skill religion|Sleight of Hand,!tntToken skill sleight of hand|Stealth,!tntToken skill stealth|Survival,!tntToken skill survival}'; + const abilities = [ + { name: 'Inventory', action: '!tntInventory' }, + { name: 'Shop', action: '!tntShop list' }, + { name: 'Search', action: '!tntItem search ?{itemname}' }, + { name: 'Initiative', action: '!tntToken initiative' }, + { name: 'Ability-Check', action: abilityCheck }, + { name: 'Saving-Throw', action: savingThrow }, + { name: 'Skill-Check', action: skillCheck }, + { name: 'Combat', action: '!tntToken combat' }, + { name: 'Spells', action: '!tntToken spells' } + ]; + const results = abilities.map((ability) => this.upsertCharacterAbility(safeCharacterId, ability)); + const desiredNames = abilities.map((ability) => String(ability.name || '').trim().toLowerCase()).filter(Boolean); + const removedObsolete = []; + this.managedAbilityNames.forEach((name) => { + const safeName = String(name || '').trim(); + if (!safeName || desiredNames.includes(safeName.toLowerCase())) return; + const ability = this.findCharacterAbility(safeCharacterId, safeName); + if (this.removeObject(ability)) removedObsolete.push(safeName); + }); + const failed = results.filter((result) => !result.ok); + return { + ok: !failed.length, + results, + failed, + removedObsolete, + created: results.filter((result) => result.action === 'created').length, + updated: results.filter((result) => result.action === 'updated').length + }; + } + }; + + /** ----------------------------------------------------------------------- + * @section Command Handlers + * --------------------------------------------------------------------- */ + const Handlers = { + actionList(actions = []) { + const displayActions = (Array.isArray(actions) ? actions : []) + .map((action) => String(action || '').trim()) + .filter(Boolean) + .map((action) => (action.toLowerCase() === 'rawlist' ? 'rawList' : action)); + return '{' + displayActions.join('|') + '}'; + }, + + getCommandDescription(command = {}, isGM = false) { + const name = String(command.name || '').trim().toLowerCase(); + if (name === 'inventory') { + return isGM + ? 'Inventory: !tntInventory {get|remove|add|give|use|discard|equip|template|lightoff|prone}.' + : 'Inventory: !tntInventory {get|remove|give|use|discard|equip|lightoff|prone}.'; + } + if (name === 'shop') { + return isGM + ? 'Shop: !tntShop {list|get|buy|menu|detail|export|create|delete|add|remove|open|close|hide|blacklist|config|load|reload}.' + : 'Shop: !tntShop {list|get|buy}.'; + } + if (name === 'item') { + return isGM + ? 'Item Catalog: !tntItem {list|rawList|search|details|send|create|remove|reload}.' + : 'Item Catalog: !tntItem {search|details|send}.'; + } + if (name === 'dm menu') { + return 'DM Menu: !tntDM {menu|combat|token|config}.'; + } + if (name === 'token') { + return isGM + ? 'Token: !tntToken {init|clear|setup|get|set|deal|dealroll|heal|condition|conditionmenu|effectmenu|combat|spells|refreshattacks|refreshspells|ability|saving|skill|initiative|roll|attackroll}.' + : 'Token: !tntToken {get|deal|dealroll|heal|condition|conditionmenu|combat|spells|refreshattacks|refreshspells|ability|saving|skill|initiative}.'; + } + return String(command.description || ''); + }, + + sendShopUsage(who = 'GM', isGM = false) { + const actions = isGM + ? PUBLIC_ACTIONS.SHOP.concat(GM_ACTIONS.SHOP) + : PUBLIC_ACTIONS.SHOP.slice(); + const examples = isGM + ? '
Examples: !tntShop menu | !tntShop get shopId | !tntShop buy shopId buyerTokenId itemName qty' + : '
Examples: !tntShop list | !tntShop get shopId | !tntShop buy shopId buyerTokenId itemName qty'; + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntShop ' + Handlers.actionList(actions) + ' ...' + examples, + 'warning' + ); + }, + + sendItemUsage(who = 'GM', isGM = false) { + const actions = isGM + ? PUBLIC_ACTIONS.ITEM.concat(GM_ACTIONS.ITEM) + : PUBLIC_ACTIONS.ITEM.slice(); + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntItem ' + Handlers.actionList(actions) + ' ...', + 'warning' + ); + }, + + async help(ctx) { + const isGM = !!ctx.isGM; + const commands = Array.from(new Set([...Registry.commands.values()])) + .filter((cmd) => isGM || !cmd.gmOnly); + const body = commands.map((cmd) => { + return Html.div( + '' + Utils.escapeHtml(cmd.trigger[0] || cmd.name) + ' - ' + Utils.escapeHtml(Handlers.getCommandDescription(cmd, isGM)), + 'padding:4px 0;' + ); + }).join(''); + + R20.whisper(ctx.who, Html.card({ title: 'T&T Commands', body })); + }, + + async dm(ctx) { + const who = ctx.who || 'GM'; + const action = String((ctx.args && ctx.args[0]) || 'menu').trim().toLowerCase(); + if (action === 'menu') { + R20.whisper(who, Render.showDmMainMenu()); + return; + } + if (action === 'combat') { + R20.whisper(who, Render.showDmTokenCombatMenu()); + return; + } + if (action === 'token' || action === 'setup') { + R20.whisper(who, Render.showDmTokenConfigMenu()); + return; + } + if (action === 'config' || action === 'settings') { + const mode = String((ctx.args && ctx.args[1]) || '').trim().toLowerCase(); + const key = String((ctx.args && ctx.args[2]) || '').trim(); + if (mode === 'toggle') { + const result = RuntimeConfig.toggle(key); + if (!result.ok) Render.sendWhisperMessage(who, 'T&T Settings', Utils.escapeHtml(result.message || 'Unable to update config.'), 'failure'); + R20.whisper(who, Render.showDmConfigMenu()); + return; + } + if (mode === 'set') { + const value = (ctx.args || []).slice(3).join(' ').trim(); + const result = RuntimeConfig.set(key, value); + if (!result.ok) Render.sendWhisperMessage(who, 'T&T Settings', Utils.escapeHtml(result.message || 'Unable to update config.'), 'failure'); + R20.whisper(who, Render.showDmConfigMenu()); + return; + } + R20.whisper(who, Render.showDmConfigMenu()); + return; + } + + Render.sendWhisperMessage(who, 'DM Menu', 'Use: !tntDM {menu|combat|token|config}.', 'warning'); + }, + + async refreshTokenList(ctx, type = 'attack') { + const who = ctx.who || 'GM'; + const isSpell = type === 'spell'; + const title = isSpell ? 'T&T Refresh Spells' : 'T&T Refresh Attacks'; + const tokenRef = String((ctx.args && ctx.args[1]) || '').trim(); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + const sourceRefs = tokenRef + ? [tokenRef] + : selectedTokens.map((token) => String(token && token.id || '').trim()).filter(Boolean); + if (!sourceRefs.length) { + Render.sendWhisperMessage(who, title, 'Select one or more linked tokens.', 'warning'); + return; + } + + Render.sendWhisperMessage(who, title, 'This may take a few seconds.', 'success'); + let rendered = 0; + for (let i = 0; i < sourceRefs.length; i += 1) { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceRefs[i], + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: isSpell ? 'refresh spells from' : 'refresh attacks from' + }); + + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, title, accessResult); + continue; + } + + const character = accessResult.access.character; + const tokenName = String(accessResult.access.tokenName || character.get('name') || 'Character'); + const attributes = TokenService.getCharacterAttributes(character.id); + const dumpRoots = TokenService.getCharacterSheetDumpRoots(attributes); + const spellSlots = isSpell ? TokenService.getSpellSlotsFromDumpRoots(TokenService.getCharacterStoreDumpRoots(attributes)) : {}; + const tokenData = await TokenService.buildTokenData(character.id, attributes, dumpRoots); + const tokenDataResult = await TokenService.updateTokenDataAttribute(character.id, tokenData); + const entries = isSpell + ? await TokenService.getStoreSpells(character.id, { attributes, dumpRoots, tokenData }) + : await TokenService.getRepeatingAttacks(character.id, { attributes, dumpRoots, tokenData }); + const results = [ + tokenDataResult, + isSpell + ? await TokenService.updateSpellListAttribute(character.id, entries) + : await TokenService.updateAttackListAttribute(character.id, entries) + ]; + const failed = results.find((result) => !result || !result.ok); + if (failed) { + Render.sendWhisperMessage( + who, + title, + Utils.escapeHtml(failed.message || 'Unable to update action list.'), + 'failure' + ); + continue; + } + + const headerStats = await TokenService.getTokenActionHeaderStats(character.id, attributes); + const renderOptions = { + title: tokenName + ' Actions', + tokenName, + characterId: character.id, + tokenId: accessResult.access.token.id, + tokenRef: R20.makeTokenRef(accessResult.access.token), + attributes, + headerStats, + spellSlots, + imgsrc: TokenService.isRoll20TokenImageSource(accessResult.access.token.get('imgsrc')) + ? String(accessResult.access.token.get('imgsrc') || '').trim() + : '' + }; + const card = isSpell + ? Render.showTokenSpellActionCard(entries, renderOptions) + : Render.showTokenAttackActionCard(entries, renderOptions); + if (card) { + R20.whisper(who, card); + rendered += 1; + continue; + } + + Render.sendWhisperMessage( + who, + title, + 'No ' + (isSpell ? 'spells' : 'attacks') + ' were found for ' + Utils.escapeHtml(tokenName) + '.', + 'warning' + ); + } + + if (!rendered) { + Render.sendWhisperMessage(who, title, 'No action cards were rendered.', 'warning'); + } + }, + + sendDealDamageResult(result = {}) { + const body = TokenService.renderDealDamageBody(result); + if (result.missed) { + Render.sendPublicMessage('Attack Missed', body, 'warning'); + return; + } + + const title = TokenService.buildDealDamageTitle(result); + Render.sendPublicMessage( + title.text, + body, + result.saveAbility ? (result.saveSuccess ? 'success' : 'failure') : (result.immune ? 'warning' : 'normal'), + title.html ? { titleHtml: title.html } : {} + ); + }, + + async handleConcentrationAfterDamage(token = null, character = null, result = {}, who = 'GM') { + if (!token || !character || !result || !result.ok) return null; + if (result.missed || result.noDamage || result.alreadyFainted || result.immune) return null; + if (Math.max(0, Utils.toInt(result.finalDamage, 0)) <= 0) return null; + if (!TokenService.tokenHasConcentrationMarker(token)) return null; + + if (TokenService.shouldRequestManualConcentrationCheck(token, character)) { + const request = TokenService.sendManualConcentrationRequest(token, character, who); + if (request.ok) { + Render.sendWhisperMessage( + who, + 'Concentration Pending', + 'Waiting for concentration saving throw from: ' + Utils.escapeHtml(request.tokenName) + '.', + 'warning' + ); + } + return request; + } + + const concentration = await TokenService.resolveConcentrationCheck(token, character); + if (!concentration.ok) { + Render.sendWhisperMessage(who, 'Concentration Check', Utils.escapeHtml(concentration.message || 'Concentration check failed.'), 'failure'); + return concentration; + } + R20.send(TokenService.showConcentrationCheckResult(concentration)); + return concentration; + }, + + async token(ctx) { + const who = ctx.who || 'GM'; + const action = String((ctx.args && ctx.args[0]) || '').trim().toLowerCase(); + + if (!ACTIONS.TOKEN.includes(action)) { + Render.sendWhisperMessage( + who, + 'Command Usage', + ctx.isGM ? 'Use: !tntToken {init|clear|setup|save|default|get|set|deal|dealroll|heal|condition|conditionmenu|effectmenu|combat|spells|refreshattacks|refreshspells|ability|saving|skill|initiative|roll|attackroll}' : 'Use: !tntToken {get|deal|dealroll|heal|condition|conditionmenu|combat|spells|refreshattacks|refreshspells|ability|saving|skill|initiative}', + 'warning' + ); + return; + } + + if (action === 'ability' || action === 'saving' || action === 'skill' || action === 'initiative') { + const rollValue = String((ctx.args || []).slice(1).join(' ') || '').trim(); + const macroName = TokenService.normalizeTokenRollMacroName(action, rollValue); + const title = action === 'ability' + ? 'Ability Check' + : (action === 'saving' ? 'Saving Throw' : (action === 'initiative' ? 'Initiative' : 'Skill Check')); + if (!macroName) { + Render.sendWhisperMessage( + who, + title, + 'Use: !tntToken ' + Utils.escapeHtml(action) + (action === 'initiative' ? '' : (' ' + (action === 'skill' ? 'survival' : 'wisdom'))) + '.', + 'warning' + ); + return; + } + + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, title, 'Select one or more linked tokens.', 'warning'); + return; + } + + if (action === 'initiative') { + const rolls = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const selected = selectedTokens[i]; + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selected && selected.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'roll initiative from' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, title, accessResult); + continue; + } + const characterId = accessResult.access.character.id; + const attributes = TokenService.getCharacterAttributes(characterId); + const baseModifier = await TokenService.getTokenRollModifier(characterId, attributes, 'initiative', ''); + const exhaustionPenalty = TokenService.getExhaustionD20Penalty(characterId); + const modifier = baseModifier + exhaustionPenalty; + const rollModeDetails = TokenService.getActiveRollModeDetails(TokenService.getCharacterStoreDumpRoots(attributes), 'initiative', ''); + const rollMode = rollModeDetails.mode || 'normal'; + const tokenRolls = TokenService.buildD20Rolls(modifier, rollMode); + const selectedIndex = TokenService.getSelectedD20RollIndex(tokenRolls, rollMode); + const selectedRoll = selectedIndex >= 0 ? tokenRolls[selectedIndex] : (tokenRolls[0] || null); + tokenRolls.forEach((roll, index) => { + if (Utils.toInt(roll.natural, 0) === 20) { + roll.critical = true; + roll.marker = '★'; + } + roll.selected = index === selectedIndex; + const tooltipRows = [ + { label: 'Roll', source: '1d20', value: String(roll.natural) }, + { label: 'Mod', value: TokenService.tooltipSignedValue(baseModifier) }, + exhaustionPenalty ? { label: 'Exhaustion', value: TokenService.tooltipSignedValue(exhaustionPenalty) } : null + ].filter(Boolean); + TokenService.addRollModeTooltipRows(tooltipRows, rollModeDetails); + tooltipRows.push({ label: 'Total', value: String(roll.total) }); + roll.tooltip = TokenService.rollLabelTooltip(tooltipRows); + }); + rolls.push({ + kind: 'initiative', + tokenId: accessResult.access.token.id, + pageId: String(accessResult.access.token.get('pageid') || accessResult.access.token.get('_pageid') || '').trim(), + tokenName: String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token'), + imgsrc: TokenService.isRoll20TokenImageSource(accessResult.access.token.get('imgsrc')) ? String(accessResult.access.token.get('imgsrc') || '').trim() : '', + modifier, + rolls: tokenRolls, + selectedTotal: selectedRoll ? Utils.toInt(selectedRoll.total, 0) : modifier, + rollModeDetails + }); + } + + if (!rolls.length) { + Render.sendWhisperMessage(who, title, 'No accessible linked tokens were found.', 'warning'); + return; + } + TokenService.updateTurnOrderWithRolls(rolls); + R20.send(Render.showTokenRollCard(rolls, { kind: 'initiative', value: '', mode: 'auto' })); + return; + } + + let rolled = 0; + for (let i = 0; i < selectedTokens.length; i += 1) { + const selected = selectedTokens[i]; + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selected && selected.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'roll from' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, title, accessResult); + continue; + } + + R20.send('%{' + accessResult.access.character.id + '|' + macroName + '}'); + rolled += 1; + } + + if (!rolled) { + Render.sendWhisperMessage(who, title, 'No accessible linked tokens were found.', 'warning'); + } + return; + } + + if (action === 'roll') { + if (!ctx.isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can use token roll cards.', 'failure'); + return; + } + + const rollKind = String((ctx.args && ctx.args[1]) || 'ability').trim().toLowerCase(); + const rollValue = TokenService.stripCommandQuotes(String((ctx.args || []).slice(2).join(' ')).trim()); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Roll', 'Select one or more tokens.', 'warning'); + return; + } + + const rolls = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + if (!token) continue; + const character = R20.getCharacterFromToken(token); + const attributes = character ? TokenService.getCharacterAttributes(character.id) : []; + const baseModifier = character + ? await TokenService.getTokenRollModifier(character.id, attributes, rollKind, rollValue) + : 0; + const exhaustionPenalty = character ? TokenService.getExhaustionD20Penalty(character.id) : 0; + const modifier = baseModifier + exhaustionPenalty; + const firstNatural = Utils.rollDie(20); + const secondNatural = Utils.rollDie(20); + const tokenRolls = [ + { + modifier, + natural: firstNatural, + total: firstNatural + modifier, + tooltip: TokenService.rollLabelTooltip([ + { label: 'Roll', source: '1d20', value: String(firstNatural) }, + { label: 'Bonus', value: TokenService.tooltipSignedValue(0) }, + { label: 'Mod', value: TokenService.tooltipSignedValue(baseModifier) }, + exhaustionPenalty ? { label: 'Exhaustion', value: TokenService.tooltipSignedValue(exhaustionPenalty) } : null, + { label: 'Total', value: String(firstNatural + modifier) } + ].filter(Boolean)) + }, + { + modifier, + natural: secondNatural, + total: secondNatural + modifier, + tooltip: TokenService.rollLabelTooltip([ + { label: 'Roll', source: '1d20', value: String(secondNatural) }, + { label: 'Bonus', value: TokenService.tooltipSignedValue(0) }, + { label: 'Mod', value: TokenService.tooltipSignedValue(baseModifier) }, + exhaustionPenalty ? { label: 'Exhaustion', value: TokenService.tooltipSignedValue(exhaustionPenalty) } : null, + { label: 'Total', value: String(secondNatural + modifier) } + ].filter(Boolean)) + } + ]; + rolls.push({ + kind: rollKind, + tokenName: String(token.get('name') || 'Token'), + imgsrc: TokenService.isRoll20TokenImageSource(token.get('imgsrc')) ? String(token.get('imgsrc') || '').trim() : '', + modifier, + rolls: tokenRolls + }); + } + R20.send(Render.showTokenRollCard(rolls, { kind: rollKind, value: rollValue })); + return; + } + + if (action === 'attackroll') { + const tokenRef = String((ctx.args && ctx.args[1]) || '').trim(); + const attackId = String((ctx.args && ctx.args[2]) || '').trim(); + const mode = TokenService.stripCommandQuotes(String((ctx.args && ctx.args[4]) || (ctx.args && ctx.args[3]) || 'auto')).toLowerCase(); + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: tokenRef, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'roll attack from' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Attack Roll', accessResult); + return; + } + + const result = await TokenService.buildAttackRollResult( + accessResult.access.token, + accessResult.access.character, + attackId, + mode + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Attack Roll', Utils.escapeHtml(result.message || 'Unable to roll attack.'), 'failure'); + return; + } + + R20.send(Render.showAttackRollCard(result)); + R20.whisper('GM', Render.showAttackDamagePrompt(result)); + return; + } + + const normalizeTokenPropertyName = (propertyName = '') => { + return String(propertyName || '').trim(); + }; + const parseTokenPropertyValue = (value = '') => { + const raw = String(value === undefined || value === null ? '' : value).trim(); + const lower = raw.toLowerCase(); + if (['true', 'yes', 'y', 'on'].includes(lower)) return true; + if (['false', 'no', 'n', 'off'].includes(lower)) return false; + if (/^-?\d+(?:\.\d+)?$/.test(raw)) return Number(raw); + return raw; + }; + const formatTokenPropertyValue = (value) => { + if (value === undefined) return 'undefined'; + if (value === null) return 'null'; + if (typeof value === 'object') { + try { + return JSON.stringify(value); + } catch (error) { + return String(value); + } + } + return String(value); + }; + + if (action === 'heal') { + const firstArg = TokenService.stripCommandQuotes((ctx.args && ctx.args[1]) || ''); + const firstArgIsAmount = /^[+-]?\d+$/.test(String(firstArg || '').trim()); + const healMode = firstArgIsAmount ? 'hp' : TokenService.normalizeHealMode(firstArg || 'hp'); + const amountArg = firstArgIsAmount + ? firstArg + : TokenService.stripCommandQuotes((ctx.args && ctx.args[2]) || '0'); + const ignoreDeathArg = firstArgIsAmount + ? TokenService.stripCommandQuotes((ctx.args && ctx.args[2]) || 'false') + : TokenService.stripCommandQuotes((ctx.args && ctx.args[3]) || 'false'); + const metaArg = firstArgIsAmount + ? TokenService.stripCommandQuotes((ctx.args && ctx.args[3]) || '') + : TokenService.stripCommandQuotes((ctx.args && ctx.args[4]) || ''); + const healNarrativeMeta = TokenService.parseHealNarrativeMeta(metaArg); + const amount = Math.max(0, Utils.toInt(amountArg, 0)); + const ignoreDeath = Utils.toBoolean(ignoreDeathArg, false); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (amount <= 0) { + Render.sendWhisperMessage(who, 'Token Healing', 'Use: !tntToken heal hp amount or !tntToken heal temp amount.', 'warning'); + return; + } + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Healing', 'Select one or more linked tokens.', 'warning'); + return; + } + + let processed = 0; + const healResults = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selectedTokens[i] && selectedTokens[i].id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'heal' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Healing', accessResult); + continue; + } + const result = await TokenService.healToken( + accessResult.access.token, + accessResult.access.character, + amount, + { ignoreDeath, mode: healMode } + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Healing', Utils.escapeHtml(result.message || 'Unable to heal token.'), 'failure'); + continue; + } + Render.sendWhisperMessage( + 'gm', + 'Token Healing', + TokenService.renderTokenHealBody(result), + result.noEffect ? 'warning' : 'success' + ); + healResults.push(result); + processed += 1; + } + if (healNarrativeMeta) { + const narrative = TokenService.renderHealNarrative(healNarrativeMeta, healResults); + if (narrative) Render.sendPublicMessage('Healing', narrative, 'success'); + } + if (!processed) Render.sendWhisperMessage(who, 'Token Healing', 'No accessible linked tokens were healed.', 'warning'); + return; + } + + if (action === 'conditionmenu') { + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Conditions', 'Select one or more linked tokens.', 'warning'); + return; + } + + const entries = []; + const conditionKeys = Object.keys(CONFIG.CONDITION_STATUS_MARKERS || {}); + for (let i = 0; i < selectedTokens.length; i += 1) { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selectedTokens[i] && selectedTokens[i].id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'inspect conditions on' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Conditions', accessResult); + continue; + } + const token = accessResult.access.token; + const character = accessResult.access.character; + const attributes = TokenService.getCharacterAttributes(character.id); + const tokenData = await TokenService.getTokenData(character.id, attributes); + const isNpc = Utils.toBoolean(TokenService.getFastTokenDetails(tokenData).NPC, false); + const conditions = {}; + for (let c = 0; c < conditionKeys.length; c += 1) { + const conditionKey = conditionKeys[c]; + if (isNpc) { + conditions[conditionKey] = TokenService.tokenHasConditionMarker(token, conditionKey); + } else { + const state = TokenService.getStoreConditionState(character.id, conditionKey); + conditions[conditionKey] = conditionKey === 'exhaustion' + ? (state.ok ? Math.max(0, Utils.toInt(state.value, 0)) : 0) + : (state.ok && Utils.toBoolean(state.active, false)); + } + } + entries.push({ + tokenRef: R20.makeTokenRef(token), + tokenName: String(token.get('name') || character.get('name') || 'Token'), + isNpc, + conditions + }); + } + R20.whisper(who, Render.showTokenConditionMenu(entries)); + return; + } + + if (action === 'effectmenu') { + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Effects', 'Select one or more linked tokens.', 'warning'); + return; + } + + const entries = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selectedTokens[i] && selectedTokens[i].id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'inspect effects on' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Effects', accessResult); + continue; + } + const blessState = TokenService.getStoreEffectState(accessResult.access.character.id, 'bless'); + entries.push({ + tokenRef: R20.makeTokenRef(accessResult.access.token), + tokenName: String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token'), + effects: { + bless: blessState.ok && Utils.toBoolean(blessState.active, false) + } + }); + } + R20.whisper(who, Render.showTokenEffectMenu(entries)); + return; + } + + if (action === 'effecttoggle') { + const tokenRef = String((ctx.args && ctx.args[1]) || '').trim(); + const rawEffectArgs = (ctx.args || []).slice(2).map((entry) => TokenService.stripCommandQuotes(entry)); + const maybeState = String(rawEffectArgs[rawEffectArgs.length - 1] || '').trim().toLowerCase(); + const hasExplicitState = ['apply', 'on', 'true', 'remove', 'off', 'false'].includes(maybeState); + const effectName = TokenService.stripCommandQuotes(String((hasExplicitState ? rawEffectArgs.slice(0, -1) : rawEffectArgs).join(' ') || '').trim()); + const explicitEnabled = hasExplicitState ? ['apply', 'on', 'true'].includes(maybeState) : null; + const tokenRefs = tokenRef.split(';').map((entry) => String(entry || '').trim()).filter(Boolean); + if (!effectName) { + Render.sendWhisperMessage(who, 'Token Effects', 'Effect name is required.', 'warning'); + return; + } + if (!tokenRefs.length) { + Render.sendWhisperMessage(who, 'Token Effects', 'Token reference is required.', 'warning'); + return; + } + + const updatedEntries = []; + const updatedNames = []; + let processed = 0; + let finalEnabled = false; + for (let i = 0; i < tokenRefs.length; i += 1) { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: tokenRefs[i], + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'toggle effects on' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Effects', accessResult); + continue; + } + + const result = explicitEnabled === null + ? await TokenService.toggleStoreEffect(accessResult.access.character.id, effectName) + : await TokenService.setStoreEffectActive(accessResult.access.character.id, effectName, explicitEnabled); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Effects', Utils.escapeHtml(result.message || 'Unable to toggle effect.'), 'failure'); + continue; + } + const tokenName = String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token'); + if (TokenService.normalizeEffectKey(effectName) === 'bless') { + TokenService.setTokenStatusMarker(accessResult.access.token, 'angel-outfit', Utils.toBoolean(result.current, false)); + } + processed += 1; + finalEnabled = Utils.toBoolean(result.current, false); + updatedNames.push(tokenName); + const blessState = TokenService.getStoreEffectState(accessResult.access.character.id, 'bless'); + updatedEntries.push({ + tokenRef: R20.makeTokenRef(accessResult.access.token), + tokenName, + effects: { bless: blessState.ok && Utils.toBoolean(blessState.active, false) } + }); + } + + if (!processed) { + Render.sendWhisperMessage(who, 'Token Effects', 'No accessible linked tokens were updated.', 'warning'); + return; + } + const effectDefinition = TokenService.getEffectDefinition(effectName); + Render.sendPublicMessage( + 'Token Effect', + TokenService.renderEffectBody({ + tokenName: updatedNames.join(', '), + effectName: effectDefinition ? effectDefinition.name : TokenService.formatConditionName(effectName), + removed: !finalEnabled + }), + finalEnabled ? 'success' : 'warning' + ); + R20.whisper(who, Render.showTokenEffectMenu(updatedEntries)); + return; + } + + if (action === 'conditiontoggle') { + const tokenRef = String((ctx.args && ctx.args[1]) || '').trim(); + const rawConditionArgs = (ctx.args || []).slice(2).map((entry) => TokenService.stripCommandQuotes(entry)); + const maybeStateArg = String(rawConditionArgs[rawConditionArgs.length - 1] || '').trim().toLowerCase(); + const hasExplicitState = ['apply', 'on', 'true', 'remove', 'off', 'false'].includes(maybeStateArg); + const explicitEnabled = hasExplicitState ? ['apply', 'on', 'true'].includes(maybeStateArg) : null; + const conditionArgs = hasExplicitState ? rawConditionArgs.slice(0, -1) : rawConditionArgs; + const maybeLevelArg = conditionArgs.length > 1 ? String(conditionArgs[conditionArgs.length - 1] || '').trim() : ''; + const hasExhaustionLevel = conditionArgs.length > 1 && + TokenService.normalizeConditionKey(conditionArgs.slice(0, -1).join(' ')) === 'exhaustion' && + /^(none|[0-6])$/i.test(maybeLevelArg); + const conditionName = TokenService.stripCommandQuotes(String( + hasExhaustionLevel ? conditionArgs.slice(0, -1).join(' ') : conditionArgs.join(' ') + ).trim()); + const exhaustionValue = hasExhaustionLevel + ? (maybeLevelArg.toLowerCase() === 'none' ? 0 : Math.max(0, Math.min(6, Utils.toInt(maybeLevelArg, 0)))) + : undefined; + const tokenRefs = tokenRef.split(';').map((entry) => String(entry || '').trim()).filter(Boolean); + if (!conditionName) { + Render.sendWhisperMessage(who, 'Token Conditions', 'Condition name is required.', 'warning'); + return; + } + if (!tokenRefs.length) { + Render.sendWhisperMessage(who, 'Token Conditions', 'Token reference is required.', 'warning'); + return; + } + + const isExhaustion = TokenService.normalizeConditionKey(conditionName) === 'exhaustion'; + const updatedEntries = []; + const updatedNames = []; + let processed = 0; + let finalRemoved = explicitEnabled === false; + let finalValue = exhaustionValue; + let finalConditionName = TokenService.formatConditionName(conditionName); + + for (let i = 0; i < tokenRefs.length; i += 1) { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: tokenRefs[i], + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'toggle condition on' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Conditions', accessResult); + continue; + } + + const tokenData = await TokenService.getTokenData(accessResult.access.character.id); + const isNpc = Utils.toBoolean(TokenService.getFastTokenDetails(tokenData).NPC, false); + let result; + if (isNpc) { + if (isExhaustion) { + const npcValue = exhaustionValue !== undefined + ? exhaustionValue + : (explicitEnabled === false ? 0 : 1); + TokenService.setTokenConditionMarker(accessResult.access.token, conditionName, npcValue > 0); + result = { + ok: true, + tokenName: String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token'), + conditionName: TokenService.formatConditionName(conditionName), + removed: npcValue <= 0, + visualOnly: true, + value: npcValue + }; + } else { + const targetEnabled = explicitEnabled === null + ? !TokenService.tokenHasConditionMarker(accessResult.access.token, conditionName) + : explicitEnabled; + TokenService.setTokenConditionMarker(accessResult.access.token, conditionName, targetEnabled); + result = { + ok: true, + tokenName: String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token'), + conditionName: TokenService.formatConditionName(conditionName), + removed: !targetEnabled, + visualOnly: true + }; + } + } else { + const options = {}; + if (isExhaustion && exhaustionValue !== undefined) options.value = exhaustionValue; + if (!isExhaustion && explicitEnabled !== null) options.enabled = explicitEnabled; + if (isExhaustion && explicitEnabled === false && exhaustionValue === undefined) options.value = 0; + result = await TokenService.applyConditionToToken( + accessResult.access.token, + accessResult.access.character, + conditionName, + options + ); + } + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Conditions', Utils.escapeHtml(result.message || 'Unable to toggle condition.'), 'failure'); + continue; + } + processed += 1; + finalRemoved = !!result.removed; + finalValue = result.value; + finalConditionName = result.conditionName || finalConditionName; + updatedNames.push(String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token')); + updatedEntries.push({ + tokenRef: R20.makeTokenRef(accessResult.access.token), + tokenName: String(accessResult.access.token.get('name') || accessResult.access.character.get('name') || 'Token'), + isNpc, + conditions: Object.keys(CONFIG.CONDITION_STATUS_MARKERS || {}).reduce((memo, conditionKey) => { + if (isNpc) memo[conditionKey] = TokenService.tokenHasConditionMarker(accessResult.access.token, conditionKey); + else { + const state = TokenService.getStoreConditionState(accessResult.access.character.id, conditionKey); + memo[conditionKey] = conditionKey === 'exhaustion' + ? (state.ok ? Math.max(0, Utils.toInt(state.value, 0)) : 0) + : (state.ok && Utils.toBoolean(state.active, false)); + } + return memo; + }, {}) + }); + } + + if (!processed) { + Render.sendWhisperMessage(who, 'Token Conditions', 'No accessible linked tokens were updated.', 'warning'); + return; + } + Render.sendPublicMessage( + 'Token Condition', + TokenService.renderConditionBody({ + tokenName: updatedNames.join(', '), + conditionName: finalConditionName, + removed: finalRemoved, + value: finalValue + }), + 'warning' + ); + R20.whisper(who, Render.showTokenConditionMenu(updatedEntries)); + return; + } + + if (action === 'set') { + if (!ctx.isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can modify token properties.', 'failure'); + return; + } + + const propertyName = normalizeTokenPropertyName((ctx.args && ctx.args[1]) || ''); + const rawValue = String((ctx.args || []).slice(2).join(' ')).trim(); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!propertyName || rawValue === '') { + Render.sendWhisperMessage(who, 'Token Set', 'Use: !tntToken set parameterName parameterValue.', 'warning'); + return; + } + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Set', 'Select one or more tokens to modify.', 'warning'); + return; + } + + const parsedValue = parseTokenPropertyValue(rawValue); + const rows = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const selected = selectedTokens[i]; + if (!selected) continue; + const tokenName = String(selected.get('name') || selected.id || 'Token'); + const previousValue = formatTokenPropertyValue(selected.get(propertyName)); + try { + selected.set(propertyName, parsedValue); + const pageId = String(selected.get('_pageid') || selected.get('pageid') || '').trim(); + const page = pageId ? getObj('page', pageId) : null; + if (page && Utils.isFunction(page.set)) page.set({ force_lighting_refresh: true }); + rows.push( + Html.div( + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ': ' + Utils.escapeHtml(propertyName) + ' ' + + '' + Utils.escapeHtml(previousValue) + ' -> ' + + Html.span(Utils.escapeHtml(formatTokenPropertyValue(selected.get(propertyName))), 'color:' + TAG_COLOR.DEFAULT_ATTRIBUTE_VALUE_COLOR + ';font-weight:700;'), + 'padding:2px 0;text-align:left;' + ) + ); + } catch (error) { + rows.push( + Html.div( + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ': failed to set ' + Utils.escapeHtml(propertyName) + ' (' + + Utils.escapeHtml(error && error.message ? error.message : String(error)) + ')', + 'padding:2px 0;text-align:left;color:rgb(255,120,120);' + ) + ); + } + } + + R20.whisper(who, Html.card({ + title: 'Token Set', + body: rows.length ? rows.join('') : 'No tokens were modified.' + })); + return; + } + + if (action === 'get') { + const directive = normalizeTokenPropertyName((ctx.args && ctx.args[1]) || ''); + const tokenRef = String((ctx.args && ctx.args[2]) || '').trim(); + const selectedToken = R20.getSelectedToken(ctx.msg); + const token = tokenRef ? R20.resolveTokenRef(tokenRef).token : selectedToken; + const tokenName = token ? String(token.get('name') || token.id || 'Token') : 'Token'; + + if (!token) { + Render.sendWhisperMessage(who, 'Token Get', 'Select a token or provide a token reference.', 'warning'); + return; + } + + if (!directive) { + Render.sendWhisperMessage( + who, + 'Token Get', + 'Use: !tntToken get parameterName.', + 'warning' + ); + return; + } + + const value = formatTokenPropertyValue(token.get(directive)); + const body = + Html.div( + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + '\'s ' + Utils.escapeHtml(directive) + ':', + 'padding:0 0 6px 0;text-align:left;' + ) + + Html.div( + value ? Utils.escapeHtml(value) : 'No value found.', + 'padding:4px;border:1px solid rgba(255,255,255,0.25);background:rgba(0,0,0,0.35);font-size:10px;line-height:12px;text-align:left;word-break:break-all;' + ); + R20.whisper(who, Html.card({ title: 'Token Get', body })); + return; + } + + if (action === 'condition') { + const conditionName = TokenService.stripCommandQuotes(String((ctx.args || []).slice(1).join(' ')).trim()); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!conditionName) { + Render.sendWhisperMessage(who, 'Token Condition', 'Use: !tntToken condition prone.', 'warning'); + return; + } + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Condition', 'Select one or more linked tokens.', 'warning'); + return; + } + + let processed = 0; + for (let i = 0; i < selectedTokens.length; i += 1) { + const selected = selectedTokens[i]; + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selected && selected.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'apply condition to' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Condition', accessResult); + continue; + } + + const result = await TokenService.applyConditionToToken( + accessResult.access.token, + accessResult.access.character, + conditionName + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Condition', Utils.escapeHtml(result.message || 'Unable to apply condition.'), 'failure'); + continue; + } + + Render.sendPublicMessage( + 'Token Condition', + TokenService.renderConditionBody(result), + result.immune ? 'success' : 'warning' + ); + processed += 1; + } + + if (!processed) { + Render.sendWhisperMessage(who, 'Token Condition', 'No accessible linked tokens were updated.', 'warning'); + } + return; + } + + if (action === 'dealroll') { + const tokenRef = String((ctx.args && ctx.args[1]) || '').trim(); + const requestId = String((ctx.args && ctx.args[2]) || '').trim(); + const pendingRequest = TokenService.getManualRollRequest(requestId); + if (!pendingRequest || !pendingRequest.payload) { + Render.sendWhisperMessage(who, 'Token Damage', 'This manual roll request has already been resolved or expired.', 'warning'); + return; + } + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: pendingRequest.tokenRef || tokenRef, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'roll a saving throw for' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Damage', accessResult); + return; + } + + TokenService.consumeManualRollRequest(requestId); + const payload = pendingRequest.payload || {}; + const mode = String(payload.mode || 'single').trim().toLowerCase(); + let processed = 0; + if (mode === 'concentration') { + const result = await TokenService.resolveConcentrationCheck( + accessResult.access.token, + accessResult.access.character + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Concentration Check', Utils.escapeHtml(result.message || 'Unable to roll concentration.'), 'failure'); + return; + } + R20.send(TokenService.showConcentrationCheckResult(result)); + processed += 1; + } else if (mode === 'batch') { + const batch = payload.batch || {}; + const damages = Array.isArray(batch.damages) && batch.damages.length + ? batch.damages + : [{ damage: 0, damageType: 'normal' }]; + const halveDamage = (value) => RuntimeConfig.get('DAMAGE_ROUND_UP') + ? Math.ceil(Math.max(0, Utils.toInt(value, 0)) / 2) + : Math.floor(Math.max(0, Utils.toInt(value, 0)) / 2); + let savedForHalfDamage = false; + let concentrationDamageResult = null; + for (let damageIndex = 0; damageIndex < damages.length; damageIndex += 1) { + const damagePart = damages[damageIndex] || {}; + const firstDamage = damageIndex === 0; + const damageValue = !firstDamage && savedForHalfDamage + ? halveDamage(damagePart.damage) + : Math.max(0, Utils.toInt(damagePart.damage, 0)); + const deal = { + damage: damageValue, + damageType: String(damagePart.damageType || 'normal').trim() || 'normal', + challengeValue: firstDamage ? batch.challengeValue : null, + attackValue: firstDamage ? batch.attackValue : null, + saveAbility: firstDamage ? batch.saveAbility : '', + halfOnSuccess: firstDamage ? batch.halfOnSuccess : false + }; + const result = await TokenService.dealDamageToToken( + accessResult.access.token, + accessResult.access.character, + deal + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Damage', Utils.escapeHtml(result.message || 'Unable to apply damage.'), 'failure'); + return; + } + if (!result.silent) Handlers.sendDealDamageResult(result); + if (!concentrationDamageResult && Math.max(0, Utils.toInt(result.finalDamage, 0)) > 0) { + concentrationDamageResult = result; + } + processed += 1; + if (result.missed || result.noDamage || result.alreadyFainted) break; + if (firstDamage && result.saveAbility && result.saveSuccess && batch.halfOnSuccess) { + savedForHalfDamage = true; + } + } + if (concentrationDamageResult) { + await Handlers.handleConcentrationAfterDamage(accessResult.access.token, accessResult.access.character, concentrationDamageResult, who); + } + } else { + const deal = payload.deal || {}; + const result = await TokenService.dealDamageToToken( + accessResult.access.token, + accessResult.access.character, + deal + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Damage', Utils.escapeHtml(result.message || 'Unable to apply damage.'), 'failure'); + return; + } + if (!result.silent) Handlers.sendDealDamageResult(result); + await Handlers.handleConcentrationAfterDamage(accessResult.access.token, accessResult.access.character, result, who); + processed += 1; + } + + if (!processed) Render.sendWhisperMessage(who, 'Token Damage', 'No damage was applied.', 'warning'); + return; + } + + if (action === 'dealbatch') { + const batch = TokenService.parseDealBatchArgs(ctx.args); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Damage', 'Select one or more linked tokens.', 'warning'); + return; + } + + const halveDamage = (value) => RuntimeConfig.get('DAMAGE_ROUND_UP') + ? Math.ceil(Math.max(0, Utils.toInt(value, 0)) / 2) + : Math.floor(Math.max(0, Utils.toInt(value, 0)) / 2); + let processed = 0; + const pendingManualSaves = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const selected = selectedTokens[i]; + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selected && selected.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'deal damage to' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Damage', accessResult); + continue; + } + + if (TokenService.shouldRequestManualSave(accessResult.access.token, accessResult.access.character, batch)) { + const request = TokenService.sendManualSaveRequest( + accessResult.access.token, + accessResult.access.character, + { mode: 'batch', batch }, + who + ); + if (request.ok) pendingManualSaves.push(request.tokenName); + continue; + } + + let targetProcessed = false; + let savedForHalfDamage = false; + let concentrationDamageResult = null; + for (let damageIndex = 0; damageIndex < batch.damages.length; damageIndex += 1) { + const damagePart = batch.damages[damageIndex] || {}; + const firstDamage = damageIndex === 0; + const damageValue = !firstDamage && savedForHalfDamage + ? halveDamage(damagePart.damage) + : Math.max(0, Utils.toInt(damagePart.damage, 0)); + const deal = { + damage: damageValue, + damageType: String(damagePart.damageType || 'normal').trim() || 'normal', + challengeValue: firstDamage ? batch.challengeValue : null, + attackValue: firstDamage ? batch.attackValue : null, + saveAbility: firstDamage ? batch.saveAbility : '', + halfOnSuccess: firstDamage ? batch.halfOnSuccess : false + }; + const result = await TokenService.dealDamageToToken( + accessResult.access.token, + accessResult.access.character, + deal + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Damage', Utils.escapeHtml(result.message || 'Unable to apply damage.'), 'failure'); + break; + } + + if (!result.silent) Handlers.sendDealDamageResult(result); + if (!concentrationDamageResult && Math.max(0, Utils.toInt(result.finalDamage, 0)) > 0) { + concentrationDamageResult = result; + } + targetProcessed = true; + + if (result.missed || result.noDamage || result.alreadyFainted) break; + if (firstDamage && result.saveAbility && result.saveSuccess && batch.halfOnSuccess) { + savedForHalfDamage = true; + } + } + if (concentrationDamageResult) { + await Handlers.handleConcentrationAfterDamage(accessResult.access.token, accessResult.access.character, concentrationDamageResult, who); + } + if (targetProcessed) processed += 1; + } + + if (pendingManualSaves.length) { + Render.sendWhisperMessage( + who, + 'Manual Saves Pending', + 'Waiting for manual saving throws from: ' + Utils.escapeHtml(pendingManualSaves.join(', ')) + '.', + 'warning' + ); + } + + if (!processed && !pendingManualSaves.length) { + Render.sendWhisperMessage(who, 'Token Damage', 'No accessible linked tokens were damaged.', 'warning'); + } + return; + } + + if (action === 'deal') { + const deal = TokenService.parseDealArgs(ctx.args); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Damage', 'Select one or more linked tokens.', 'warning'); + return; + } + + let processed = 0; + const pendingManualSaves = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const selected = selectedTokens[i]; + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: selected && selected.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'deal damage to' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Damage', accessResult); + continue; + } + + if (TokenService.shouldRequestManualSave(accessResult.access.token, accessResult.access.character, deal)) { + const request = TokenService.sendManualSaveRequest( + accessResult.access.token, + accessResult.access.character, + { mode: 'single', deal }, + who + ); + if (request.ok) pendingManualSaves.push(request.tokenName); + continue; + } + + const result = await TokenService.dealDamageToToken( + accessResult.access.token, + accessResult.access.character, + deal + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Damage', Utils.escapeHtml(result.message || 'Unable to apply damage.'), 'failure'); + continue; + } + + if (result.silent) { + processed += 1; + continue; + } + + Handlers.sendDealDamageResult(result); + await Handlers.handleConcentrationAfterDamage(accessResult.access.token, accessResult.access.character, result, who); + processed += 1; + } + + if (pendingManualSaves.length) { + Render.sendWhisperMessage( + who, + 'Manual Saves Pending', + 'Waiting for manual saving throws from: ' + Utils.escapeHtml(pendingManualSaves.join(', ')) + '.', + 'warning' + ); + } + + if (!processed && !pendingManualSaves.length) { + Render.sendWhisperMessage(who, 'Token Damage', 'No accessible linked tokens were damaged.', 'warning'); + } + return; + } + + if (action === 'roll') { + const rollType = String((ctx.args && ctx.args[1]) || '').trim().toLowerCase(); + const characterId = String((ctx.args && ctx.args[2]) || '').trim(); + const actionId = TokenService.cleanRepeatingActionId((ctx.args && ctx.args[3]) || ''); + const spellLevel = TokenService.normalizeSpellLevel((ctx.args && ctx.args[4]) || ''); + const character = characterId ? getObj('character', characterId) : null; + + if (!character || !actionId || (rollType !== 'attack' && rollType !== 'spell')) { + Render.sendWhisperMessage( + who, + 'Token Action', + 'Invalid token action request.', + 'failure' + ); + return; + } + + const access = R20.getCharacterAccessFlags(character, ctx.playerId, ctx.isGM); + if (!access.hasAccess) { + Render.sendWhisperMessage( + who, + 'Access Denied', + 'You need both journal and control access to this character.', + 'failure' + ); + return; + } + + const macro = rollType === 'attack' + ? '%{' + characterId + '|repeating_attack("' + actionId + '", "attack")}' + : '%{' + characterId + '|repeating_spell-' + spellLevel + '("' + actionId + '", "spell")}'; + R20.send(macro); + return; + } + + if ((action === 'init' || action === 'clear' || action === 'setup' || action === 'save' || action === 'default' || action === 'edit') && !ctx.isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can initialize, setup, save, clear, or edit tokens.', 'failure'); + return; + } + + if (action === 'save') { + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Save', 'Select one or more tokens linked to characters.', 'warning'); + return; + } + + const rows = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + const character = R20.getCharacterFromToken(token); + const tokenName = String((token && token.get('name')) || (character && character.get('name')) || 'Token'); + if (!token || !character) { + rows.push(Html.div(Utils.escapeHtml(tokenName) + ': skipped unlinked token.', 'padding:2px 0;color:rgb(255,180,80);')); + continue; + } + + const result = await TokenService.saveTokenDisplayToTokenData(token, character); + rows.push(Html.div( + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + (result.ok ? ' token display saved.' : ': ' + Utils.escapeHtml(result.message || 'save failed.')), + 'padding:2px 0;color:' + (result.ok ? 'rgb(220,220,220)' : 'rgb(255,120,120)') + ';' + )); + } + + R20.whisper(who, Html.card({ + title: 'Token Save', + body: rows.length ? rows.join('') : 'No tokens were saved.' + })); + return; + } + + if (action === 'default') { + const directive = String((ctx.args && ctx.args[1]) || '').trim().toLowerCase(); + const fieldKey = String((ctx.args && ctx.args[2]) || '').trim(); + const rawValue = String((ctx.args || []).slice(3).join(' ')).trim(); + let result = { ok: true, config: await TokenService.getTokenDefaultConfig() }; + + if (directive === 'toggle') { + result = await TokenService.toggleTokenDefaultConfig(fieldKey); + } else if (directive === 'set') { + result = await TokenService.updateTokenDefaultConfig(fieldKey, rawValue); + } else if (directive === 'reset') { + result = await TokenService.resetTokenDefaultConfig(); + } else if (directive && directive !== 'menu') { + Render.sendWhisperMessage(who, 'Token Default Setup', 'Use: !tntToken default {set|toggle|reset}.', 'warning'); + return; + } + + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Default Setup', Utils.escapeHtml(result.message || 'Unable to update token defaults.'), 'failure'); + return; + } + + R20.whisper(who, Render.showTokenDefaultMenu(result.config || await TokenService.getTokenDefaultConfig())); + return; + } + + if (action === 'edit') { + const directive = String((ctx.args && ctx.args[1]) || '').trim().toLowerCase(); + const fieldKey = String((ctx.args && ctx.args[2]) || '').trim(); + let token = R20.getSelectedToken(ctx.msg); + let character = R20.getCharacterFromToken(token); + let valueStartIndex = 3; + + if (directive === 'set' || directive === 'toggle') { + const possibleTokenRef = String((ctx.args && ctx.args[3]) || '').trim(); + const resolved = possibleTokenRef ? R20.resolveTokenRef(possibleTokenRef) : {}; + if (resolved && resolved.token) { + token = resolved.token; + character = resolved.character || R20.getCharacterFromToken(token); + valueStartIndex = 4; + } + } + + if (!token || !character) { + Render.sendWhisperMessage(who, 'Token Edit', 'Select a token linked to a character.', 'warning'); + return; + } + + let tokenData = await TokenService.getTokenData(character.id); + if (directive === 'set' || directive === 'toggle') { + const rawValue = String((ctx.args || []).slice(valueStartIndex).join(' ')).trim(); + const result = await TokenService.editTokenDisplayField(token, character, fieldKey, rawValue, { + toggle: directive === 'toggle' + }); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Token Edit', Utils.escapeHtml(result.message || 'Unable to edit token.'), 'failure'); + return; + } + tokenData = result.tokenData || await TokenService.getTokenData(character.id); + } else if (directive && directive !== 'menu') { + Render.sendWhisperMessage(who, 'Token Edit', 'Use: !tntToken edit {set|toggle}.', 'warning'); + return; + } + + R20.whisper(who, Render.showTokenEditMenu(token, character, tokenData)); + return; + } + + if (action === 'setup') { + const tokenTypeArg = String((ctx.args && ctx.args[1]) || '').trim(); + const hasTokenTypeArg = TokenService.hasTokenNpcChoice(tokenTypeArg); + const tokenIsNpc = TokenService.parseTokenNpcChoice(tokenTypeArg, false); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Setup', 'Select one or more tokens linked to characters.', 'warning'); + return; + } + + const tokenDefaults = await TokenService.getTokenDefaultConfig(); + let configured = 0; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + const character = R20.getCharacterFromToken(token); + if (!token || !character) { + Render.sendWhisperMessage(who, 'Token Setup', 'Skipped an unlinked selected token.', 'warning'); + continue; + } + + const attributes = TokenService.getCharacterAttributes(character.id); + const dumpRoots = TokenService.getCharacterSheetDumpRoots(attributes); + let tokenData = await TokenService.buildTokenData(character.id, attributes, dumpRoots); + if (hasTokenTypeArg) { + tokenData = TokenService.buildSectionedTokenData( + TokenService.getFastCharacterDetails(tokenData), + Object.assign({}, TokenService.getFastTokenDetails(tokenData), { NPC: tokenIsNpc }) + ); + } + const setupResult = await TokenService.setupTokenDisplay(token, character, tokenData, hasTokenTypeArg ? { tokenDefaults, NPC: tokenIsNpc } : { tokenDefaults }); + const savedTokenData = setupResult.tokenData || tokenData; + await TokenService.updateTokenDataAttribute(character.id, savedTokenData); + const tokenName = String(token.get('name') || character.get('name') || 'Character'); + const savedTokenDetails = TokenService.getFastTokenDetails(savedTokenData); + if (!setupResult.ok) { + Render.sendWhisperMessage( + who, + 'Token Setup', + 'Unable to setup ' + + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ': ' + Utils.escapeHtml(setupResult.message || 'Unknown error.'), + 'failure' + ); + continue; + } + + Render.sendWhisperMessage( + who, + 'Token Setup Complete', + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' token display was updated.' + + '
Darkvision: ' + Utils.escapeHtml(String(savedTokenDetails.darkvision || 0)) + ' ft
' + + '
Light: ' + Utils.escapeHtml(String(savedTokenDetails.brightLight || 0)) + ' / ' + + Utils.escapeHtml(String(savedTokenDetails.dimLight || 0)) + ' ft ' + + Utils.escapeHtml(String(savedTokenDetails.lightShape || 'radius')) + '
' + + '
Type: ' + (Utils.toBoolean(savedTokenDetails.NPC, false) ? 'NPC' : 'Player') + '
', + 'success' + ); + configured += 1; + } + + if (!configured) { + Render.sendWhisperMessage(who, 'Token Setup', 'No selected linked tokens were configured.', 'warning'); + } + return; + } + + if (action === 'combat' || action === 'attacks' || action === 'spells') { + const showSpells = action === 'spells'; + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, showSpells ? 'Token Spells' : 'Token Combat', 'Select one or more linked tokens.', 'warning'); + return; + } + + let rendered = 0; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: token && token.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: showSpells ? 'view spells from' : 'view combat from' + }); + + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, showSpells ? 'Token Spells' : 'Token Combat', accessResult); + continue; + } + + const character = accessResult.access.character; + const characterName = String(character.get('name') || accessResult.access.tokenName || 'Character'); + const attributes = TokenService.getCharacterAttributes(character.id); + const dumpRoots = TokenService.getCharacterSheetDumpRoots(attributes); + const headerStats = await TokenService.getTokenActionHeaderStats(character.id, attributes); + const spellSlots = showSpells ? TokenService.getSpellSlotsFromDumpRoots(TokenService.getCharacterStoreDumpRoots(attributes)) : {}; + const tokenData = showSpells ? await TokenService.getTokenData(character.id, attributes) : {}; + const entries = showSpells + ? await TokenService.getStoreSpells(character.id, { attributes, dumpRoots, tokenData }) + : await TokenService.getStoredAttacks(character.id); + if (showSpells && entries.length) await TokenService.updateSpellListAttribute(character.id, entries); + if (!entries.length) { + Render.sendWhisperMessage( + who, + showSpells ? 'Token Spells' : 'Token Combat', + 'No ' + (showSpells ? 'spells' : 'combat attacks') + ' were found for ' + Utils.escapeHtml(characterName) + '.', + 'warning' + ); + continue; + } + + const renderOptions = { + title: characterName + ' Actions', + tokenName: accessResult.access.tokenName || characterName, + characterId: character.id, + tokenId: accessResult.access.token.id, + tokenRef: R20.makeTokenRef(accessResult.access.token), + attributes, + headerStats, + spellSlots, + imgsrc: TokenService.isRoll20TokenImageSource(accessResult.access.token.get('imgsrc')) + ? String(accessResult.access.token.get('imgsrc') || '').trim() + : '' + }; + const card = showSpells + ? Render.showTokenSpellActionCard(entries, renderOptions) + : Render.showTokenAttackActionCard(entries, renderOptions); + if (card) { + R20.whisper(who, card); + rendered += 1; + } + } + + if (!rendered) { + Render.sendWhisperMessage(who, showSpells ? 'Token Spells' : 'Token Combat', 'No action cards were rendered.', 'warning'); + } + return; + } + + if (action === 'refreshattacks') { + await Handlers.refreshTokenList(ctx, 'attack'); + return; + } + + if (action === 'refreshspells') { + await Handlers.refreshTokenList(ctx, 'spell'); + return; + } + + if (action === 'init') { + const tokenTypeArg = String((ctx.args && ctx.args[1]) || '').trim(); + const hasTokenTypeArg = TokenService.hasTokenNpcChoice(tokenTypeArg); + const tokenIsNpc = TokenService.parseTokenNpcChoice(tokenTypeArg, false); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Setup', 'Select one or more tokens linked to characters.', 'warning'); + return; + } + + const tokenDefaults = await TokenService.getTokenDefaultConfig(); + let initialized = 0; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + const character = R20.getCharacterFromToken(token); + if (!token || !character) { + Render.sendWhisperMessage(who, 'Token Setup', 'Skipped an unlinked selected token.', 'warning'); + continue; + } + + const rawTokenName = String(token.get('name') || character.get('name') || 'Character'); + const characterName = Utils.escapeHtml(String(character.get('name') || rawTokenName)); + Render.sendWhisperMessage( + 'GM', + 'T&T Token Initialization', + 'Preparing ' + + Html.span(Utils.escapeHtml(rawTokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + '\'s Trinkets and Trackers.' + + '
This may take a few seconds.
', + 'success' + ); + const result = TokenService.initCharacterAbilities(character.id); + if (!result.ok) { + Render.sendWhisperMessage( + who, + 'Token Setup', + 'Unable to initialize token macros for ' + characterName + '.', + 'failure' + ); + continue; + } + + const setupAttributes = TokenService.getCharacterAttributes(character.id); + const setupDumpRoots = TokenService.getCharacterSheetDumpRoots(setupAttributes); + let tokenData = await TokenService.buildTokenData(character.id, setupAttributes, setupDumpRoots); + if (hasTokenTypeArg) { + tokenData = TokenService.buildSectionedTokenData( + TokenService.getFastCharacterDetails(tokenData), + Object.assign({}, TokenService.getFastTokenDetails(tokenData), { NPC: tokenIsNpc }) + ); + } + const tokenSetupResult = await TokenService.setupTokenDisplay(token, character, tokenData, hasTokenTypeArg ? { tokenDefaults, NPC: tokenIsNpc } : { tokenDefaults }); + const setupTokenData = tokenSetupResult.tokenData || tokenData; + const tokenSavedTokenData = TokenService.buildSectionedTokenData( + TokenService.getFastCharacterDetails(setupTokenData), + Object.assign( + {}, + TokenService.getFastTokenDetails(setupTokenData), + TokenService.getSavableTokenDisplayFields(token) + ) + ); + const tokenDataResult = await TokenService.updateTokenDataAttribute(character.id, tokenSavedTokenData); + const savedTokenData = tokenDataResult.tokenData || tokenSavedTokenData; + const savedTokenDetails = TokenService.getFastTokenDetails(savedTokenData); + if (!tokenSetupResult.ok) { + Render.sendWhisperMessage( + who, + 'Token Setup', + 'Unable to setup ' + + Html.span(Utils.escapeHtml(rawTokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ': ' + Utils.escapeHtml(tokenSetupResult.message || 'Unknown error.'), + 'warning' + ); + } + const scanOptions = { + attributes: setupAttributes, + dumpRoots: setupDumpRoots, + tokenData: savedTokenData + }; + const [attacks, spells] = await Promise.all([ + TokenService.getRepeatingAttacks(character.id, scanOptions), + TokenService.getStoreSpells(character.id, scanOptions) + ]); + const attributeResults = await Promise.all([ + Promise.resolve(tokenDataResult), + TokenService.updateAttackListAttribute(character.id, attacks), + TokenService.updateSpellListAttribute(character.id, spells) + ]); + + const failedAttributes = attributeResults.filter((entry) => !entry || !entry.ok); + if (failedAttributes.length) { + const attributeList = failedAttributes + .map((entry) => { + const name = (entry && entry.name) ? entry.name : 'unknown'; + const message = entry && entry.message ? (': ' + String(entry.message)) : ''; + return Utils.escapeHtml(name) + ' (' + Utils.escapeHtml('failed' + message) + ')'; + }) + .join('
'); + Render.sendWhisperMessage(who, 'Token Setup', attributeList, 'warning'); + } + + Render.sendWhisperMessage( + who, + 'T&T Initialization Complete', + '
' + + 'Trinkets & Trackers for ' + + Html.span(Utils.escapeHtml(rawTokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' are ready to Roll!' + + '
' + Utils.escapeHtml(String(result.created + result.updated)) + ' Macros Updated
' + + '
Darkvision: ' + Utils.escapeHtml(String(savedTokenDetails.darkvision || 0)) + ' ft
' + + '
Light: ' + Utils.escapeHtml(String(savedTokenDetails.brightLight || 0)) + ' / ' + + Utils.escapeHtml(String(savedTokenDetails.dimLight || 0)) + ' ft ' + + Utils.escapeHtml(String(savedTokenDetails.lightShape || 'radius')) + '
' + + '
Type: ' + (Utils.toBoolean(savedTokenDetails.NPC, false) ? 'NPC' : 'Player') + '
' + + '
', + 'success' + ); + initialized += 1; + } + + if (!initialized) { + Render.sendWhisperMessage(who, 'Token Setup', 'No selected linked tokens were initialized.', 'warning'); + } + return; + } + + if (action === 'clear') { + const selectedTokens = R20.getSelectedTokens(ctx.msg); + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Token Setup', 'Select one or more tokens linked to characters.', 'warning'); + return; + } + + let cleared = 0; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + const character = R20.getCharacterFromToken(token); + if (!token || !character) { + Render.sendWhisperMessage(who, 'Token Setup', 'Skipped an unlinked selected token.', 'warning'); + continue; + } + + const characterName = Utils.escapeHtml(String(character.get('name') || token.get('name') || 'Character')); + const result = TokenService.clearCharacterSetup(character.id); + if (!result.ok) { + Render.sendWhisperMessage( + who, + 'Token Setup', + Utils.escapeHtml(result.message || 'Unable to clear token setup.'), + 'failure' + ); + continue; + } + + Render.sendWhisperMessage( + who, + 'Token Setup Cleared', + 'Cleared T&T for ' + Html.span(characterName, 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';') + '.' + + '
' + 'Macros removed: ' + Utils.escapeHtml(String(result.abilityCount)) + '.
', + 'success' + ); + cleared += 1; + } + + if (!cleared) { + Render.sendWhisperMessage(who, 'Token Setup', 'No selected linked tokens were cleared.', 'warning'); + } + } + }, + + async attributes(ctx){ + const who = ctx.who || 'GM'; + const token = R20.getSelectedToken(ctx.msg); + const character = R20.getCharacterFromToken(token); + const tokenName = token ? (token.get('name') || token.id) : 'N/A'; + + if (!token || !character) { + Render.sendWhisperMessage( + who, + 'No Token Selected', + 'Select a token linked to a character.', + 'warning' + ); + return; + } + + const actionIndex = ctx.args.findIndex(arg => /^(get|set)$/i.test(arg)); + + if (actionIndex === -1) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntAttr get <attribute_name>
or: !tntAttr set <attribute_name> <value>', + 'warning' + ); + return; + } + + const action = Utils.asString(ctx.args[actionIndex]).trim().toLowerCase(); + const attributeName = Utils.asString(ctx.args[actionIndex + 1]).trim(); + + if (!attributeName || attributeName.startsWith('--')) { + Render.sendWhisperMessage( + who, + 'Command Incomplete', + 'Write an attribute name after get/set.', + 'warning' + ); + return; + } + + let newValue = 0; + if (action === 'set') { + newValue = Utils.asString(ctx.args.slice(actionIndex + 2).join(' ')).trim(); + + if (newValue === '') { + Render.sendWhisperMessage( + who, + 'Command Incomplete', + 'Write a value after the attribute name.', + 'warning' + ); + return; + } + + await R20.setSheet(character.id, attributeName, newValue); + } + + const rawAttributeValue = await R20.getSheet(character.id, attributeName); + const attributeValue = Utils.asString(rawAttributeValue); + const displayValue = attributeValue === '' ? 'undefined' : attributeValue; + + const cardType = (action === 'set') ? + (newValue === displayValue ? 'success' : 'failure') : + (rawAttributeValue !== undefined ? 'success' : 'failure'); + + Render.sendWhisperMessage( + who, + (action === 'set') ? 'Updating Token Attribute' : 'Reading Token Attribute', + Html.span(Utils.escapeHtml(tokenName), 'color:' + TAG_COLOR.DEFAULT_SOURCE_PLAYER_COLOR + ';') + '\'s ' + + Html.span(Utils.escapeHtml(attributeName).toUpperCase(), 'color:' + TAG_COLOR.DEFAULT_ATTRIBUTE_NAME_COLOR + ';') + ' is ' + + Html.span(Utils.escapeHtml(displayValue), 'color:' + TAG_COLOR.DEFAULT_ATTRIBUTE_VALUE_COLOR + ';'), + cardType + ); + }, + + async inventory(ctx) { + const who = ctx.who || 'GM'; + const rawArgs = Array.isArray(ctx.args) ? ctx.args : []; + const lowerArgs = rawArgs.map((arg) => String(arg || '').trim().toLowerCase()).filter(Boolean); + const firstArg = lowerArgs[0] || ''; + const action = ACTIONS.INVENTORY.includes(firstArg) ? firstArg : 'get'; + const token = R20.getSelectedToken(ctx.msg); + const character = R20.getCharacterFromToken(token); + + if (action !== 'add' && action !== 'give' && action !== 'use' && action !== 'discard' && action !== 'equip' && action !== 'template' && action !== 'lightoff' && action !== 'prone' && action !== 'deathsave' && (!token || !character)) { + Render.sendWhisperMessage(who, 'No Token Selected', 'Select a token linked to a character.', 'warning'); + return; + } + + if (action === 'get' || action === 'remove') { + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: token && token.id, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: action === 'get' ? 'view inventory from' : 'remove items from' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Inventory Access', accessResult); + return; + } + } + + const showInventory = async (characterObj = character, sourceTokenObj = token) => { + if (!characterObj) return; + const items = await InventoryService.getSheetInventory(characterObj.id); + if (!items.length) { + Render.sendWhisperMessage( + who, + 'Inventory', + 'No items found.', + 'warning' + ); + return; + } + + const cpRaw = await R20.getSheet(characterObj.id, 'cp'); + const spRaw = await R20.getSheet(characterObj.id, 'sp'); + const gpRaw = await R20.getSheet(characterObj.id, 'gp'); + const sourceTokenRef = R20.makeTokenRef(sourceTokenObj); + const attributes = TokenService.getCharacterAttributes(characterObj.id); + + const tokenDisplayName = Utils.asString( + (sourceTokenObj && sourceTokenObj.get('name')) || + characterObj.get('name') || + 'Character' + ); + const tokenHp = sourceTokenObj && Utils.isFunction(sourceTokenObj.get) + ? String(sourceTokenObj.get('bar1_value') || '').trim() + : ''; + const sheetHp = await TokenService.getResolvedAttributeValue(characterObj.id, attributes, 'hp'); + const bar2Link = sourceTokenObj && Utils.isFunction(sourceTokenObj.get) + ? String(sourceTokenObj.get('bar2_link') || '').trim() + : ''; + const bar2Attribute = bar2Link ? getObj('attribute', bar2Link) : null; + const isBar2LinkedToAc = bar2Link.toLowerCase() === 'ac' || + (bar2Attribute && String(bar2Attribute.get('name') || '').trim().toLowerCase() === 'ac'); + const tokenAc = isBar2LinkedToAc && sourceTokenObj && Utils.isFunction(sourceTokenObj.get) + ? String(sourceTokenObj.get('bar2_value') || '').trim() + : ''; + const sheetAc = String(await R20.getSheet(characterObj.id, 'ac') || '').trim(); + const hpTarget = sourceTokenObj + ? await TokenService.resolveTokenHpTarget(sourceTokenObj, characterObj.id, attributes) + : { ok: false }; + const currentHp = hpTarget.ok + ? Utils.toInt(hpTarget.currentHp, 0) + : Utils.toInt(tokenHp || sheetHp, 0); + const deathState = TokenService.getDeathSavesState(characterObj.id); + const unconsciousState = TokenService.getStoreConditionState(characterObj.id, 'unconscious'); + const showDeathSave = currentHp <= 0 && + deathState.ok && + Utils.toBoolean(deathState.open, false) && + unconsciousState.ok && + Utils.toBoolean(unconsciousState.active, false); + const titleImgsrc = sourceTokenObj && TokenService.isRoll20TokenImageSource(sourceTokenObj.get('imgsrc')) + ? String(sourceTokenObj.get('imgsrc') || '').trim() + : ''; + const titleHtml = Render.buildInventoryTitleHtml({ + name: tokenDisplayName, + imgsrc: titleImgsrc, + hp: tokenHp || sheetHp, + ac: String(tokenAc || sheetAc || '').trim() + }); + const walletHtml = Render.buildInventoryWalletRow({ + cp: cpRaw, + sp: spRaw, + gp: gpRaw, + sourceTokenId: sourceTokenRef + }); + + R20.whisper(who, Render.showItemsList(items, { + title: tokenDisplayName + ' Inventory', + titleHtml, + walletHtml: walletHtml, + menuType: 'inventory', + sourceTokenId: sourceTokenRef, + inventoryState: { showDeathSave } + })); + }; + + const showTemplateInventory = async (characterObj = character, sourceTokenObj = token) => { + if (!characterObj || !sourceTokenObj) { + Render.sendWhisperMessage(who, 'Blueprint Extractor', 'Select a token linked to a character.', 'warning'); + return; + } + + const items = await InventoryService.getSheetInventory(characterObj.id); + if (!items.length) { + Render.sendWhisperMessage(who, 'Blueprint Extractor', 'No items found.', 'warning'); + return; + } + + const sourceTokenRef = R20.makeTokenRef(sourceTokenObj); + const tokenDisplayName = Utils.asString( + sourceTokenObj.get('name') || + characterObj.get('name') || + 'Character' + ); + + R20.whisper(who, Render.showItemsList(items, { + title: tokenDisplayName + ' Blueprints', + menuType: 'template', + sourceTokenId: sourceTokenRef + })); + }; + + if (action === 'get') { + await showInventory(); + return; + } + + if (action === 'lightoff') { + const sourceTokenRef = String(rawArgs[1] || (token && R20.makeTokenRef(token)) || '').trim(); + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceTokenRef, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'turn lights off for' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Token Light', accessResult); + return; + } + + const lightResult = await TokenService.turnTokenLightOff(accessResult.access.token, accessResult.access.character); + if (!lightResult.ok) { + Render.sendWhisperMessage(who, 'Token Light', Utils.escapeHtml(lightResult.message || 'Unable to turn light off.'), 'failure'); + return; + } + + Render.sendPublicMessage( + 'Token Light', + Html.span(Utils.escapeHtml(accessResult.access.tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + '\'s light is off.', + 'success' + ); + return; + } + + if (action === 'prone') { + const sourceTokenRef = String(rawArgs[1] || (token && R20.makeTokenRef(token)) || '').trim(); + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceTokenRef, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'change prone state for' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Prone', accessResult); + return; + } + + const sourceToken = accessResult.access.token; + const sourceCharacter = accessResult.access.character; + const sourceCharacterId = String(sourceCharacter.id || sourceToken.get('represents') || '').trim(); + const attributes = TokenService.getCharacterAttributes(sourceCharacterId); + const proneState = TokenService.getStoreConditionState(sourceCharacterId, 'prone'); + const isProne = proneState.ok && Utils.toBoolean(proneState.active, false); + const hpTarget = await TokenService.resolveTokenHpTarget(sourceToken, sourceCharacterId, attributes); + const currentHp = hpTarget.ok ? Utils.toInt(hpTarget.currentHp, 0) : 1; + + if (isProne && currentHp <= 0) { + Render.sendWhisperMessage( + who, + 'Prone', + 'You are unconscious and cannot stand up.', + 'warning' + ); + return; + } + + const result = await TokenService.setCharacterConditionState(sourceToken, sourceCharacterId, 'prone', !isProne); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Prone', Utils.escapeHtml(result.message || 'Unable to change prone state.'), 'failure'); + return; + } + + Render.sendPublicMessage( + 'Prone', + Html.span(Utils.escapeHtml(accessResult.access.tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + (isProne ? ' stands up.' : ' drops prone.'), + 'success' + ); + return; + } + + if (action === 'deathsave') { + const sourceTokenRef = String(rawArgs[1] || (token && R20.makeTokenRef(token)) || '').trim(); + const deathSaveMode = TokenService.stripCommandQuotes(rawArgs[2] || 'roll').toLowerCase(); + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceTokenRef, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'make a death saving throw for' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Death Saving Throw', accessResult); + return; + } + + const result = await TokenService.resolveDeathSaveAction( + accessResult.access.token, + accessResult.access.character, + deathSaveMode + ); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Death Saving Throw', Utils.escapeHtml(result.message || 'Unable to resolve death saving throw.'), 'warning'); + return; + } + + if (result.roll) { + R20.send(Render.showDeathSaveCard(result)); + } else { + Render.sendPublicMessage( + 'Death Saving Throw', + TokenService.deathSavePublicSummary(result), + result.dead ? 'failure' : 'success' + ); + } + if (result.dead || result.stabilized || result.revived || result.hit) { + const summary = TokenService.deathSavePublicSummary(result); + if (summary && result.roll) { + Render.sendPublicMessage( + result.dead ? 'Death' : (result.revived ? 'Revived' : 'Stable'), + summary, + result.dead ? 'failure' : 'success' + ); + } + } + return; + } + + if (action === 'template') { + if (!ctx.isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can extract item blueprints.', 'failure'); + return; + } + + const templateArgs = rawArgs.slice(1); + let sourceTokenObj = token; + let sourceCharacterObj = character; + let itemName = ''; + const possibleSource = R20.resolveTokenRef(templateArgs[0] || ''); + if (possibleSource.token && possibleSource.character) { + sourceTokenObj = possibleSource.token; + sourceCharacterObj = possibleSource.character; + itemName = templateArgs.slice(1).join(' ').trim(); + } else { + itemName = templateArgs.join(' ').trim(); + } + + if (!sourceTokenObj || !sourceCharacterObj) { + Render.sendWhisperMessage(who, 'Blueprint Extractor', 'Select a token linked to a character, or provide a source token.', 'warning'); + return; + } + + if (!itemName) { + await showTemplateInventory(sourceCharacterObj, sourceTokenObj); + return; + } + + const saveResult = await InventoryService.saveInventoryItemBlueprint(sourceCharacterObj.id, itemName, { source: 'store' }); + if (!saveResult.ok) { + Render.sendWhisperMessage( + who, + 'Blueprint Extractor', + Utils.escapeHtml(saveResult.message || 'Unable to extract blueprint.'), + 'failure' + ); + return; + } + + const itemHtml = Html.span(Utils.escapeHtml(String(saveResult.itemName || itemName)), 'color:' + CONFIG.DEFAULT_TEXT_ITEM_COLOR + ';font-weight:700;'); + const handoutHtml = Html.span(Utils.escapeHtml(String(saveResult.handoutRef || 'Handout')), 'color:' + CONFIG.DEFAULT_TEXT_STORE_NAME_COLOR + ';font-weight:700;'); + Render.sendWhisperMessage( + who, + 'Blueprint Extractor', + itemHtml + ' blueprint ' + Utils.escapeHtml(saveResult.action || 'saved') + ' in ' + handoutHtml + '.', + 'success' + ); + await showTemplateInventory(sourceCharacterObj, sourceTokenObj); + return; + } + + if (action === 'remove') { + const parsedRemove = Utils.splitArgsAndQty(rawArgs.slice(1), 1); + const removeArgs = parsedRemove.args; + const qty = parsedRemove.qty; + + const renderTitle = 'Item Removed'; + const itemName = removeArgs.join(' ').trim(); + if (!itemName) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntInventory remove itemName qty
Example: !tntInventory remove Handaxe 2', + 'warning' + ); + return; + } + + const removeResult = await InventoryService.removeInventoryItem(character.id, itemName, qty, { + dequipBeforeFullRemove: true + }); + if (!removeResult.ok) { + Render.sendWhisperMessage( + who, + renderTitle, + Utils.escapeHtml(removeResult.message || 'Unable to remove item.'), + 'failure' + ); + return; + } + + Render.sendWhisperMessage( + who, + renderTitle, + 'Removed ' + Utils.escapeHtml(String(removeResult.removed)) + ' x ' + Utils.escapeHtml(String(removeResult.itemName || itemName)) + '.', + 'success' + ); + Logger.debug( + '[Inventory:remove]', + 'item="' + Utils.asString(removeResult.itemName || itemName) + '"', + 'removed=' + Utils.asString(removeResult.removed), + 'removedChildren=' + Utils.asString(removeResult.removedChildren || 0), + 'actor="' + Utils.asString(who) + '"' + ); + await showInventory(); + return; + } + + if (action === 'discard') { + let discardArgs = rawArgs.slice(1); + if (discardArgs.length < 2) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntInventory discard sourceTokenId itemName qty
Example: !tntInventory discard -SRC- Potion of Healing 1', + 'warning' + ); + return; + } + + const maybeConfirm = String(discardArgs[discardArgs.length - 1] || '').trim().toLowerCase(); + if (maybeConfirm === 'no') return; + if (maybeConfirm === 'yes') discardArgs = discardArgs.slice(0, -1); + + const sourceTokenId = String(discardArgs[0] || '').trim(); + const parsedDiscard = Utils.splitArgsAndQty(discardArgs.slice(1), 1); + const qty = parsedDiscard.qty; + const itemName = parsedDiscard.args.join(' ').trim(); + if (!sourceTokenId || !itemName) { + Render.sendWhisperMessage(who, 'Item Discarded', 'Missing source token or item name.', 'failure'); + return; + } + + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'discard items from' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Inventory Access', accessResult); + return; + } + + const removeResult = await InventoryService.removeInventoryItem(accessResult.access.character.id, itemName, qty, { + dequipBeforeFullRemove: true + }); + if (!removeResult.ok) { + Render.sendWhisperMessage( + who, + 'Item Discarded', + Utils.escapeHtml(removeResult.message || 'Unable to discard item.'), + 'failure' + ); + return; + } + + Render.sendWhisperMessage( + who, + 'Item Discarded', + 'Discarded ' + Utils.escapeHtml(String(removeResult.removed)) + ' x ' + Utils.escapeHtml(String(removeResult.itemName || itemName)) + '.', + 'success' + ); + Logger.debug( + '[Inventory:discard]', + 'item="' + Utils.asString(removeResult.itemName || itemName) + '"', + 'removed=' + Utils.asString(removeResult.removed), + 'removedChildren=' + Utils.asString(removeResult.removedChildren || 0), + 'actor="' + Utils.asString(who) + '"' + ); + await showInventory(accessResult.access.character, accessResult.access.token); + return; + } + + if (action === 'equip') { + const equipArgs = rawArgs.slice(1); + const sourceTokenId = String(equipArgs[0] || '').trim(); + const itemName = equipArgs.slice(1).join(' ').trim(); + const renderTitle = 'Inventory'; + if (!sourceTokenId || !itemName) { + Render.sendWhisperMessage(who, renderTitle, 'Missing source token or item name.', 'failure'); + return; + } + + const accessResult = R20.requireSourceTokenAccess({ + sourceTokenId, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'equip items from' + }); + if (!accessResult.ok) { + R20.sendSourceAccessFailure(who, 'Inventory Access', accessResult); + return; + } + + const equipResult = await InventoryService.toggleInventoryItemEquipped(accessResult.access.character.id, itemName); + if (!equipResult.ok) { + Render.sendWhisperMessage( + who, + renderTitle, + Utils.escapeHtml(equipResult.message || 'Unable to equip item.'), + 'failure' + ); + return; + } + + const tokenName = String(accessResult.access.tokenName || accessResult.access.character.get('name') || 'Character'); + const itemDisplayName = String(equipResult.itemName || itemName); + const article = /^[aeiou]/i.test(itemDisplayName.trim()) ? 'an' : 'a'; + const verb = equipResult.equipped ? 'dons' : 'doffs'; + Render.sendWhisperMessage( + who, + tokenName + ' Inventory', + Html.span(Utils.escapeHtml(tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' ' + verb + ' ' + article + ' ' + + Html.span(Utils.escapeHtml(itemDisplayName), 'color:' + CONFIG.DEFAULT_TEXT_ITEM_COLOR + ';font-weight:700;') + + '.', + 'success' + ); + await showInventory(accessResult.access.character, accessResult.access.token); + return; + } + + if (action === 'add') { + if (!ctx.isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can use !tntInventory add.', 'failure'); + return; + } + + const renderTitle = 'Item Added'; + let addRawArgs = rawArgs.slice(1); + let addCharacter = character; + let addToken = token; + const possibleTarget = R20.resolveTokenRef(addRawArgs[0] || ''); + if (possibleTarget.token && possibleTarget.character) { + addCharacter = possibleTarget.character; + addToken = possibleTarget.token; + addRawArgs = addRawArgs.slice(1); + } + const parsedAdd = Utils.splitArgsAndQty(addRawArgs, 1); + const addArgs = parsedAdd.args; + const qty = parsedAdd.qty; + + const itemName = addArgs.join(' ').trim(); + if (!itemName) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntInventory add itemName qty
Example: !tntInventory add Potion of Healing 2', + 'warning' + ); + return; + } + + if (!addCharacter) { + Render.sendWhisperMessage(who, renderTitle, 'Select a token linked to a character, or provide a target token.', 'warning'); + return; + } + + const catalogItem = ItemCatalog.getByName(itemName); + const addResult = await InventoryService.addInventoryItem(addCharacter.id, itemName, qty, { + blueprint: catalogItem && catalogItem.blueprint, + fallbackItem: catalogItem && catalogItem.toJSON ? catalogItem.toJSON() : catalogItem + }); + if (!addResult.ok) { + Render.sendWhisperMessage( + who, + renderTitle, + Utils.escapeHtml(addResult.message || 'Unable to add item.'), + 'failure' + ); + return; + } + + Render.sendWhisperMessage( + who, + renderTitle, + 'Added ' + Utils.escapeHtml(String(addResult.added)) + ' x ' + Utils.escapeHtml(String(addResult.itemName || itemName)) + '.', + 'success' + ); + Logger.debug( + '[Inventory:add]', + 'item="' + Utils.asString(addResult.itemName || itemName) + '"', + 'added=' + Utils.asString(addResult.added), + 'itemChildrenCloned=' + Utils.asString(addResult.itemChildrenCloned || addResult.templateChildrenCloned || 0), + 'actor="' + Utils.asString(who) + '"' + ); + await showInventory(addCharacter, addToken); + return; + } + + if (action === 'give') { + const giveArgs = rawArgs.slice(1); + if (giveArgs.length < 3) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntInventory give sourceTokenId targetTokenId itemName qty
Example: !tntInventory give -SRC- @{target|token_id} Potion of Healing 1', + 'warning' + ); + return; + } + + const renderTitle = 'Item Transfer'; + const sourceTokenId = String(giveArgs[0] || '').trim(); + const targetTokenId = String(giveArgs[1] || '').trim(); + let qty = 1; + const maybeQty = InventoryService.toIntOrNull(giveArgs[giveArgs.length - 1]); + if (maybeQty !== null) qty = Math.max(1, maybeQty); + + const itemName = (maybeQty !== null ? giveArgs.slice(2, -1) : giveArgs.slice(2)).join(' ').trim(); + + if (!sourceTokenId || !targetTokenId || !itemName) { + Render.sendWhisperMessage(who, renderTitle, 'Missing source token, target token, or item name.', 'failure'); + return; + } + + const sourceAccessResult = R20.requireSourceTokenAccess({ + sourceTokenId: sourceTokenId, + playerId: ctx.playerId, + isGM: ctx.isGM, + actionLabel: 'transfer items from' + }); + + if (!sourceAccessResult.ok) { + R20.sendSourceAccessFailure(who, renderTitle, sourceAccessResult); + return; + } + + const transferResult = await InventoryService.transferItem({ + sourceTokenId, + targetTokenId, + itemName, + quantity: qty, + playerId: ctx.playerId, + isGM: ctx.isGM, + maxDistanceFt: RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT') + }); + + if (!transferResult.ok) { + Render.sendWhisperMessage( + who, + renderTitle, + transferResult.message || 'Unable to transfer item.', + 'failure' + ); + return; + } + + const sourceContext = R20.getTokenContext(sourceTokenId, sourceTokenId); + const targetContext = R20.getTokenContext(targetTokenId, targetTokenId); + + const sourceRecipients = Utils.uniqueNames( + sourceContext.controllerNames.length ? sourceContext.controllerNames : [who] + ); + const targetRecipients = Utils.uniqueNames(targetContext.controllerNames); + + const narrativePayload = { + sourceName: sourceContext.tokenName, + targetName: targetContext.tokenName, + qty: transferResult.transferred, + itemName: transferResult.itemName || itemName + }; + + const gmNarrative = Render.buildInventoryGiveNarrative('gm', narrativePayload); + const sourceNarrative = Render.buildInventoryGiveNarrative('source', narrativePayload); + const targetNarrative = Render.buildInventoryGiveNarrative('target', narrativePayload); + + Render.sendWhisperMessage('GM', renderTitle, gmNarrative); + + const sent = {}; + for (let i = 0; i < sourceRecipients.length; i += 1) { + const recipient = sourceRecipients[i]; + const key = String(recipient || '').trim().toLowerCase(); + if (!key || key === 'gm' || sent[key]) continue; + sent[key] = true; + Render.sendWhisperMessage(recipient, renderTitle, sourceNarrative); + } + + for (let i = 0; i < targetRecipients.length; i += 1) { + const recipient = targetRecipients[i]; + const key = String(recipient || '').trim().toLowerCase(); + if (!key || key === 'gm' || sent[key]) continue; + sent[key] = true; + Render.sendWhisperMessage(recipient, renderTitle, targetNarrative); + } + return; + } + + if (action === 'use') { + const useArgs = rawArgs.slice(1); + if (useArgs.length < 3) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntInventory use sourceTokenId targetTokenId itemName
Example: !tntInventory use -SRC- @{target|token_id} Potion of Healing', + 'warning' + ); + return; + } + + const renderTitle = 'Item Used'; + let sourceTokenId = String(useArgs[0] || '').trim(); + const targetTokenId = String(useArgs[1] || '').trim(); + const itemName = useArgs.slice(2).join(' ').trim(); + if (!sourceTokenId || !targetTokenId || !itemName) { + Render.sendWhisperMessage(who, renderTitle, 'Missing source token, target token, or item name.', 'failure'); + return; + } + + const sourceResolved = R20.resolveTokenRef(sourceTokenId); + const targetResolved = R20.resolveTokenRef(targetTokenId); + if (!sourceResolved.token && targetResolved.token) { + sourceTokenId = targetTokenId; + } + + const useResult = await InventoryService.useInventoryItem({ + sourceTokenId, + targetTokenId, + itemName, + playerId: ctx.playerId, + isGM: ctx.isGM + }); + + if (!useResult.ok) { + Render.sendWhisperMessage( + who, + renderTitle, + useResult.message || 'Unable to use item.', + 'failure' + ); + return; + } + + const sourceContext = R20.getTokenContext(sourceTokenId, sourceTokenId); + const targetContext = R20.getTokenContext(targetTokenId, targetTokenId); + const isSelfTarget = !!( + (sourceContext.characterId && targetContext.characterId && sourceContext.characterId === targetContext.characterId) || + (sourceContext.tokenId && targetContext.tokenId && sourceContext.tokenId === targetContext.tokenId) + ); + const globalNarrative = Render.buildInventoryUseNarrative({ + sourceName: sourceContext.tokenName, + targetName: targetContext.tokenName, + qty: 1, + itemName: useResult.itemName || itemName, + itemDescription: useResult.itemDescription || '', + narrativeType: useResult.effectResult && useResult.effectResult.narrativeType, + narrativeValue: useResult.effectResult && useResult.effectResult.narrativeValue, + rollData: useResult.effectResult && useResult.effectResult.roll, + effect: useResult.effect, + isSelf: isSelfTarget + }); + Render.sendPublicMessage(renderTitle, globalNarrative); + + if (useResult.effectResult && useResult.effectResult.effectType === 'damage') { + if (useResult.effectResult.attackCard) R20.direct(useResult.effectResult.attackCard); + if (useResult.effectResult.gmPromptCard) R20.whisper('GM', useResult.effectResult.gmPromptCard); + } + + const itemColor = CONFIG.DEFAULT_TEXT_ITEM_COLOR || 'rgb(84, 186, 255)'; + const usedLine = (useResult.isConsumable) + ? ('You used 1 ' + Html.span(Utils.escapeHtml(String(useResult.itemName || itemName)), 'color:' + itemColor + ';font-weight:700;') + ' and have ' + Html.span(Utils.escapeHtml(String(useResult.remaining)), 'color:' + CONFIG.DEFAULT_TEXT_QUANTITY_COLOR + ';font-weight:700;') + ' left.') + : ('You used a ' + Html.span(Utils.escapeHtml(String(useResult.itemName || itemName)), 'color:' + itemColor + ';font-weight:700;') + '.'); + Render.sendWhisperMessage(who, renderTitle, usedLine); + + const lightUpdate = await TokenService.updateTokenLightFromEffect( + useResult.sourceAccess && useResult.sourceAccess.token, + useResult.sourceAccess && useResult.sourceAccess.character, + useResult.effect + ); + if (lightUpdate.ok && lightUpdate.light) { + Render.sendWhisperMessage( + who, + 'Token Light', + Html.span(Utils.escapeHtml(sourceContext.tokenName), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' now emits ' + Utils.escapeHtml(String(lightUpdate.light.brightLight || 0)) + ' ft bright light and ' + + Utils.escapeHtml(String(lightUpdate.light.dimLight || 0)) + ' ft dim light' + + ' as a ' + Utils.escapeHtml(String(lightUpdate.light.lightShape || 'radius')) + '.', + 'success' + ); + } + + if (useResult.isConsumable) { + const leftLine = + Utils.escapeHtml(sourceContext.tokenName) + + ' has ' + + Html.span(Utils.escapeHtml(String(useResult.remaining)), 'color:' + CONFIG.DEFAULT_TEXT_QUANTITY_COLOR + ';font-weight:700;') + + ' ' + + Html.span(Utils.escapeHtml(String(useResult.itemName || itemName)), 'color:' + itemColor + ';font-weight:700;') + + ' left.'; + Render.sendWhisperMessage('GM', renderTitle, leftLine); + } + + const sourceTokenObj = R20.getTokenById(sourceTokenId); + const sourceCharacterObj = R20.getCharacterFromToken(sourceTokenObj); + if (sourceCharacterObj) { + await showInventory(sourceCharacterObj, sourceTokenObj); + } + return; + } + + if (action === 'buy') { + Render.sendWhisperMessage(who, 'Inventory', 'Use !tntShop buy shopId buyerTokenId itemName qty for shop purchases.', 'warning'); + return; + } + }, + + async currency(ctx) { + const who = ctx.who || 'GM'; + const args = Array.isArray(ctx.args) ? ctx.args : []; + const action = String(args[0] || '').trim().toLowerCase(); + + if (action === 'wallet') { + if (!ctx.isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can adjust token wallets.', 'failure'); + return; + } + + const walletAction = String(args[1] || '').trim().toLowerCase(); + const currencyType = String(args[2] || '').trim().toLowerCase(); + const qty = Math.max(1, InventoryService.toIntOrNull(args[3]) || 0); + const selectedTokens = R20.getSelectedTokens(ctx.msg); + const mode = walletAction === 'take' ? 'take' : (walletAction === 'pay' ? 'pay' : ''); + + if (!mode || !CurrencyService.normalizeType(currencyType) || !qty) { + Render.sendWhisperMessage( + who, + 'Wallet', + 'Use: !tntCurrency wallet {pay|take} {cp|sp|gp} qty.', + 'warning' + ); + return; + } + if (!selectedTokens.length) { + Render.sendWhisperMessage(who, 'Wallet', 'Select one or more linked tokens.', 'warning'); + return; + } + + const coinType = CurrencyService.normalizeType(currencyType); + const amountHtml = Render.currencyAmountHtml(qty, coinType); + const rows = []; + for (let i = 0; i < selectedTokens.length; i += 1) { + const token = selectedTokens[i]; + const result = await CurrencyService.adjustSelectedTokenWallet(token, mode, coinType, qty); + const tokenNameHtml = Html.span( + Utils.escapeHtml(String(result.tokenName || 'Token')), + 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;' + ); + if (!result.ok) { + rows.push(tokenNameHtml + ': ' + Html.span(Utils.escapeHtml(result.message || 'wallet update failed'), 'color:rgb(255,120,120);font-weight:700;')); + continue; + } + + rows.push( + tokenNameHtml + ': ' + + (mode === 'take' ? 'took ' : 'paid ') + + amountHtml + + ' (' + Utils.escapeHtml(String(result.before)) + ' -> ' + Utils.escapeHtml(String(result.after)) + ' ' + Utils.escapeHtml(coinType.toUpperCase()) + ')' + ); + + const context = R20.getTokenContext(R20.makeTokenRef(result.token), result.tokenName); + const recipients = Utils.uniqueNames(context.controllerNames); + const playerLine = mode === 'take' + ? (amountHtml + ' was taken from you.') + : ('You received ' + amountHtml + '.'); + for (let r = 0; r < recipients.length; r += 1) { + const recipient = String(recipients[r] || '').trim(); + if (!recipient || recipient.toLowerCase() === 'gm') continue; + Render.sendWhisperMessage(recipient, 'Wallet', playerLine, mode === 'take' ? 'warning' : 'success'); + } + } + + Render.sendWhisperMessage( + 'GM', + 'Wallet', + rows.length ? rows.map((row) => Html.div(row, 'padding:2px 0;text-align:left;')).join('') : 'No wallets were updated.', + 'normal' + ); + return; + } + + const sourceTokenId = String(args[1] || '').trim(); + const targetTokenId = String(args[2] || '').trim(); + const currencyType = String(args[3] || '').trim().toLowerCase(); + const qty = Math.max(1, InventoryService.toIntOrNull(args[4]) || 0); + + if (args.length < 5 || !action || !sourceTokenId || !targetTokenId || !currencyType || !qty) { + Render.sendWhisperMessage( + who, + 'Command Usage', + 'Use: !tntCurrency {give|take} sourceTokenId targetTokenId {cp|sp|gp} qty
Example: !tntCurrency give -SRC- @{target|token_id} gp 10', + 'warning' + ); + return; + } + + if (!ACTIONS.CURRENCY.includes(action)) { + Render.sendWhisperMessage(who, 'Currency', 'Invalid action. Use give or take.', 'failure'); + return; + } + + if (!CurrencyService.normalizeType(currencyType)) { + Render.sendWhisperMessage(who, 'Currency', 'Invalid currency type. Use CP, SP, or GP.', 'failure'); + return; + } + + const result = await CurrencyService.transferCurrency({ + action, + sourceTokenId, + targetTokenId, + currencyType, + quantity: qty, + playerId: ctx.playerId, + isGM: ctx.isGM, + maxDistanceFt: RuntimeConfig.get('INVENTORY_TRANSFER_MAX_DISTANCE_FT') + }); + + if (!result.ok) { + Render.sendWhisperMessage( + who, + 'Currency Transfer', + String(result.message || 'Unable to transfer currency.'), + 'failure' + ); + + if (result.sourceAccess && !result.sourceAccess.hasAccess) { + Render.sendWhisperMessage( + 'GM', + 'Currency Transfer', + Html.span(Utils.escapeHtml(who), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' attempted to transfer ' + + Html.span(Utils.escapeHtml(String(qty)), 'color:' + CONFIG.DEFAULT_TEXT_QUANTITY_COLOR + ';font-weight:700;') + + ' ' + + Html.span(Utils.escapeHtml(String(currencyType).toUpperCase()), 'color:' + CONFIG.DEFAULT_TEXT_ITEM_COLOR + ';font-weight:700;') + + ' from ' + + Html.span(Utils.escapeHtml(result.sourceAccess.tokenName || sourceTokenId), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + '.
' + + 'Journal access: ' + (result.sourceAccess.journalAccess ? 'true' : 'false') + ' | ' + + 'Control access: ' + (result.sourceAccess.controlAccess ? 'true' : 'false') + '.', + 'warning' + ); + } + return; + } + + const transferQtyText = String(result.transferred || qty); + const qtyText = Utils.escapeHtml(transferQtyText); + const qtyLabel = Html.span(qtyText, 'color:' + CONFIG.DEFAULT_TEXT_QUANTITY_COLOR + ';font-weight:700;'); + const debitName = Html.span(Utils.escapeHtml(String(result.debit.tokenName || 'Source')), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;'); + const creditName = Html.span(Utils.escapeHtml(String(result.credit.tokenName || 'Target')), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;'); + const coinLabel = Utils.escapeHtml(String(result.currencyType || currencyType).toUpperCase()); + const balanceBody = + debitName + ': ' + Utils.escapeHtml(String(result.debit.after)) + ' ' + coinLabel + + ' | ' + + creditName + ': ' + Utils.escapeHtml(String(result.credit.after)) + ' ' + coinLabel + '.'; + + const gmLine = (action === 'take') + ? (creditName + ' took ' + qtyLabel + ' ' + coinLabel + ' from ' + debitName + '.') + : (debitName + ' gave ' + qtyLabel + ' ' + coinLabel + ' to ' + creditName + '.'); + + const sourceContext = R20.getTokenContext(sourceTokenId, sourceTokenId); + const targetContext = R20.getTokenContext(targetTokenId, targetTokenId); + const sourceName = Utils.escapeHtml(String(sourceContext.tokenName || sourceTokenId)); + const targetName = Utils.escapeHtml(String(targetContext.tokenName || targetTokenId)); + const characterColor = CONFIG.DEFAULT_TEXT_CHARACTER_COLOR || 'rgb(211, 194, 12)'; + const resolvedCurrencyType = String(result.currencyType || currencyType).trim().toLowerCase(); + const sourceNameHtml = Html.span(sourceName, 'color:' + characterColor + ';font-weight:700;'); + const targetNameHtml = Html.span(targetName, 'color:' + characterColor + ';font-weight:700;'); + const amountHtml = Render.currencyAmountHtml(transferQtyText, resolvedCurrencyType); + + const sourceLine = (action === 'take') + ? ('You took ' + amountHtml + ' from ' + targetNameHtml + '.') + : ('You gave ' + amountHtml + ' to ' + targetNameHtml + '.'); + + const targetLine = (action === 'take') + ? (sourceNameHtml + ' took ' + amountHtml + ' from you.') + : (sourceNameHtml + ' gave you ' + amountHtml + '.'); + + Render.sendWhisperMessage('GM', 'Currency Transfer', gmLine + '
' + balanceBody, 'normal'); + + const sourceRecipients = Utils.uniqueNames( + sourceContext.controllerNames.length ? sourceContext.controllerNames : [who] + ); + const targetRecipients = Utils.uniqueNames(targetContext.controllerNames); + const sent = {}; + + for (let i = 0; i < sourceRecipients.length; i += 1) { + const recipient = sourceRecipients[i]; + const key = String(recipient || '').trim().toLowerCase(); + if (!key || key === 'gm' || sent[key]) continue; + sent[key] = true; + Render.sendWhisperMessage(recipient, 'Currency Transfer', sourceLine, 'success'); + } + + for (let i = 0; i < targetRecipients.length; i += 1) { + const recipient = targetRecipients[i]; + const key = String(recipient || '').trim().toLowerCase(); + if (!key || key === 'gm' || sent[key]) continue; + sent[key] = true; + Render.sendWhisperMessage(recipient, 'Currency Transfer', targetLine, 'success'); + } + }, + + async item(ctx) { + const who = ctx.who || 'GM'; + const args = Array.isArray(ctx.args) ? ctx.args : []; + const rawAction = String(args[0] || '').trim(); + const action = rawAction.toLowerCase(); + const gmActions = ['list', 'rawlist', 'create', 'remove', 'reload']; + + if (!ACTIONS.ITEM.includes(action)) { + Handlers.sendItemUsage(who, ctx.isGM); + return; + } + + if (gmActions.includes(action) && !ctx.isGM) { + Render.sendWhisperMessage( + who, + 'GM Command', + 'Only a GM can manage the item catalog.
Player actions: !tntItem {search|details|send}.', + 'failure' + ); + return; + } + + if (action === 'reload') { + try { + const items = await InventoryService.loadItemCatalogFromHandout(); + Render.sendWhisperMessage( + who, + 'Item Catalog', + 'Reloaded ' + Utils.escapeHtml(String(items.length)) + ' items from ' + Utils.escapeHtml(ItemCatalog.handoutRef) + '.', + 'success' + ); + } catch (error) { + Render.sendWhisperMessage(who, 'Item Catalog', Utils.escapeHtml(error.message || String(error)), 'failure'); + } + return; + } + + if (action === 'rawlist') { + R20.whisper(who, Render.showItemCatalog(ItemCatalog.getAll(), { + title: 'Item Catalog', + grouped: false, + isGM: ctx.isGM + })); + return; + } + + if (action === 'list') { + R20.whisper(who, Render.showItemCatalog(ItemCatalog.getAll(), { + title: 'Item Catalog', + grouped: true, + isGM: ctx.isGM + })); + return; + } + + if (action === 'search') { + let query = args.slice(1).join(' ').trim(); + if (!query) query = '?{Item Search|}'; + + if (query.indexOf('?{') >= 0) { + R20.whisper(who, Html.card({ + title: 'Item Search', + body: + '
' + + Render.inRowButtonHtml({ + text: 'Search', + width: 54, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(0,86,115,0.95)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem search ?{Item Search|}' + }) + + '
' + })); + return; + } + + const needle = query.toLowerCase(); + const results = ItemCatalog.getAll().filter((item) => { + return String(item.name || '').trim().toLowerCase().indexOf(needle) >= 0; + }); + R20.whisper(who, Render.showItemCatalog(results, { + title: 'Item Search: ' + query, + grouped: false, + searchMode: true, + isGM: ctx.isGM + })); + return; + } + + if (action === 'send') { + const itemName = args.slice(1).join(' ').trim(); + if (!itemName) { + Render.sendWhisperMessage(who, 'Item Details', 'Use: !tntItem send itemName.', 'warning'); + return; + } + + const resolved = await ItemService.resolveDetailsItem(itemName, ctx); + if (!resolved || !resolved.item) { + Render.sendWhisperMessage(who, 'Item Details', 'Item was not found.', 'failure'); + return; + } + + R20.direct(Render.showItemDetails(resolved.item)); + return; + } + + if (action === 'details') { + let detailArgs = args.slice(1); + let detailsSourceTokenId = ''; + const possibleSource = R20.resolveTokenRef(detailArgs[0] || ''); + if (possibleSource && possibleSource.token) { + detailsSourceTokenId = String(detailArgs[0] || '').trim(); + detailArgs = detailArgs.slice(1); + } + const itemName = detailArgs.join(' ').trim(); + if (!itemName) { + Render.sendWhisperMessage(who, 'Item Details', 'Use: !tntItem details itemName.', 'warning'); + return; + } + + const resolved = await ItemService.resolveDetailsItem(itemName, Object.assign({}, ctx, { detailsSourceTokenId })); + if (!resolved || !resolved.item) { + Render.sendWhisperMessage(who, 'Item Details', 'Item was not found.', 'failure'); + return; + } + + R20.whisper(who, Render.showItemDetails(resolved.item, { + isGM: ctx.isGM, + whisper: true, + existsInCatalog: !!resolved.existsInCatalog, + detailsSourceTokenId + })); + return; + } + + if (action === 'remove') { + const removeArgs = args.slice(1); + const lastArg = String(removeArgs[removeArgs.length - 1] || '').trim().toLowerCase(); + const hasConfirmation = ['yes', 'no'].includes(lastArg); + if (hasConfirmation && lastArg !== 'yes') { + Render.sendWhisperMessage(who, 'Item Catalog', 'Item removal cancelled.', 'warning'); + return; + } + if (hasConfirmation) removeArgs.pop(); + let itemName = removeArgs.join(' ').trim(); + if (!itemName) { + R20.whisper(who, Html.card({ + title: 'Remove Item', + body: + '
' + + Render.inRowButtonHtml({ + text: 'Remove', + width: 62, + height: CONFIG.DEFAULT_BUTTON_HEIGHT_SIZE, + fontSize: CONFIG.DEFAULT_BUTTON_TEXT_SIZE, + textColor: 'rgb(255,255,255)', + backgroundColor: 'rgba(150,20,20,0.92)', + borderColor: 'rgba(255,255,255,0.55)', + callback: '!tntItem remove ?{Exact Item Name|}' + }) + + '
' + })); + return; + } + + const result = await ItemService.removeByName(itemName); + Render.sendWhisperMessage( + who, + 'Item Catalog', + result.ok + ? ('Removed ' + Utils.escapeHtml(result.itemName) + '. Catalog now has ' + Utils.escapeHtml(String(result.total)) + ' items.') + : Utils.escapeHtml(result.message || 'Unable to remove item.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + if (action === 'create') { + const mode = String(args[1] || '').trim().toLowerCase(); + + if (mode === 'edit') { + let editArgs = args.slice(2); + let detailsSourceTokenId = ''; + const possibleSource = R20.resolveTokenRef(editArgs[0] || ''); + if (possibleSource && possibleSource.token) { + detailsSourceTokenId = String(editArgs[0] || '').trim(); + editArgs = editArgs.slice(1); + } + const itemName = editArgs.join(' ').trim(); + if (!itemName) { + Render.sendWhisperMessage(who, 'Item Draft', 'Use: !tntItem create edit itemName.', 'warning'); + return; + } + const resolved = await ItemService.resolveDetailsItem(itemName, Object.assign({}, ctx, { detailsSourceTokenId })); + if (!resolved || !resolved.item) { + Render.sendWhisperMessage(who, 'Item Draft', 'Item was not found.', 'failure'); + return; + } + const draft = ItemService.loadDraftFromItem(ctx, resolved.item); + await ItemService.refreshDraftBlueprintStatus(draft, itemName); + const sourceInfo = detailsSourceTokenId ? R20.resolveTokenRef(detailsSourceTokenId) : {}; + R20.whisper(who, Render.showItemCreateDraft(draft, { + editMode: true, + detailsSourceTokenId, + sourceCharacterName: sourceInfo && sourceInfo.character ? String(sourceInfo.character.get('name') || 'character sheet') : '' + })); + return; + } + + if (mode === 'set') { + const field = String(args[2] || '').trim(); + const value = args.slice(3).join(' ').trim(); + const result = ItemService.setDraftField(ctx, field, value); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Item Draft', Utils.escapeHtml(result.message || 'Unable to update draft.'), 'failure'); + return; + } + R20.whisper(who, Render.showItemCreateDraft(result.draft)); + return; + } + + if (mode === 'toggle') { + const field = String(args[2] || '').trim(); + const result = ItemService.toggleDraftField(ctx, field); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Item Draft', Utils.escapeHtml(result.message || 'Unable to update draft.'), 'failure'); + return; + } + R20.whisper(who, Render.showItemCreateDraft(result.draft)); + return; + } + + if (mode === 'reset') { + R20.whisper(who, Render.showItemCreateDraft(ItemService.getDraft(ctx, { reset: true }))); + return; + } + + if (mode === 'cancel') { + ItemService.clearDraft(ctx); + Render.sendWhisperMessage(who, 'Item Draft', 'Draft cancelled.', 'warning'); + return; + } + + if (mode === 'save') { + const result = await ItemService.createFromDraft(ctx); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Item Draft', Utils.escapeHtml(result.message || 'Unable to create item.'), 'failure'); + R20.whisper(who, Render.showItemCreateDraft(ItemService.getDraft(ctx))); + return; + } + Render.sendWhisperMessage( + who, + 'Item Catalog', + (result.created ? 'Created ' : 'Updated ') + '' + Utils.escapeHtml(result.item.name) + '. Catalog now has ' + Utils.escapeHtml(String(result.total)) + ' items.' + + (/^in handout$/i.test(String(result.item.blueprint || '').trim()) && !result.blueprintFound + ? '
Blueprint was marked In Handout, but the blueprint record was not found.' + : ''), + /^in handout$/i.test(String(result.item.blueprint || '').trim()) && !result.blueprintFound ? 'warning' : 'success' + ); + return; + } + + R20.whisper(who, Render.showItemCreateDraft(ItemService.getDraft(ctx))); + return; + } + + if (action === 'blueprint') { + const mode = String(args[1] || '').trim().toLowerCase(); + if (mode !== 'set') { + Render.sendWhisperMessage(who, 'Item Blueprint', 'Use: !tntItem blueprint set token itemName.', 'warning'); + return; + } + const sourceTokenRef = String(args[2] || '').trim(); + const itemName = args.slice(3).join(' ').trim(); + const result = await ItemService.setDraftBlueprintFromInventory(ctx, sourceTokenRef, itemName); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Item Blueprint', Utils.escapeHtml(result.message || 'Unable to create blueprint.'), 'failure'); + return; + } + Render.sendWhisperMessage( + who, + 'Item Blueprint', + '' + Utils.escapeHtml(result.itemName || itemName) + ' blueprint updated from ' + Utils.escapeHtml(result.characterName || 'inventory') + '.', + 'success' + ); + R20.whisper(who, Render.showItemCreateDraft(result.draft, { + editMode: true, + detailsSourceTokenId: sourceTokenRef, + sourceCharacterName: result.characterName || '' + })); + return; + } + }, + + async shop(ctx) { + const who = ctx.who || 'GM'; + const args = Array.isArray(ctx.args) ? ctx.args : []; + const action = ShopService.normalizeAction(args[0] || ''); + const selectedToken = R20.getSelectedToken(ctx.msg); + const selectedTokenId = selectedToken && selectedToken.id ? selectedToken.id : ''; + const gmActions = GM_ACTIONS.SHOP; + const buildShopWalletHtml = async (buyerTokenId = '') => { + const buyerToken = R20.getTokenById(buyerTokenId) || selectedToken; + const buyerCharacter = R20.getCharacterFromToken(buyerToken); + if (!buyerToken || !buyerCharacter) return ''; + + const [cpRaw, spRaw, gpRaw] = await Promise.all([ + R20.getSheet(buyerCharacter.id, 'cp'), + R20.getSheet(buyerCharacter.id, 'sp'), + R20.getSheet(buyerCharacter.id, 'gp') + ]); + + return Render.buildInventoryWalletRow({ + cp: cpRaw, + sp: spRaw, + gp: gpRaw, + sourceTokenId: R20.makeTokenRef(buyerToken) + }); + }; + + if (!action) { + Handlers.sendShopUsage(who, ctx.isGM); + return; + } + + if (gmActions.includes(action) && !ctx.isGM) { + Render.sendWhisperMessage( + who, + 'GM Command', + 'Only a GM can manage shops.
Player actions: !tntShop ' + Handlers.actionList(PUBLIC_ACTIONS.SHOP) + ' ...', + 'failure' + ); + return; + } + + const parseTrailingQty = (rawParts = [], defaultQty = 1) => { + const parts = Array.isArray(rawParts) ? rawParts.slice() : []; + let qty = Math.max(1, InventoryService.toIntOrNull(defaultQty) || 1); + const maybeQtyText = String(parts[parts.length - 1] || '').trim(); + const maybeQty = /^\d+$/.test(maybeQtyText) ? InventoryService.toIntOrNull(maybeQtyText) : null; + if (maybeQty !== null) { + qty = Math.max(1, maybeQty); + parts.pop(); + } + return { parts, qty }; + }; + const renderPlayerShop = (shop, walletHtml = '', buyerTokenId = '') => { + if (RuntimeConfig.get('SHOP_GRID_VIEW')) { + return Render.showShopGrid(shop, { walletHtml, buyerTokenId }); + } + const visibleItems = shop.itemList.filter((item) => !item.hidden); + return Render.showItemsList(visibleItems, { + title: shop.name, + emptyText: 'No items found in this shop.', + walletHtml, + menuType: 'shop', + shopId: shop.id, + buyerTokenId, + hidePrice: shop.config.hidePrice, + hasStock: shop.config.hasStock + }); + }; + + if (action === 'list') { + const shops = ShopService.listShops({ includeHidden: ctx.isGM }); + R20.whisper(who, Render.showShopButtonList(shops)); + return; + } + + if (action === 'menu') { + const shops = ShopService.listShops({ includeHidden: true }); + R20.whisper(who, Render.showShopAdminMenu(shops)); + return; + } + + if (action === 'detail') { + const result = ShopService.getShop(args[1] || ''); + if (!result.ok) { + Render.sendWhisperMessage(who, 'Shop Manager', Utils.escapeHtml(result.message || 'Shop was not found.'), 'failure'); + return; + } + R20.whisper(who, Render.showShopDetail(result.shop)); + return; + } + + if (action === 'reload') { + try { + const shops = await ShopService.loadShopCatalogFromHandout(); + Render.sendWhisperMessage( + who, + 'Shop Catalog', + 'Loaded ' + Utils.escapeHtml(String(shops.length)) + ' shops from ' + Utils.escapeHtml(ShopCatalog.handoutRef) + '.', + 'success' + ); + } catch (error) { + Render.sendWhisperMessage(who, 'Shop Catalog', Utils.escapeHtml(error.message || String(error)), 'failure'); + } + return; + } + + if (action === 'load') { + let catalogShops = []; + try { + catalogShops = await ShopService.loadShopCatalogFromHandout(); + } catch (error) { + Render.sendWhisperMessage(who, 'Shop Catalog', Utils.escapeHtml(error.message || String(error)), 'failure'); + return; + } + + const targetArg = String(args[1] || '').trim(); + if (!targetArg) { + R20.whisper(who, Render.showDatabaseShopLoadMenu(catalogShops)); + return; + } + + const loadAll = !targetArg || ['all', '*', '--all'].includes(targetArg.toLowerCase()); + const shopId = loadAll ? '' : targetArg; + const overwrite = loadAll ? Utils.toBoolean(args[2], true) : Utils.toBoolean(args[2], false); + const result = shopId + ? ShopService.importShopFromCatalog(shopId, { overwrite }) + : ShopService.importAllFromCatalog({ overwrite }); + + if (shopId) { + Render.sendWhisperMessage( + who, + 'Shop Catalog', + result.ok + ? ('Imported ' + Render.storeNameHtml(result.shop.name) + ' into live shop state.') + : Utils.escapeHtml(result.message || 'Unable to import shop.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + Render.sendWhisperMessage( + who, + 'Shop Catalog', + 'Loaded ' + Utils.escapeHtml(String(result.imported.length)) + ' shops from handout. Skipped ' + Utils.escapeHtml(String(result.skipped.length)) + '.', + result.skipped.length ? 'warning' : 'success' + ); + R20.whisper(who, Render.showShopAdminMenu(ShopService.listShops({ includeHidden: true }))); + return; + } + + if (action === 'unload') { + const shopId = String(args[1] || '').trim(); + const confirmation = String(args[2] || 'no').trim().toLowerCase(); + if (confirmation !== 'yes') { + try { + const shops = await ShopService.loadShopCatalogFromHandout(); + R20.whisper(who, Render.showDatabaseShopLoadMenu(shops)); + } catch (error) { + Render.sendWhisperMessage(who, 'Shop Catalog', Utils.escapeHtml(error.message || String(error)), 'failure'); + } + return; + } + + try { + const result = await ShopService.removeShopFromHandout(shopId); + Render.sendWhisperMessage( + who, + 'Shop Database', + result.ok + ? ('Removed ' + Render.storeNameHtml(result.shop.name) + ' from ' + Utils.escapeHtml(result.handoutRef) + '.') + : Utils.escapeHtml(result.message || 'Unable to remove shop from database.'), + result.ok ? 'success' : 'failure' + ); + R20.whisper(who, Render.showDatabaseShopLoadMenu(ShopCatalog.getAll())); + } catch (error) { + Render.sendWhisperMessage(who, 'Shop Database', Utils.escapeHtml(error.message || String(error)), 'failure'); + } + return; + } + + if (action === 'export') { + try { + const result = await ShopService.exportShopToHandout(args[1] || ''); + Render.sendWhisperMessage( + who, + 'Shop Export', + result.ok + ? ((result.created ? 'Added ' : 'Updated ') + Render.storeNameHtml(result.shop.name) + ' in ' + Utils.escapeHtml(result.handoutRef) + '.') + : Utils.escapeHtml(result.message || 'Unable to export shop.'), + result.ok ? 'success' : 'failure' + ); + } catch (error) { + Render.sendWhisperMessage(who, 'Shop Export', Utils.escapeHtml(error.message || String(error)), 'failure'); + } + return; + } + + if (action === 'create') { + const shopId = String(args[1] || '').trim(); + const name = args.slice(2).join(' ').trim() || shopId; + const result = ShopService.createShop({ + id: shopId, + name, + state: 'close', + hidePrice: false, + hasStock: true, + location: [] + }); + Render.sendWhisperMessage( + who, + 'Shop Created', + result.ok + ? ( + 'Created ' + + Render.storeNameHtml(result.shop.name) + + ' with ID ' + + Html.span(Utils.escapeHtml(result.shop.id), 'color:' + CONFIG.DEFAULT_TEXT_STORE_ID_COLOR + ';font-weight:700;') + + '.' + ) + : Utils.escapeHtml(result.message || 'Unable to create shop.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + if (action === 'delete') { + const shopId = String(args[1] || '').trim(); + const confirmation = String(args[2] || 'no').trim().toLowerCase(); + if (confirmation !== 'yes') { + R20.whisper(who, Render.showShopAdminMenu(ShopService.listShops({ includeHidden: true }))); + return; + } + + const result = ShopService.deleteShop(shopId); + if (result.ok) { + Render.sendWhisperMessage( + who, + 'Shop Removed', + 'Removed ' + Render.storeNameHtml(result.shop.name) + '.', + 'success' + ); + R20.whisper(who, Render.showShopAdminMenu(ShopService.listShops({ includeHidden: true }))); + } else { + Render.sendWhisperMessage(who, 'Shop Removed', Utils.escapeHtml(result.message || 'Unable to remove shop.'), 'failure'); + } + return; + } + + if (action === 'icon') { + const shopId = String(args[1] || '').trim(); + const icon = args.slice(2).join(' ').trim() || '🏪'; + const result = ShopService.setShopIcon(shopId, icon); + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Icon', Utils.escapeHtml(result.message || 'Unable to update shop icon.'), 'failure'); + return; + } + + if (action === 'toggle') { + const result = ShopService.toggleOpenClose(args[1] || ''); + if (result.ok && String(args[2] || '').trim().toLowerCase() === 'detail') R20.whisper(who, Render.showShopDetail(result.shop)); + else if (result.ok) R20.whisper(who, Render.showShopAdminMenu(ShopService.listShops({ includeHidden: true }))); + else Render.sendWhisperMessage(who, 'Shop State', Utils.escapeHtml(result.message || 'Unable to update shop state.'), 'failure'); + return; + } + + if (action === 'reveal') { + const result = ShopService.toggleHidden(args[1] || ''); + const returnTo = String(args[2] || '').trim().toLowerCase(); + if (result.ok && returnTo === 'menu') R20.whisper(who, Render.showShopAdminMenu(ShopService.listShops({ includeHidden: true }))); + else if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop State', Utils.escapeHtml(result.message || 'Unable to update shop state.'), 'failure'); + return; + } + + if (action === 'stockmode') { + const result = ShopService.toggleStockMode(args[1] || ''); + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Config', Utils.escapeHtml(result.message || 'Unable to update stock mode.'), 'failure'); + return; + } + + if (action === 'rollprice') { + const result = ShopService.clearItemPrices(args[1] || ''); + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Prices', Utils.escapeHtml(result.message || 'Unable to clear prices.'), 'failure'); + return; + } + + if (action === 'price') { + const shopId = String(args[1] || '').trim(); + const priceType = String(args[args.length - 1] || '').trim(); + const price = Number(args[args.length - 2]); + const itemName = args.slice(2, -2).join(' ').trim(); + const result = ShopService.setItemPrice(shopId, itemName, price, priceType); + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Price', Utils.escapeHtml(result.message || 'Unable to update price.'), 'failure'); + return; + } + + if (action === 'stock') { + const shopId = String(args[1] || '').trim(); + const stock = args[args.length - 1]; + const itemName = args.slice(2, -1).join(' ').trim(); + const result = ShopService.setItemStock(shopId, itemName, stock); + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Stock', Utils.escapeHtml(result.message || 'Unable to update stock.'), 'failure'); + return; + } + + if (action === 'open' || action === 'close' || action === 'hide') { + const shopId = String(args[1] || '').trim(); + const state = action === 'open' ? 'open' : (action === 'close' ? 'close' : 'hidden'); + const result = ShopService.setShopState(shopId, state); + const stateText = result.ok + ? (action === 'hide' + ? (result.shop.isOpen() ? 'open and hidden' : 'hidden') + : result.shop.state) + : ''; + Render.sendWhisperMessage( + who, + 'Shop State', + result.ok + ? ('Shop ' + Utils.escapeHtml(result.shop.name) + ' is now ' + Utils.escapeHtml(stateText) + '.') + : Utils.escapeHtml(result.message || 'Unable to update shop state.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + if (action === 'config') { + const shopId = String(args[1] || '').trim(); + const key = String(args[2] || '').trim(); + const value = String(args[3] || '').trim(); + const result = ShopService.setConfig(shopId, key, value); + Render.sendWhisperMessage( + who, + 'Shop Config', + result.ok + ? ('Updated ' + Utils.escapeHtml(key) + ' for ' + Utils.escapeHtml(result.shop.name) + '.') + : Utils.escapeHtml(result.message || 'Unable to update shop config.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + if (action === 'blacklist') { + const shopId = String(args[1] || '').trim(); + const mode = String(args[2] || '').trim(); + const identity = ShopService.resolveBlacklistIdentity(args.slice(3).join(' ').trim()); + const result = ShopService.updateBlacklist(shopId, mode, identity); + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Blacklist', Utils.escapeHtml(result.message || 'Unable to update blacklist.'), 'failure'); + return; + } + + if (action === 'add') { + const shopId = String(args[1] || '').trim(); + const parts = args.slice(2); + const returnDetail = String(parts[parts.length - 1] || '').trim().toLowerCase() === '--detail'; + if (returnDetail) parts.pop(); + + let quantity = SHOP_INFINITE_STOCK; + const maybeQtyText = String(parts[parts.length - 1] || '').trim(); + const maybeQty = /^\d+$/.test(maybeQtyText) ? InventoryService.toIntOrNull(maybeQtyText) : null; + if (maybeQty !== null) { + quantity = Math.max(1, maybeQty); + parts.pop(); + } + + let price = null; + let priceType = ''; + const maybePriceType = String(parts[parts.length - 1] || '').trim().toLowerCase(); + const maybePrice = String(parts[parts.length - 2] || '').trim(); + const hasExplicitPricePair = parts.length >= 2 && + (maybePrice === '-' || InventoryService.toIntOrNull(maybePrice) !== null) && + (maybePriceType === '-' || CurrencyService.normalizeType(maybePriceType)); + + if (hasExplicitPricePair) { + price = maybePrice === '-' ? null : Math.max(0, InventoryService.toIntOrNull(maybePrice) || 0); + priceType = maybePriceType === '-' ? '' : maybePriceType; + parts.pop(); + parts.pop(); + } + + const itemName = parts.join(' ').trim(); + const result = ShopService.addItem({ + shopId, + itemName, + quantity, + price, + priceType + }); + if (returnDetail) { + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Item', Utils.escapeHtml(result.message || 'Unable to add item to shop.'), 'failure'); + return; + } + Render.sendWhisperMessage( + who, + 'Shop Item', + result.ok + ? ('Added ' + Utils.escapeHtml(result.item.name) + ' to ' + Utils.escapeHtml(result.shop.name) + '.') + : Utils.escapeHtml(result.message || 'Unable to add item to shop.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + if (action === 'remove') { + const shopId = String(args[1] || '').trim(); + const returnDetail = String(args[args.length - 1] || '').trim().toLowerCase() === '--detail'; + const itemName = (returnDetail ? args.slice(2, -1) : args.slice(2)).join(' ').trim(); + const result = ShopService.removeItem(shopId, itemName); + if (returnDetail) { + if (result.ok) R20.whisper(who, Render.showShopDetail(result.shop)); + else Render.sendWhisperMessage(who, 'Shop Item', Utils.escapeHtml(result.message || 'Unable to remove item from shop.'), 'failure'); + return; + } + Render.sendWhisperMessage( + who, + 'Shop Item', + result.ok + ? ('Removed ' + Utils.escapeHtml(String(result.itemName || itemName)) + ' from ' + Utils.escapeHtml(result.shop.name) + '.') + : Utils.escapeHtml(result.message || 'Unable to remove item from shop.'), + result.ok ? 'success' : 'failure' + ); + return; + } + + if (action === 'get') { + const shopId = String(args[1] || '').trim(); + const result = ShopService.getShop(shopId); + if (!result.ok || (result.shop.isHidden() && !ctx.isGM)) { + Render.sendWhisperMessage(who, 'Shop', Utils.escapeHtml(result.message || 'Shop was not found.'), 'failure'); + return; + } + + const shop = result.shop; + const walletHtml = await buildShopWalletHtml(selectedTokenId); + R20.whisper(who, renderPlayerShop(shop, walletHtml, selectedTokenId)); + return; + }//*/ + /*if (action === 'get') { + const shopId = String(args[1] || '').trim(); + const result = ShopService.getShop(shopId); + if (!result.ok || (result.shop.isHidden() && !ctx.isGM)) { + Render.sendWhisperMessage(who, 'Shop', Utils.escapeHtml(result.message || 'Shop was not found.'), 'failure'); + return; + } + + const shop = result.shop; + const shopVisibilityText = shop.state + (shop.isHidden() ? ' | hidden' : ''); + const visibleItems = shop.itemList.filter((item) => !item.hidden); + const walletHtml = await buildShopWalletHtml(selectedTokenId); + R20.whisper(who, Render.showItemsList(visibleItems, { + title: shop.name, + emptyText: 'No items found in this shop.', + walletHtml, + menuType: 'shop', + shopId: shop.id, + buyerTokenId: selectedTokenId, + hidePrice: shop.config.hidePrice, + hasStock: shop.config.hasStock + })); + return; + }//*/ + + if (action === 'buy') { + const shopId = String(args[1] || '').trim(); + let buyerTokenId = String(args[2] || '').trim(); + let itemParts = args.slice(3); + if (!R20.getTokenById(buyerTokenId) && selectedTokenId) { + buyerTokenId = selectedTokenId; + itemParts = args.slice(2); + } + + const parsed = parseTrailingQty(itemParts, 1); + const itemName = parsed.parts.join(' ').trim(); + const result = await ShopService.buyItem({ + shopId, + buyerTokenId, + itemName, + quantity: parsed.qty, + playerId: ctx.playerId, + who, + isGM: ctx.isGM + }); + + if (!result.ok) { + Render.sendWhisperMessage(who, 'Shop Purchase', Utils.escapeHtml(result.message || 'Unable to buy item.'), 'failure'); + return; + } + + const boughtQtyHtml = Html.span(Utils.escapeHtml(String(result.quantity)), 'color:' + CONFIG.DEFAULT_TEXT_QUANTITY_COLOR + ';font-weight:700;'); + const boughtItemHtml = Html.span(Utils.escapeHtml(result.itemName), 'color:' + CONFIG.DEFAULT_TEXT_ITEM_COLOR + ';font-weight:700;'); + const priceText = result.totalPrice > 0 + ? (' for ' + Render.currencyAmountHtml(result.totalPrice, result.currencyType)) + : ''; + const conversionText = result.spendResult && result.spendResult.convertedFromGp + ? ( + '
' + + 'Converted ' + Utils.escapeHtml(String(result.spendResult.convertedGp)) + ' gp to ' + + Utils.escapeHtml(String(result.spendResult.convertedAmount)) + ' ' + + Utils.escapeHtml(String(result.currencyType || '').toLowerCase()) + '.' + + '' + ) + : ''; + Render.sendWhisperMessage( + who, + 'Shop Purchase', + 'You bought ' + boughtQtyHtml + ' ' + boughtItemHtml + priceText + '.' + conversionText, + 'success' + ); + Render.sendWhisperMessage( + 'GM', + 'Shop Purchase', + Html.span(Utils.escapeHtml(result.buyerName || who), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + + ' bought ' + + boughtQtyHtml + + ' ' + + boughtItemHtml + + priceText + + ' from ' + + Html.span(Utils.escapeHtml(result.shop.name), 'color:' + CONFIG.DEFAULT_TEXT_CHARACTER_COLOR + ';font-weight:700;') + '.' + + conversionText, + 'normal' + ); + R20.whisper(who, renderPlayerShop(result.shop, await buildShopWalletHtml(buyerTokenId), buyerTokenId)); + return; + } + } + }; + + /** ----------------------------------------------------------------------- + * @section Event Handlers + * --------------------------------------------------------------------- */ + const Events = { + getTokenAutoSetupCache() { + const root = State.get(); + root.cache = root.cache || {}; + root.cache.tokenAutoSetup = root.cache.tokenAutoSetup || {}; + return root.cache.tokenAutoSetup; + }, + + scheduleAutoSetupToken(token, trigger = 'graphic') { + try { + if (!RuntimeConfig.get('SETUP_TOKEN_ON_SPAWN')) return; + if (!token || !Utils.isFunction(token.get)) return; + const tokenId = String(token.id || token.get('_id') || '').trim(); + if (!tokenId) return; + + const cache = this.getTokenAutoSetupCache(); + const current = cache[tokenId]; + if (current === 'done' || (current && (current.status === 'done' || current.status === 'pending' || current.status === 'processing'))) return; + + cache[tokenId] = { status: 'pending', attempts: 0, trigger }; + setTimeout(() => Events.tryAutoSetupToken(tokenId, trigger), 100); + } catch (error) { + Logger.error('[Token:auto-setup]', error && error.message ? error.message : String(error)); + } + }, + + retryAutoSetupToken(tokenId = '', trigger = 'graphic', entry = {}) { + const cache = this.getTokenAutoSetupCache(); + const attempts = Utils.toInt(entry.attempts, 0); + if (attempts >= 5) { + delete cache[tokenId]; + return; + } + cache[tokenId] = { status: 'pending', attempts, trigger }; + setTimeout(() => Events.tryAutoSetupToken(tokenId, trigger), 250); + }, + + async tryAutoSetupToken(tokenId = '', trigger = 'graphic') { + try { + const safeTokenId = String(tokenId || '').trim(); + if (!safeTokenId) return; + const cache = this.getTokenAutoSetupCache(); + const entry = (cache[safeTokenId] && typeof cache[safeTokenId] === 'object') + ? cache[safeTokenId] + : { status: 'pending', attempts: 0, trigger }; + entry.status = 'processing'; + entry.attempts = Utils.toInt(entry.attempts, 0) + 1; + cache[safeTokenId] = entry; + + const token = getObj('graphic', safeTokenId); + if (!token || !Utils.isFunction(token.get)) { + this.retryAutoSetupToken(safeTokenId, trigger, entry); + return; + } + if (!String(token.get('_pageid') || token.get('pageid') || '').trim()) { + this.retryAutoSetupToken(safeTokenId, trigger, entry); + return; + } + + const character = R20.getCharacterFromToken(token); + if (!character) { + this.retryAutoSetupToken(safeTokenId, trigger, entry); + return; + } + + if (!TokenService.isCharacterInitialized(character.id)) { + delete cache[safeTokenId]; + return; + } + + TokenService.applyActiveConditionMarkers(token, character.id); + const tokenData = await TokenService.getTokenData(character.id); + if (!tokenData || !tokenData.token || typeof tokenData.token !== 'object' || Array.isArray(tokenData.token)) { + delete cache[safeTokenId]; + return; + } + + const setupResult = await TokenService.setupTokenDisplay(token, character, tokenData); + if (!setupResult.ok) { + delete cache[safeTokenId]; + Logger.error('[Token:auto-setup]', setupResult.message || 'Unable to auto setup token.'); + return; + } + cache[safeTokenId] = { status: 'done', attempts: entry.attempts, trigger }; + Logger.debug('[Token:auto-setup]', String(token.get('name') || character.get('name') || token.get('_id') || safeTokenId || 'Token')); + } catch (error) { + Logger.error('[Token:auto-setup]', error && error.message ? error.message : String(error)); + } + }, + + async onGraphicAdded(token) { + return Events.scheduleAutoSetupToken(token, 'add:graphic'); + }, + + async onGraphicChanged(token) { + return Events.scheduleAutoSetupToken(token, 'change:graphic'); + }, + + async onGraphicBar1ValueChanged(token, prev) { + try { + await TokenService.handleTokenHpBar1Changed(token, prev || {}); + } catch (error) { + Logger.error('[Token:bar1 change]', error && error.message ? error.message : String(error)); + } + }, + + getRollTemplateField(content = '', field = '') { + const safeField = String(field || '').replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const match = String(content || '').match(new RegExp('\\{\\{' + safeField + '=([^}]*)\\}\\}', 'i')); + return match ? String(match[1] || '').trim() : ''; + }, + + getInlineRollTotal(msg = {}, index = 0) { + const rolls = Array.isArray(msg.inlinerolls) ? msg.inlinerolls : []; + const roll = rolls[index] || null; + if (!roll || !roll.results) return null; + if (roll.results.total !== undefined && roll.results.total !== null) return Utils.toInt(roll.results.total, 0); + return null; + }, + + getAdvancedRollHtmlData(content = '') { + const source = String(content || ''); + if (!/ InventoryService.stripHtml(raw).replace(/\s+/g, ' ').trim(); + const readDivByClass = (className = '') => { + const pattern = new RegExp(']*>([\\s\\S]*?)<\\/div>', 'i'); + const match = source.match(pattern); + return match ? htmlText(match[1]) : ''; + }; + const characterName = readDivByClass('meta__character-name'); + const titleMatch = source.match(/]*>([\s\S]*?)<\/div>/i); + const rawTitle = titleMatch ? htmlText(titleMatch[1]) : ''; + if (!rawTitle) return null; + + const textSource = htmlText(source); + const isConcentration = /data-chip="concentration"/i.test(source) || + /\bConcentration\b/i.test(textSource) || + /\bDuration:\s*Concentration\b/i.test(textSource); + const isHealing = /data-rollSubcategory="(?:Healing|Heal)"/i.test(source) || + /\b(healing|heal)\b/i.test(rawTitle) || + /\b(healing|heal)\s+breakdown\b/i.test(textSource); + const isDamage = !isHealing && ( + /header__title[^"]*--damage/i.test(titleMatch[0]) || + /data-rollSubcategory="Damage"/i.test(source) + ); + const attackName = rawTitle.replace(/\s+(Damage|Healing|Heal)\s*$/i, '').trim(); + const resultMatch = source.match(/data-result="([+-]?\d+)"/i); + const firstResult = resultMatch ? Utils.toInt(resultMatch[1], 0) : null; + const damageRolls = []; + const damagePattern = /damage-breakdown__icon[\s\S]*?<\/div>\s*([^<]+?)\s*]*>\s*([+-]?\d+)/gi; + const formulaPattern = /]*>([\s\S]*?)<\/div>\s*]*>[\s\S]*?data-roll(?:name|id)="[^"]*"[^>]*>\s*([+-]?\d+)/gi; + const formulas = []; + let formulaMatch = null; + while ((formulaMatch = formulaPattern.exec(source)) !== null) { + formulas.push({ + formula: htmlText(formulaMatch[1]), + total: Utils.toInt(formulaMatch[2], 0) + }); + } + let damageMatch = null; + while ((damageMatch = damagePattern.exec(source)) !== null) { + const index = damageRolls.length; + const type = isHealing ? 'healing' : (htmlText(damageMatch[1]) || 'normal'); + const total = Utils.toInt(damageMatch[2], 0); + damageRolls.push({ + total, + damageType: type, + formula: (formulas[index] && formulas[index].formula) || 'Roll20', + tooltip: 'Damage captured from Roll20 roll template.' + }); + } + const damageType = damageRolls.length ? damageRolls[0].damageType : 'normal'; + const damageTotal = damageRolls.length + ? damageRolls.reduce((sum, entry) => sum + Math.max(0, Utils.toInt(entry.total, 0)), 0) + : ((isDamage || isHealing) ? firstResult : null); + const formula = damageRolls.length + ? damageRolls.map((entry) => String(entry.formula || 'Roll20')).join(' + ') + : 'Roll20'; + const saveDcMatch = textSource.match(/\bDC\s*([0-9]+)/i) || + textSource.match(/\b(?:difficulty\s+class)\s*([0-9]+)/i); + const saveAbilityMatch = textSource.match(/\b(strength|dexterity|constitution|intelligence|wisdom|charisma|str|dex|con|int|wis|cha)\b\s+(?:saving\s+throw|save)\b/i) || + textSource.match(/\b(?:saving\s+throw|save)\b\s*[:\-]?\s*\b(strength|dexterity|constitution|intelligence|wisdom|charisma|str|dex|con|int|wis|cha)\b/i); + const saveDc = saveDcMatch ? Utils.toInt(saveDcMatch[1], 0) : 0; + const saveAbility = saveAbilityMatch ? saveAbilityMatch[1] : ''; + const halfOnSuccess = /\bOn\s+Successful\s+Save\s*:\s*Half\s+as\s+much\s+damage\b/i.test(textSource) || + /\bhalf\b[\s\S]{0,60}\bdamage\b|\bdamage\b[\s\S]{0,60}\bhalf\b/i.test(textSource); + const halfOnSuccessKnown = saveDc > 0; + + return { + isAdvancedRoll: true, + isDamage, + isHealing, + isAttack: !isDamage && !isHealing, + characterName, + attackName, + attackTotal: isDamage ? null : firstResult, + saveDc, + saveAbility, + halfOnSuccess, + halfOnSuccessKnown, + isConcentration, + damageType, + damageTotal, + formula, + damageRolls + }; + }, + + debugChatMessage(msg = {}) { + const content = String(msg && msg.content || ''); + const who = String(msg && msg.who || ''); + const scriptName = String(CONFIG.CHAT_NAME || '').toLowerCase(); + if (!msg || !content) return; + if (content.indexOf('T&T Chat Probe') !== -1) return; + if (scriptName && who.toLowerCase().indexOf(scriptName) !== -1) return; + if (/^!tnt/i.test(content.trim())) return; + + const rolls = Array.isArray(msg.inlinerolls) + ? msg.inlinerolls.map((roll, index) => { + const total = roll && roll.results && roll.results.total !== undefined + ? roll.results.total + : ''; + return '#' + String(index) + ': ' + String(total); + }).join(' | ') + : ''; + R20.whisper('GM', Html.card({ + title: 'T&T Chat Probe', + body: + '
' + + 'type: ' + Utils.escapeHtml(String(msg.type || '')) + '
' + + 'who: ' + Utils.escapeHtml(who) + '
' + + 'rolltemplate: ' + Utils.escapeHtml(String(msg.rolltemplate || '')) + '
' + + (rolls ? ('inlinerolls: ' + Utils.escapeHtml(rolls) + '
') : '') + + 'content:
' + + '' + Utils.escapeHtml(content) + '' + + '
' + })); + }, + + resolveRollTokenImage(characterName = '') { + const safeName = String(characterName || '').trim(); + if (!safeName) return ''; + const characters = findObjs({ _type: 'character' }) || []; + let character = null; + for (let i = 0; i < characters.length; i += 1) { + const currentName = String(characters[i] && characters[i].get('name') || '').trim(); + if (currentName.toLowerCase() === safeName.toLowerCase()) { + character = characters[i]; + break; + } + } + if (!character || !character.id) return ''; + + const tokens = findObjs({ _type: 'graphic' }) || []; + for (let i = 0; i < tokens.length; i += 1) { + const token = tokens[i]; + if (!token || !Utils.isFunction(token.get)) continue; + if (String(token.get('represents') || '').trim() !== String(character.id || '').trim()) continue; + const imgsrc = String(token.get('imgsrc') || '').trim(); + if (TokenService.isRoll20TokenImageSource(imgsrc)) return imgsrc; + } + + const avatar = String(character.get('avatar') || '').trim(); + return TokenService.isRoll20TokenImageSource(avatar) ? avatar : ''; + }, + + resolveRollTokensByCharacterName(characterName = '') { + const safeName = String(characterName || '').trim(); + if (!safeName) return []; + const characters = findObjs({ _type: 'character' }) || []; + let character = null; + for (let i = 0; i < characters.length; i += 1) { + const currentName = String(characters[i] && characters[i].get('name') || '').trim(); + if (currentName.toLowerCase() === safeName.toLowerCase()) { + character = characters[i]; + break; + } + } + if (!character || !character.id) return []; + return (findObjs({ _type: 'graphic' }) || []).filter((token) => { + return token && + Utils.isFunction(token.get) && + String(token.get('represents') || '').trim() === String(character.id || '').trim(); + }); + }, + + applyConcentrationMarkerFromRoll(characterName = '', spellName = '') { + const tokens = this.resolveRollTokensByCharacterName(characterName); + if (!tokens.length) return false; + tokens.forEach((token) => TokenService.setTokenStatusMarker(token, 'stopwatch', true)); + Logger.debug('Concentration marker applied:', String(characterName || 'Token'), String(spellName || 'Spell')); + return true; + }, + + captureRoll20AttackMessage(msg = {}) { + if (!msg || msg.type === 'api') return; + if (!msg.rolltemplate && String(msg.content || '').indexOf('{{') < 0 && !/ 60000) && !(advancedRoll && advancedRoll.saveDc)) return; + + const result = { + tokenName: (prior && prior.characterName) || characterName || 'Token', + tokenImgsrc: (prior && prior.tokenImgsrc) || this.resolveRollTokenImage(characterName), + attackName: (prior && prior.attackName) || attackName || 'Attack', + attackTotal: Math.max(0, Utils.toInt(prior && prior.attackTotal, 0)), + saveDc: Math.max(0, Utils.toInt((advancedRoll && advancedRoll.saveDc) || (prior && prior.saveDc), 0)), + saveAbility: (advancedRoll && advancedRoll.saveAbility) || (prior && prior.saveAbility) || '', + isSaveAttack: !!((advancedRoll && advancedRoll.saveDc) || (prior && prior.saveDc)), + halfOnSuccess: !!((advancedRoll && advancedRoll.halfOnSuccess) || (prior && prior.halfOnSuccess)), + halfOnSuccessKnown: !!((advancedRoll && advancedRoll.halfOnSuccessKnown) || (prior && prior.halfOnSuccessKnown)), + damageType, + damageTotal: Math.max(0, Utils.toInt(firstTotal, 0)), + damageFormula: (advancedRoll && advancedRoll.formula) || 'Roll20', + damageRolls: (advancedRoll && Array.isArray(advancedRoll.damageRolls) && advancedRoll.damageRolls.length) + ? advancedRoll.damageRolls + : [{ + total: Math.max(0, Utils.toInt(firstTotal, 0)), + formula: (advancedRoll && advancedRoll.formula) || 'Roll20', + damageType, + tooltip: 'Damage captured from Roll20 roll template.' + }] + }; + R20.whisper('GM', Render.showAttackDamagePrompt(result)); + if (prior) delete root.recentRoll20Attacks[key]; + }, + + async onChatMessage(msg) { + if (RuntimeConfig.get('CHAT_MONITORING')) { + //this.debugChatMessage(msg); + this.captureRoll20AttackMessage(msg); + } + if (!msg || msg.type !== 'api') return; + + const command = Registry.getCommand(msg.content); + if (!command) return; + if (!command.enabled) return; + + const parsed = Utils.splitCommand(msg.content); + const who = Utils.asString(msg.who).replace(/\s+\(GM\)$/i, ''); + const playerId = msg.playerid || ''; + const isGM = playerIsGM(playerId); + const selected = Array.isArray(msg.selected) ? msg.selected : []; + + if (command.gmOnly && !isGM) { + Render.sendWhisperMessage(who, 'GM Command', 'Only a GM can use this command.', 'failure'); + return; + } + + if (command.useToken && !selected.length) { + Render.sendWhisperMessage(who, 'No Token Selected', 'Select a token first.', 'warning'); + return; + } + + const ctx = { + msg, + command, + who, + base: parsed.base, + args: parsed.args, + isGM, + playerId, + selected, + state: State.get(), + config: CONFIG, + meta: META + }; + + try { + await command.execute(ctx); + } catch (err) { + Logger.error(err.message || String(err)); + Render.sendWhisperMessage( + who, + 'Error', + Utils.escapeHtml(err.message || String(err)), + 'failure' + ); + } + } + }; + + + /** ----------------------------------------------------------------------- + * @section Bootstrap + * --------------------------------------------------------------------- */ + const Bootstrap = { + registerCommands() { + Registry.registerCommand(new ChatCommand({ + name: 'Help', + description: 'Show all available commands.', + trigger: ['!tntHelp', '!tnt'], + callback: Handlers.help + })); + + Registry.registerCommand(new ChatCommand({ + name: 'DM Menu', + description: 'DM Menu: !tntDM {menu|combat|token|config}.', + trigger: ['!tntDM'], + useToken: false, + enabled: true, + gmOnly: true, + callback: Handlers.dm + })); + + Registry.registerCommand(new ChatCommand({ + name: 'Manage Attribute', + description: 'Get/Set Character\'s Attribute', + trigger: '!tntAttr', + useToken: true, + enabled: true, + gmOnly: true, + callback: Handlers.attributes + })); + + Registry.registerCommand(new ChatCommand({ + name: 'Token', + description: 'Token: !tntToken {init|clear|setup|get|set|deal|dealroll|heal|condition|conditionmenu|effectmenu|combat|spells|refreshattacks|refreshspells|ability|saving|skill|initiative|roll|attackroll}.', + trigger: '!tntToken', + useToken: false, + enabled: true, + gmOnly: false, + callback: Handlers.token + })); + + Registry.registerCommand(new ChatCommand({ + name: 'Inventory', + description: 'Inventory: !tntInventory [get|remove|add|give|use|discard|equip|template|lightoff|prone]. Buy is pending.', + trigger: ['!tntInventory'], + useToken: false, + callback: Handlers.inventory + })); + + Registry.registerCommand(new ChatCommand({ + name: 'Currency', + description: 'Currency: !tntCurrency {give|take|wallet} source target {cp|sp|gp} qty.', + trigger: ['!tntCurrency'], + useToken: false, + callback: Handlers.currency + })); + + Registry.registerCommand(new ChatCommand({ + name: 'Shop', + description: 'Shop: !tntShop {menu|detail|export|list|get|buy|create|delete|add|remove|open|close|hide|blacklist|config|load|reload}.', + trigger: ['!tntShop'], + useToken: false, + callback: Handlers.shop + })); + + Registry.registerCommand(new ChatCommand({ + name: 'Item', + description: 'Item Catalog: !tntItem {list|rawList|search|details|send|create|remove|reload}.', + trigger: ['!tntItem'], + useToken: false, + callback: Handlers.item + })); + }, + + bindEvents() { + on('chat:message', (msg) => Events.onChatMessage(msg)); + on('add:graphic', (obj) => Events.onGraphicAdded(obj)); + on('change:graphic:bar1_value', (obj, prev) => Events.onGraphicBar1ValueChanged(obj, prev)); + //on('change:graphic', (obj, prev) => Events.onGraphicChanged(obj, prev)); + }, + + init() { + const isSandboxDefault = Campaign().sandboxVersion.toLowerCase() !== 'experimental'; + if(isSandboxDefault) { + Render.sendWhisperMessage( + 'GM', + CONFIG.CHAT_NAME.toUpperCase(), + Html.span('API SANDBOX VERSION: DEFAULT
', 'color:rgb(208, 139, 28)') + + '
' + + 'T&T API is not available.
' + + 'Go to Mod Library and set "API Sandbox Version" to Experimental to use this API.', + 'failure' + ); + return; + } + + State.ensure(); + this.registerCommands(); + this.bindEvents(); + Logger.info(META.NAME + ' v:' + META.VERSION + ' ready.'); + + InventoryService.loadItemCatalogFromHandout() + .then((items) => { + Logger.info('Item catalog loaded:', items.length, 'items.'); + return ShopService.loadShopCatalogFromHandout(); + }) + .then((shops) => { + Logger.info('Shop catalog loaded:', shops.length, 'shops.'); + }) + .catch((err) => Logger.error('Catalog load failed:', err.message)); + + InventoryService.loadItemBlueprintsFromHandout() + .then((blueprints) => { + Logger.info('Item blueprints loaded:', blueprints.length, 'blueprints.'); + }) + .catch((err) => Logger.error('Item blueprint load failed:', err.message)); + + R20.send( + Html.card({ + title:CONFIG.CHAT_NAME, + body: + '

Ready to Roll!

' + + '

Created by ' + Utils.escapeHtml(META.DEVELOPER) + '

'+ + '

Version ' + Utils.escapeHtml(META.VERSION) + '

', + buildOptions: { + titleColor:'rgb(188, 138, 32)', + bgOverlayStart: 'rgba(0,0,0,.6)', + bgOverlayEnd: 'rgba(0,0,0,.6)', + bgImageURL: 'https://images.stockcake.com/public/4/9/d/49db6271-adf8-4cbb-93e9-a172c244eb6b_large/mystical-dragon-encounter-stockcake.jpg' + } + }) + ); + } + }; + + on('ready', () => Bootstrap.init()); + + return { + meta: META, + config: CONFIG + }; +})(); diff --git a/T&T - Trinkets and Trackers/script.json b/T&T - Trinkets and Trackers/script.json index 67d88513e4..94d60dcd3c 100644 --- a/T&T - Trinkets and Trackers/script.json +++ b/T&T - Trinkets and Trackers/script.json @@ -1,11 +1,14 @@ { "name": "T&T - Trinkets and Trackers", "script": "TrinketsAndTrackers.js", - "version": "1.2.2", - "previousversions": [], - "description": "# Trinkets and Trackers\n\nTrinkets and Trackers is a Roll20 Mod script for Dungeons and Dragons campaigns. It provides chat-based tools for inventory, item catalogs, shops, currency, and token actions.\n\nFeatures:\n* Chat-based command menus and action cards.\n* Interactive inventory management for player characters and NPCs.\n* Dynamic shops with prices, stock, visibility, purchases, and catalog import or export.\n* Currency transfers using cp, sp, and gp.\n* Item search, item details, item use, discarding, and token-to-token item transfers.\n* Token management with generated token actions. In progress.\n* Auto loot and rewards system. TBD.\n* NPC management. TBD.\n* World management. TBD.\n* Campaign management. TBD.\n\nSetup: use the Experimental API sandbox and create the required handouts named T&T Items Catalog, T&T Items Template, and T&T Shop Catalog.", + "version": "1.3.5", + "previousversions": [ + "1.2.2" + ], + "description": "# Trinkets & Trackers (T&T)\n\n**Author:** [AmadeusVF](https://app.roll20.net/users/15900768/amadeusvf) \n**Version:** 1.3.5 Public Release\n\nTrinkets & Trackers is a Roll20 API script for D&D games that adds chat-based\ntools for inventory, shops, token setup, combat support, conditions, and\ninitiative management. It is designed to reduce manual bookkeeping during play\nand give the DM faster control over common table actions.\n\nFor more information, visit my [patreon](https://www.patreon.com/c/AmadeusVF).\n\n## Main Features\n\n- **Chat-based interactive inventory:** use, equip, discard, and transfer items\n from character to character directly from chat menus.\n- **Dynamic shop system:** manage shops, prices, stock, purchases, inventory\n delivery, currency, and campaign economy from Roll20.\n- **Token management:** initialize tokens and configure vision, bars, size, and\n other token defaults used by the script.\n- **Combat assistance:** challenge attacks against AC, apply damage, and handle\n resistance, vulnerability, immunity, healing, and concentration support.\n- **Concentration tracker:** track active concentration effects and help the DM\n manage them during combat.\n- **Condition applier:** apply common conditions to tokens from script menus.\n- **Advanced Group Initiative:** manage initiative for selected groups more\n efficiently checking for advantage or disadvantage on rolls.\n\n## Requirements\n\nTo use the interactive inventory and shop system, the campaign must include\nthese two handouts:\n\n- `T&T Portable Database`\n- `T&T Blueprints`\n\nThese handouts are used by the script to store and read item, shop, and\nblueprint data. They should exist in the Roll20 campaign before using inventory\nor shop features.\n\n## Basic Use\n\n- `!tntDM menu` opens the DM control console, where the DM can access inventory,\n shop, token, combat, and management tools.\n- `!tntToken Init` initializes selected tokens so they can work with the script,\n including token setup, bars, vision, size, and saved token data.\n\nOnce the required handouts are present and tokens have been initialized, the DM\nand players can use the chat menus to manage items, shops, combat actions,\nconditions, healing, concentration, and initiative directly in Roll20.", "authors": "AmadeusVF", "roll20userid": "15900768", + "patreon": "https://www.patreon.com/c/AmadeusVF", "useroptions": [], "dependencies": [], "modifies": {