Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account
This post has been closed. You can still view previous posts, but you can't post any new replies.

5e Shaped Companion v6+

Kryx said: Not updating would cut yourself off from future updates of both the script and sheet which is likely not what you want. The script has lost no functionality. If you've acquired data from somewhere then just acquire it again. You'll only need to update your format if you've created custom data. If that's the case here are some samples that are available in the SRD data included with the script: { "name": "Fireball", "level": 3, "school": "Evocation", "castingTime": "1 action", "range": "150 feet", "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a tiny ball of bat guano and sulfur"}, "duration": "Instantaneous", "description": "A bright streak flashes from your pointing finger to a point you choose within range and then blossoms with a low roar into an explosion of flame. Each creature in a 20-foot-radius sphere centered on that point must make a Dexterity saving throw. A target takes 8d6 fire damage on a failed save, or half as much damage on a successful one.\nThe fire spreads around corners. It ignites flammable objects in the area that aren't being worn or carried.", "higherLevel": "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 3rd.", "emote": "evokes a bright streak that flashes from {{GENDER_PRONOUN_HIS_HER}} pointing finger to a point and then blossoms with a low roar into an explosion of flame", "save": {"ability": "Dexterity", "damage": "8d6", "damageType": "fire", "saveSuccess": "half damage", "higherLevelDice": 1} }, { "name": "Fire Bolt", "level": 0, "school": "Evocation", "castingTime": "1 action", "range": "120 feet", "components": {"verbal": true, "somatic": true}, "duration": "Instantaneous", "description": "You hurl a mote of fire at a creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 fire damage. A flammable object hit by this spell ignites if it isn't being worn or carried.", "higherLevel": "This spell's damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10).", "emote": "hurls a mote of fire at a creature or object", "attack": {"type": "ranged", "damage": "[[ceil((@{level} + 2) / 6)]]d10", "damageType": "fire"} }, { "name": "Fire Shield", "level": 4, "school": "Evocation", "castingTime": "1 action", "range": "Self", "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a little phosphorus or a firefly"}, "duration": "10 minutes", "description": "Thin and vaporous flame surround your body for the duration of the spell, radiating a bright light bright light in a 10-foot radius and dim light for an additional 10 feet. You can end the spell using an action to make it disappear.\nThe flames are around you a heat shield or cold, your choice. The heat shield gives you cold damage resistance and the cold resistance to fire damage.\nIn addition, whenever a creature within 5 feet of you hits you with a melee attack, flames spring from the shield. The attacker then suffers 2d8 points of fire damage or cold, depending on the model.", "emote": "evokes thin and vaporous flames that surround {{GENDER_PRONOUN_HIS_HER}} body, radiating a bright light bright light in a 10 foot radius and dim light for an additional 10 feet" }, { "name": "Healing Word", "level": 1, "school": "Evocation", "castingTime": "1 bonus action", "range": "60 feet", "components": {"verbal": true}, "duration": "Instantaneous", "description": "A creature of your choice that you can see within range regains hit points equal to 1d4 + your spellcasting ability modifier. This spell has no effect on undead or constructs.", "higherLevel": "When you cast this spell using a spell slot of 2nd level or higher, the healing increases by 1d4 for each slot level above 1st.", "emote": "heals an ally's wounds", "heal": {"heal": "1d4", "castingStat": true, "higherLevelDice": 1} }, { "name": "Heat Metal", "level": 2, "school": "Transmutation", "castingTime": "1 action", "range": "60 feet", "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a piece of iron and a flame"}, "duration": "up to 1 minute", "description": "Choose a manufactured metal object, such as a metal weapon or a suit of heavy or medium metal armor, that you can see within range. You cause the object to glow red-hot. Any creature in physical contact with the object takes 2d8 fire damage when you cast the spell. Until the spell ends, you can use a bonus action on each of your subsequent turns to cause this damage again.\nIf a creature is holding or wearing the object and takes the damage from it, the creature must succeed on a Constitution saving throw or drop the object if it can. If it doesn't drop the object, it has disadvantage on attack rolls and ability checks until the start of your next turn.", "higherLevel": "When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d8 for each slot level above 2nd.", "emote": "causes an object to glow red-hot", "save": {"ability": "Constitution"}, "damage": {"damage": "2d8", "damageType": "fire", "higherLevelDice": 1}, "concentration": true }, { "name": "Hunter's Mark", "level": 1, "school": "Divination", "castingTime": "1 bonus action", "range": "90 feet", "components": {"verbal": true}, "duration": "up to 1 hour", "description": "You choose a creature you can see within range and mystically mark it as your quarry. Until the spell ends, you deal an extra 1d6 damage to the target whenever you hit it with a weapon attack, and you have advantage on any Wisdom (Perception) or Wisdom (Survival) check you make to find it. If the target drops to 0 hit points before this spell ends, you can use a bonus action on a subsequent turn of yours to mark a new creature.", "higherLevel": "When you cast this spell using a spell slot of 3rd or 4th level, you can maintain your concentration on the spell for up to 8 hours. When you use a spell slot of 5th level or higher, you can maintain your concentration on the spell for up to 24 hours.", "emote": "mystically marks a target as {{GENDER_PRONOUN_HIS_HER}} quarry", "damage": {"damage": "1d6"}, "concentration": true } Kryx,  I have this format - a ton of work yesterday - but if I just add it as another script in this manner, it never gets 'seen'. My format matches exactly, but the spells don't get listed and there's no mention of the script I added anywhere - is there a specific line of code or command to point the stuff at my data script?
Kryx said: Not updating would cut yourself off from future updates of both the script and sheet which is likely not what you want. The script has lost no functionality. If you've acquired data from somewhere then just acquire it again. You'll only need to update your format if you've created custom data. If that's the case here are some samples that are available in the SRD data included with the script: *SNIP* Sadly the site I obtained the original data from isn't in this format and still in the old format. However, with the examples you posted I'm sure I could work on building something with all the non-SRD spells. Thanks.
Welp, just saw Drew's post so... Idk? Maybe I'll wait until Lucian can come back or something. I just haven't had much free time to test as of late.
1495492919
The Aaron
Pro
API Scripter
Drew T. said: Kryx,  I have this format - a ton of work yesterday - but if I just add it as another script in this manner, it never gets 'seen'. My format matches exactly, but the spells don't get listed and there's no mention of the script I added anywhere - is there a specific line of code or command to point the stuff at my data script? Something like: on('ready',function(){     ShapedScripts.addEntities({         "name": "Drew's Spells",         "dependencies": [],         "version": "1.0.0",         "spells": [{             "name": "Fireball",             "level": 3,             "school": "Evocation",             "castingTime": "1 action",             "range": "150 feet",             "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a tiny ball of bat guano and sulfur"},             "duration": "Instantaneous",             "description": "A bright streak flashes from your pointing finger to a point you choose within range and then blossoms with a low roar into an explosion of flame. Each creature in a 20-foot-radius sphere centered on that point must make a Dexterity saving throw. A target takes 8d6 fire damage on a failed save, or half as much damage on a successful one.\nThe fire spreads around corners. It ignites flammable objects in the area that aren't being worn or carried.",             "higherLevel": "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 3rd.",             "emote": "evokes a bright streak that flashes from {{GENDER_PRONOUN_HIS_HER}} pointing finger to a point and then blossoms with a low roar into an explosion of flame",             "save": {"ability": "Dexterity", "damage": "8d6", "damageType": "fire", "saveSuccess": "half damage", "higherLevelDice": 1}         },         {             "name": "Fire Bolt",             "level": 0,             "school": "Evocation",             "castingTime": "1 action",             "range": "120 feet",             "components": {"verbal": true, "somatic": true},             "duration": "Instantaneous",             "description": "You hurl a mote of fire at a creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 fire damage. A flammable object hit by this spell ignites if it isn't being worn or carried.",             "higherLevel": "This spell's damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10).",             "emote": "hurls a mote of fire at a creature or object",             "attack": {"type": "ranged", "damage": "[[ceil((@{level} + 2) / 6)]]d10", "damageType": "fire"}         }]     }); });
1495493860

Edited 1495493887
OK, so fiddling around with it I typed this into my fifthSpells.js file and got it to work: on('ready',function(){ ShapedScripts.addEntities({ "name": "Spells", "dependencies": ["PlayersHandbook"], "version": "2.0.0", "spells": [{
Aaron, that works. Thank you - its not clear about the additional coding in the documentation.  I might be the only one - but I suspect not, that others just haven't used the function because they don't have a formatted script to use.  The documentation I can find gives you the JSON format for the spell, no problem - so I used it - but it doesn't give the coding around it for 'on ready function, add entities, dependencies, version' which is required. (I know, I know, that's babysitting. But I just don't speak js .. router and switches and firewalls yes, but actual programmatic stuff, not so much). Thanks, that's super helpful for me!
1495573400
Kryx
Pro
Sheet Author
API Scripter
The documentation is somewhat purposefully limited so that Lucian and I don't distribute copyright content. The other part of it is we are lazy and haven't created proper documentation for the parts that are accessible. Largely it is expected that you'll use SRD content and anything beyond that is up to you to make or acquire.
1495573932

Edited 1495573984
Kryx
Pro
Sheet Author
API Scripter
Aaron's code is close, but the version should be 2.0.0. Here is a more complete example (left out most of the SRD content, but included some examples). The code is minified so I'd suggest tabbing the arrays and objects for readability if you're going to edit them. on('ready', function () {   ShapedScripts.addEntities({     "name": "SRD",     "version": "2.0.0",     "classes": [{       "name": "Bard",       "spells": ["Dancing Lights", "Light", "Mage Hand", "Mending", "Message", "Minor Illusion", "Prestidigitation", "True Strike", "Vicious Mockery", "Animal Friendship", "Bane", "Charm Person", "Comprehend Languages", "Cure Wounds", "Detect Magic", "Disguise Self", "Faerie Fire", "Feather Fall", "Healing Word", "Heroism", "Hideous Laughter", "Identify", "Illusory Script", "Longstrider", "Silent Image", "Sleep", "Speak with Animals", "Thunderwave", "Unseen Servant", "Animal Messenger", "Blindness/Deafness", "Calm Emotions", "Detect Thoughts", "Enhance Ability", "Enthrall", "Heat Metal", "Hold Person", "Invisibility", "Knock", "Lesser Restoration", "Locate Animals or Plants", "Locate Object", "Magic Mouth", "See Invisibility", "Shatter", "Silence", "Suggestion", "Zone of Truth", "Bestow Curse", "Clairvoyance", "Dispel Magic", "Fear", "Glyph of Warding", "Hypnotic Pattern", "Major Image", "Nondetection", "Plant Growth", "Sending", "Speak with Dead", "Speak with Plants", "Stinking Cloud", "Tongues", "Compulsion", "Confusion", "Dimension Door", "Freedom of Movement", "Greater Invisibility", "Hallucinatory Terrain", "Locate Creature", "Polymorph", "Animate Objects", "Awaken", "Dominate Person", "Dream", "Geas", "Greater Restoration", "Hold Monster", "Legend Lore", "Mass Cure Wounds", "Mislead", "Modify Memory", "Planar Binding", "Raise Dead", "Scrying", "Seeming", "Teleportation Circle", "Eyebite", "Find the Path", "Guards and Wards", "Irresistible Dance", "Mass Suggestion", "Programmed Illusion", "True Seeing", "Etherealness", "Magnificent Mansion", "Arcane Sword", "Forcecage", "Mirage Arcane", "Project Image", "Regenerate", "Resurrection", "Symbol", "Teleport", "Dominate Monster", "Feeblemind", "Glibness", "Mind Blank", "Power Word Stun", "Foresight", "Power Word Kill", "True Polymorph"]     }, {       "name": "Cleric",       "archetypes": [{"name": "Life", "spells": ["Bless", "Cure Wounds", "Lesser Restoration", "Spiritual Weapon", "Beacon of Hope", "Revivify", "Death Ward", "Guardian of Faith", "Mass Cure Wounds", "Raise Dead"]}],       "spells": ["Guidance", "Light", "Mending", "Resistance", "Sacred Flame", "Spare the Dying", "Thaumaturgy", "Bane", "Bless", "Command", "Create or Destroy Water", "Cure Wounds", "Detect Evil and Good", "Detect Magic", "Detect Poison and Disease", "Guiding Bolt", "Healing Word", "Inflict Wounds", "Protection from Evil and Good", "Purify Food and Drink", "Sanctuary", "Shield of Faith", "Acid Arrow", "Aid", "Augury", "Blindness/Deafness", "Calm Emotions", "Continual Flame", "Enhance Ability", "Find Traps", "Gentle Repose", "Hold Person", "Lesser Restoration", "Locate Object", "Prayer of Healing", "Protection from Poison", "Silence", "Spiritual Weapon", "Warding Bond", "Zone of Truth", "Animate Dead", "Beacon of Hope", "Bestow Curse", "Clairvoyance", "Create Food and Water", "Daylight", "Dispel Magic", "Glyph of Warding", "Magic Circle", "Mass Healing Word", "Meld into Stone", "Protection from Energy", "Remove Curse", "Revivify", "Sending", "Speak with Dead", "Spirit Guardians", "Tiny Hut", "Tongues", "Water Walk", "Banishment", "Control Water", "Death Ward", "Divination", "Faithful Hound", "Freedom of Movement", "Guardian of Faith", "Locate Creature", "Stone Shape", "Commune", "Contagion", "Dispel Evil and Good", "Flame Strike", "Geas", "Greater Restoration", "Hallow", "Insect Plague", "Legend Lore", "Mass Cure Wounds", "Planar Binding", "Raise Dead", "Scrying", "Secret Chest", "Blade Barrier", "Create Undead", "Find the Path", "Forbiddance", "Harm", "Heal", "Heroes' Feast", "Planar Ally", "True Seeing", "Word of Recall", "Conjure Celestial", "Divine Word", "Etherealness", "Fire Storm", "Magnificent Mansion", "Plane Shift", "Regenerate", "Resurrection", "Symbol", "Antimagic Field", "Control Weather", "Earthquake", "Holy Aura", "Astral Projection", "Gate", "Mass Heal", "True Resurrection"]     }],     "monsters": [{       "name": "Aboleth",       "size": "Large",       "type": "Aberration",       "alignment": "lawful evil",       "AC": "17 (natural armor)",       "HP": "135 (18d10 + 36)",       "speed": "10 ft., swim 40 ft.",       "strength": 21,       "dexterity": 9,       "constitution": 15,       "intelligence": 18,       "wisdom": 15,       "charisma": 18,       "savingThrows": "Con +6, Int +8, Wis +6",       "skills": "History +12, Perception +10",       "senses": "darkvision 120 ft.",       "languages": "Deep Speech, telepathy 120 ft.",       "challenge": "10",       "traits": [{"name": "Amphibious", "text": "The aboleth can breathe air and water"}, {"name": "Mucous Cloud", "text": "While underwater, the aboleth is surrounded by transformative mucus. A creature that touches the aboleth or that hits it with a melee attack while within 5 ft. of it must make a DC 14 Constitution saving throw. On a failure, the creature is diseased for 1d4 hours. The diseased creature can breathe only underwater."}, {         "name": "Probing Telepathy",         "text": "If a creature communicates telepathically with the aboleth, the aboleth learns the creature's greatest desires if the aboleth can see the creature."       }],       "actions": [{"name": "Multiattack", "text": "The aboleth makes three tentacle attacks."}, {         "name": "Tentacle",         "text": "Melee Weapon Attack: +9 to hit, reach 10 ft., one target. Hit: 12 (2d6 + 5) bludgeoning damage. If the target is a creature, it must succeed on a DC 14 Constitution saving throw or become diseased. The disease has no effect for 1 minute and can be removed by any magic that cures disease. After 1 minute, the diseased creature's skin becomes translucent and slimy, the creature can't regain hit points unless it is underwater, and the disease can be removed only by heal or another disease-curing spell of 6th level or higher. When the creature is outside a body of water, it takes 6 (1d12) acid damage every 10 minutes unless moisture is applied to the skin before 10 minutes have passed."       }, {"name": "Tail", "text": "Melee Weapon Attack: +9 to hit, reach 10 ft. one target. Hit: 15 (3d6 + 5) bludgeoning damage."}, {         "name": "Enslave",         "text": "The aboleth targets one creature it can see within 30 ft. of it. The target must succeed on a DC 14 Wisdom saving throw or be magically charmed by the aboleth until the aboleth dies or until it is on a different plane of existence from the target. The charmed target is under the aboleth's control and can't take reactions, and the aboleth and the target can communicate telepathically with each other over any distance.\nWhenever the charmed target takes damage, the target can repeat the saving throw. On a success, the effect ends. No more than once every 24 hours, the target can also repeat the saving throw when it is at least 1 mile away from the aboleth.",         "recharge": "3/Day"       }],       "legendaryPoints": 3,       "legendaryActions": [{"name": "Detect", "text": "The aboleth makes a Wisdom (Perception) check.", "cost": 1}, {"name": "Tail Swipe", "text": "The aboleth makes one tail attack.", "cost": 1}, {"name": "Psychic Drain", "text": "One creature charmed by the aboleth takes 10 (3d6) psychic damage, and the aboleth regains hit points equal to the damage the creature takes.", "cost": 2}]     }, {       "name": "Acolyte",       "size": "Medium",       "type": "Humanoid (any race)",       "alignment": "any alignment",       "AC": "10",       "HP": "9 (2d8)",       "speed": "30 ft.",       "strength": 10,       "dexterity": 10,       "constitution": 10,       "intelligence": 10,       "wisdom": 14,       "charisma": 11,       "skills": "Medicine +4, Religion +2",       "languages": "any one language (usually Common)",       "challenge": "1/4",       "traits": [{"name": "Spellcasting", "text": "The acolyte is a 1st-level spellcaster. Its spellcasting ability is Wisdom (spell save DC 12, +4 to hit with spell attacks). The acolyte has following cleric spells prepared:\nCantrips (at will): light, sacred flame, thaumaturgy\n1st level (3 slots): bless, cure wounds, sanctuary"}],       "actions": [{"name": "Club", "text": "Melee Weapon Attack: +2 to hit, reach 5 ft., one target. Hit: 2 (1d4) bludgeoning damage."}]     }, {       "name": "Adult Black Dragon",       "size": "Huge",       "type": "Dragon",       "alignment": "chaotic evil",       "AC": "19 (natural armor)",       "HP": "195 (17d12 + 85)",       "speed": "40 ft., fly 80 ft., swim 40 ft.",       "strength": 23,       "dexterity": 14,       "constitution": 21,       "intelligence": 14,       "wisdom": 13,       "charisma": 17,       "savingThrows": "Dex +7, Con +10, Wis +6, Cha +8",       "skills": "Perception +11, Stealth +7",       "damageImmunities": "acid",       "senses": "blindsight 60 ft., darkvision 120 ft.",       "languages": "Common, Draconic",       "challenge": "14",       "traits": [{"name": "Amphibious", "text": "The dragon can breathe air and water."}, {"name": "Legendary Resistance", "text": "If the dragon fails a saving throw, it can choose to succeed instead.", "recharge": "3/Day"}],       "actions": [{"name": "Multiattack", "text": "The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws."}, {"name": "Bite", "text": "Melee Weapon Attack: +11 to hit, reach 10 ft., one target. Hit: 17 (2d10 + 6) piercing damage plus 4 (1d8) acid damage."}, {"name": "Claw", "text": "Melee Weapon Attack: +11 to hit, reach 5 ft., one target. Hit: 13 (2d6 + 6) slashing damage."}, {         "name": "Tail",         "text": "Melee Weapon Attack: +11 to hit, reach 15 ft., one target. Hit: 15 (2d8 + 6) bludgeoning damage."       }, {         "name": "Frightful Presence",         "text": "Each creature of the dragon's choice that is within 120 feet of the dragon and aware of it must succeed on a DC 16 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. If a creature's saving throw is successful or the effect ends for it, the creature is immune to the dragon's Frightful Presence for the next 24 hours."       }, {"name": "Acid Breath", "text": "The dragon exhales acid in a 60-foot line that is 5 feet wide. Each creature in that line must make a DC 18 Dexterity saving throw, taking 54 (12d8) acid damage on a failed save, or half as much damage on a successful one.", "recharge": "Recharge 5-6"}],       "legendaryPoints": 3,       "legendaryActions": [{"name": "Detect", "text": "The dragon makes a Wisdom (Perception) check.", "cost": 1}, {"name": "Tail Attack", "text": "The dragon makes a tail attack.", "cost": 1}, {"name": "Wing Attack", "text": "The dragon beats its wings. Each creature within 10 ft. of the dragon must succeed on a DC 19 Dexterity saving throw or take 13 (2d6 + 6) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed.", "cost": 2}]     }],     "spells": [{       "name": "Acid Arrow",       "level": 2,       "school": "Evocation",       "castingTime": "1 action",       "range": "90 feet",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "powdered rhubarb leaf and an adder's stomach"},       "duration": "Instantaneous",       "description": "A shimmering green arrow streaks toward a target within range and bursts in a spray of acid. Make a ranged spell attack against the target. On a hit, the target takes 4d4 acid damage immediately and 2d4 acid damage at the end of its next turn. On a miss, the arrow splashes the target with acid for half as much of the initial damage and no damage at the end of its next turn.",       "higherLevel": "When you cast this spell using a spell slot of 3rd level or higher, the damage (both initial and later) increases by 1d4 for each slot level above 2nd.",       "emote": "evokes a shimmering green arrow streaks toward a target and bursts in a spray of acid",       "attack": {"type": "ranged", "damage": "4d4", "damageType": "acid", "secondaryDamage": "2d4", "secondaryDamageType": "acid", "higherLevelDice": 1, "higherLevelSecondaryDice": 1}     }, {       "name": "Acid Splash",       "level": 0,       "school": "Conjuration",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "You hurl a bubble of acid. Choose one creature within range, or choose two creatures within range that are within 5 feet of each other. A target must succeed on a Dexterity saving throw or take 1d6 acid damage.",       "higherLevel": "This spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).",       "emote": "hurls a bubble of acid",       "save": {"ability": "Dexterity", "damage": "[[ceil((@{level} + 2) / 6)]]d6", "damageType": "acid"}     }, {       "name": "Aid",       "level": 2,       "school": "Abjuration",       "castingTime": "1 action",       "range": "30 feet",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a tiny strip of white cloth"},       "duration": "8 hours",       "description": "Your spell bolsters your allies with toughness and resolve. Choose up to three creatures within range. Each target's hit point maximum and current hit points increase by 5 for the duration.",       "higherLevel": "When you cast this spell using a spell slot of 3rd level or higher, a target's hit points increase by an additional 5 for each slot level above 2nd.",       "emote": "bolsters {{GENDER_PRONOUN_HE_SHE}} allies with toughness and resolve"     }, {       "name": "Cure Wounds",       "level": 1,       "school": "Evocation",       "castingTime": "1 action",       "range": "Touch",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "A creature you touch regains a number of hit points equal to 1d8 + your spellcasting ability modifier. This spell has no effect on undead or constructs.",       "higherLevel": "When you cast this spell using a spell slot of 2nd level or higher, the healing increases by 1d8 for each slot level above 1st.",       "emote": "cures a creature's wounds",       "heal": {"heal": "1d8", "castingStat": true, "higherLevelDice": 1}     }, {       "name": "Fireball",       "level": 3,       "school": "Evocation",       "castingTime": "1 action",       "range": "150 feet",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a tiny ball of bat guano and sulfur"},       "duration": "Instantaneous",       "description": "A bright streak flashes from your pointing finger to a point you choose within range and then blossoms with a low roar into an explosion of flame. Each creature in a 20-foot-radius sphere centered on that point must make a Dexterity saving throw. A target takes 8d6 fire damage on a failed save, or half as much damage on a successful one.\nThe fire spreads around corners. It ignites flammable objects in the area that aren't being worn or carried.",       "higherLevel": "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d6 for each slot level above 3rd.",       "emote": "evokes a bright streak that flashes from {{GENDER_PRONOUN_HIS_HER}} pointing finger to a point and then blossoms with a low roar into an explosion of flame",       "save": {"ability": "Dexterity", "damage": "8d6", "damageType": "fire", "saveSuccess": "half damage", "higherLevelDice": 1}     }, {       "name": "Fire Bolt",       "level": 0,       "school": "Evocation",       "castingTime": "1 action",       "range": "120 feet",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "You hurl a mote of fire at a creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 fire damage. A flammable object hit by this spell ignites if it isn't being worn or carried.",       "higherLevel": "This spell's damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10).",       "emote": "hurls a mote of fire at a creature or object",       "attack": {"type": "ranged", "damage": "[[ceil((@{level} + 2) / 6)]]d10", "damageType": "fire"}     }, {       "name": "Fire Shield",       "level": 4,       "school": "Evocation",       "castingTime": "1 action",       "range": "Self",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a little phosphorus or a firefly"},       "duration": "10 minutes",       "description": "Thin and vaporous flame surround your body for the duration of the spell, radiating a bright light bright light in a 10-foot radius and dim light for an additional 10 feet. You can end the spell using an action to make it disappear.\nThe flames are around you a heat shield or cold, your choice. The heat shield gives you cold damage resistance and the cold resistance to fire damage.\nIn addition, whenever a creature within 5 feet of you hits you with a melee attack, flames spring from the shield. The attacker then suffers 2d8 points of fire damage or cold, depending on the model.",       "emote": "evokes thin and vaporous flames that surround {{GENDER_PRONOUN_HIS_HER}} body, radiating a bright light bright light in a 10 foot radius and dim light for an additional 10 feet"     }, {       "name": "Fire Storm",       "level": 7,       "school": "Evocation",       "castingTime": "1 action",       "range": "150 feet",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "A storm made up of sheets of roaring flame appears in a location you choose within range. The area of the storm consists of up to ten 10-foot cubes, which you can arrange as you wish. Each cube must have at least one face adjacent to the face of another cube. Each creature in the area must make a Dexterity saving throw. It takes 7d10 fire damage on a failed save, or half as much damage on a successful one.\nThe fire damages objects in the area and ignites flammable objects that aren't being worn or carried. If you choose, plant life in the area is unaffected by this spell.",       "emote": "evokes a storm made up of sheets of roaring flame",       "save": {"ability": "Dexterity", "damage": "7d10", "damageType": "fire", "saveSuccess": "half damage"}     }, {       "name": "Healing Word",       "level": 1,       "school": "Evocation",       "castingTime": "1 bonus action",       "range": "60 feet",       "components": {"verbal": true},       "duration": "Instantaneous",       "description": "A creature of your choice that you can see within range regains hit points equal to 1d4 + your spellcasting ability modifier. This spell has no effect on undead or constructs.",       "higherLevel": "When you cast this spell using a spell slot of 2nd level or higher, the healing increases by 1d4 for each slot level above 1st.",       "emote": "heals an ally's wounds",       "heal": {"heal": "1d4", "castingStat": true, "higherLevelDice": 1}     }]   });   ShapedScripts.addEntities({     "name": "UAArtificer",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{       "name": "Artificer",       "spells": ["Alarm", "Cure Wounds", "Disguise Self", "Expeditious Retreat", "False Life", "Jump", "Longstrider", "Sanctuary", "Shield of Faith", "Aid", "Alter Self", "Arcane Lock", "Blur", "Continual Flame", "Darkvision", "Enhance Ability", "Enlarge/Reduce", "Invisibility", "Lesser Restoration", "Levitate", "Magic Weapon", "Protection from Poison", "Rope Trick", "See Invisibility", "Spider Climb", "Blink", "Fly", "Gaseous Form", "Glyph of Warding", "Haste", "Protection from Energy", "Revivify", "Water Breathing", "Water Walk", "Arcane Eye", "Death Ward", "Fabricate", "Freedom of Movement", "Leomund's Secret Chest", "Mordenkainen's Faithful Hound", "Mordenkainen's Private Sanctum", "Otiluke's Resilient Sphere", "Stone Shape", "Stoneskin"]     }]   });   ShapedScripts.addEntities({     "name": "UACleric",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{       "name": "Cleric",       "archetypes": [{"Forge": ["Searing Smite", "Shield", "Heat Metal", "Magic Weapon", "Elemental Weapon", "Protection from Energy", "Fabricate", "Wall of Fire", "Animate Objects", "Creation"], "name": "spells"}, {"name": "Grave", "spells": ["Bane", "False Life", "Gentle Repose", "Ray of Enfeeblement", "Revivify", "Vampiric Touch", "Blight", "Death Ward", "Antilife Shell", "Raise Dead"]}, {         "name": "Protection",         "spells": ["Compelled Duel", "Protection from Evil and Good", "Aid", "Protection from Poison", "Protection from Energy", "Slow", "Guardian of Faith", "Otiluke's Resilient Sphere", "Antilife Shell", "Wall of Force"]       }]     }]   });   ShapedScripts.addEntities({"name": "UALightDarkUnderdark", "dependencies": ["SRD"], "version": "2.0.0", "classes": [{"name": "Warlock", "archetypes": [{"name": "Undying Light", "spells": ["Burning Hands", "Flaming Sphere", "Daylight", "Fire Shield", "Flame Strike"]}]}]});   ShapedScripts.addEntities({     "name": "UAModernMagic",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{"name": "Cleric", "archetypes": [{"name": "City", "spells": ["Comprehend Languages", "Remote Access", "Find Vehicle", "Heat Metal", "Lightning Bolt", "Protection from Ballistics", "Locate Creature", "Synchronicity", "Commune with City", "Shutdown"]}]}, {       "name": "Sorcerer",       "spells": ["On/Off", "Infallible Relay", "Remote Access", "Arcane Hacking", "Digital Phantom", "Find Vehicle", "Haywire", "Invisibility to Cameras", "Protection from Ballistics", "Conjure Knowbot", "Synchronicity", "System Backdoor", "Commune with City", "Shutdown"]     }, {       "name": "Warlock",       "archetypes": [{"name": "Ghost in the Machine", "spells": ["Infallible Relay", "Remote Access", "Arcane Hacking", "Digital Phantom", "Haywire", "Invisibility to Cameras", "Conjure Knowbot", "System Backdoor", "Shutdown", "Synchronicity"]}],       "spells": ["On/Off", "Infallible Relay", "Remote Access", "Arcane Hacking", "Digital Phantom", "Find Vehicle", "Haywire", "Invisibility to Cameras", "Protection from Ballistics", "Conjure Knowbot", "Synchronicity", "System Backdoor", "Commune with City", "Shutdown"]     }, {"name": "Wizard", "spells": ["On/Off", "Infallible Relay", "Remote Access", "Arcane Hacking", "Digital Phantom", "Find Vehicle", "Haywire", "Invisibility to Cameras", "Protection from Ballistics", "Conjure Knowbot", "Synchronicity", "System Backdoor", "Commune with City", "Shutdown"]}],     "spells": []   });   ShapedScripts.addEntities({     "name": "UAOldBlackMagic",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{"name": "Sorcerer", "spells": ["Conjure Barlgura", "Conjure Hezrou", "Conjure Lesser Demon", "Conjure Shadow Demon", "Conjure Vrock"]}, {"name": "Wizard", "spells": ["Conjure Barlgura", "Conjure Hezrou", "Conjure Lesser Demon", "Conjure Shadow Demon", "Conjure Vrock"]}],     "spells": [{       "name": "Conjure Barlgura",       "level": 4,       "school": "Conjuration",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true},       "duration": "up to 10 minutes",       "description": "You summon a barlgura that appears in an unoccupied space you can see within range. The barlgura disappears when it drops to 0 hit points or when the spell ends.\nThe barlgura is hostile to all non-demons. Roll initiative for the barlgura, which has its own turns. At the start of its turn, it moves toward and attacks the nearest non-demon it can perceive. If two or more creatures are equally near, it picks one at random. If it cannot see any potential enemies, the barlgura moves in a random direction in search of foes.\nAs part of casting the spell, you can scribe a circle on the ground using the blood of an intelligent humanoid slain within the past 24 hours. The circle is large enough to encompass your space. The summoned barlgura cannot cross the circle or target anyone in it while the spell lasts.",       "emote": "summons a Barlgura",       "concentration": true     }, {       "name": "Conjure Hezrou",       "level": 7,       "school": "Conjuration",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "food worth at least 100 gp, which the spell consumes"},       "duration": "up to 1 hour",       "description": "You summon a hezrou that appears in an unoccupied space you can see within range. The hezrou disappears when it drops to 0 hit points or when the spell ends.\nThe hezrou's attitude depends on the value of the food used as a material component for this spell. Roll initiative for the hezrou, which has its own turns. At the start of the hezrou's turn, the DM makes a secret Charisma check on your behalf, with a bonus equal to the food's value divided by 20. The check DC starts at 10 and increases by 2 each round. You can issue orders to the hezrou and have it obey you as long as you succeed on the Charisma check.\nIf the check fails, the spell no longer requires concentration and the demon is no longer under your control. The hezrou then focuses on devouring any corpses it can see. If there are no such meals at hand, it attacks the nearest creatures and eats anything it kills. If its hit points are reduced to below half its hit point maximum, it returns to the Abyss.\nAs part of casting the spell, you can scribe a circle on the ground using the blood of an intelligent humanoid slain within the past 24 hours. The circle is large enough to encompass your space. The summoned hezrou cannot cross the circle or target anyone in it while the spell lasts.",       "emote": "summons a Hezrou",       "concentration": true     }, {       "name": "Conjure Lesser Demon",       "level": 3,       "school": "Conjuration",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a vial of blood from an intelligent humanoid killed within the past 24 hours"},       "duration": "up to 1 hour",       "description": "You summon up to a total of eight manes or dretches that appear in unoccupied spaces you can see within range. A manes or dretch disappears when it drops to 0 hit points or when the spell ends.\nThe demons are hostile to all creatures. Roll initiative for the summoned demons as a group, which has its own turns. The demons attack the nearest non-demons to the best of their ability.\nAs part of casting the spell, you can scribe a circle on the ground with the blood used as a material component. The circle is large enough to encompass your space. The summoned demons cannot cross the circle or target anyone in it while the spell lasts. Using the material component in this manner consumes it.",       "higherLevel": "When you cast this spell using a spell slot of 6th or 7th level, you summon sixteen demons. If you cast it using a spell slot of 8th or 9th level, you summon thirty-two demons",       "emote": "summons demons",       "concentration": true     }, {       "name": "Conjure Shadow Demon",       "level": 4,       "school": "Conjuration",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true, "material": true},       "duration": "up to 1 hour",       "description": "You summon a shadow demon that appears in an unoccupied space you can see within range. The shadow demon disappears when it drops to 0 hit points or when the spell ends.\nRoll initiative for the shadow demon, which has its own turns. You can issue orders to the shadow demon, and it obeys you as long as it can attack a creature on each of its turns and does not start its turn in an area of bright light. If either of these conditions is not met, the shadow demon immediately makes a Charisma check contested by your Charisma check. If you fail the check, the spell no longer requires concentration and the demon is no longer under your control. The demon automatically succeeds on the check if it is more than 100 feet away from you.\nAs part of casting the spell, you can scribe a circle on the ground using the blood of an intelligent humanoid slain within the past 24 hours. The circle is large enough to encompass your space. The summoned shadow demon cannot cross the circle or target anyone in it while the spell lasts.",       "emote": "summons a shadow demon",       "concentration": true     }, {       "name": "Conjure Vrock",       "level": 5,       "school": "Conjuration",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true, "material": true},       "duration": "up to 1 hour",       "description": "You summon a vrock that appears in an unoccupied space you can see within range. The vrock disappears when it drops to 0 hit points or when the spell ends.\nThe vrock's attitude depends on the value of the gem used as a material component for this spell. Roll initiative for the vrock, which has its own turns. At the start of the vrock's turn, the DM makes a secret Charisma check on your behalf, with a bonus equal to the gem's value divided by 20. The check DC starts at 10 and increases by 2 each round. You can issue orders to the vrock and have it obey you as long as you succeed on the Charisma check.\nIf the check fails, the spell no longer requires concentration and the vrock is no longer under your control. The vrock takes no actions on its next turn and uses its telepathy to tell any creature it can see that it will fight in exchange for treasure. The creature that gives the vrock the most expensive gem can command it for the next 1d6 rounds. At the end of that time, it offers the bargain again. If no one offers the vrock treasure before its next turn begins, it attacks the nearest creatures for 1d6 rounds before returning to the Abyss.\nAs part of casting the spell, you can scribe a circle on the ground using the blood of an intelligent humanoid slain within the past 24 hours. The circle is large enough to encompass your space. The summoned vrock cannot cross the circle or target anyone in it while the spell lasts.",       "emote": "summons a Vrock",       "concentration": true     }]   });   ShapedScripts.addEntities({     "name": "UAPaladin",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{"name": "Paladin", "archetypes": [{"name": "Conquest", "spells": ["Armor of Agathys", "Command", "Hold Person", "Spiritual Weapon", "Bestow Curse", "Fear", "Blight", "Dominate Beast", "Dominate Person", "Insect Plague"]}, {"name": "Treachery", "spells": ["Charm Person", "Expeditious Retreat", "Invisibility", "Mirror Image", "Gaseous Form", "Haste", "Confusion", "Greater Invisibility", "Dominate Person", "Passwall"]}]}]   });   ShapedScripts.addEntities({"name": "UARanger", "dependencies": ["SRD"], "version": "2.0.0", "classes": [{"name": "Ranger", "archetypes": [{"name": "Horizon Walker", "spells": ["Protection from Evil and Good", "Alter Self", "Protection from Energy", "Banishment", "Teleportation Circle"]}, {"name": "Primeval Guardian", "spells": ["Entangle", "Enhance Ability", "Conjure Animals", "Giant Insect", "Insect Plague"]}]}]});   ShapedScripts.addEntities({"name": "UARangerRevised", "dependencies": ["SRD"], "version": "2.0.0", "classes": [{"name": "Ranger", "archetypes": [{"name": "Deep Stalker", "spells": ["Disguise Self", "Rope Trick", "Glyph of Warding", "Greater Invisibility", "Seeming"]}]}]});   ShapedScripts.addEntities({"name": "UASorcerer", "dependencies": ["SRD"], "version": "2.0.0", "classes": [{"name": "Sorcerer", "archetypes": [{"name": "Stone", "spells": ["Compelled Duel", "Searing Smite", "Thunderous Smite", "Wrathful Smite", "Branding Smite", "Magic Weapon", "Blinding Smite", "Elemental Weapon", "Staggering Smite"]}]}]});   ShapedScripts.addEntities({     "name": "UAStarterSpells",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{"name": "Bard", "spells": ["Guiding Hand", "Puppet", "Sense Emotion", "Sudden Awakening", "Unearthly Chorus"]}, {"name": "Cleric", "spells": ["Hand of Radiance", "Toll the Dead", "Virtue", "Ceremony", "Guiding Hand"]}, {"name": "Druid", "spells": ["Infestation", "Primal Savagery", "Guiding Hand", "Snare", "Wild Cunning"]}, {"name": "Paladin", "spells": ["Ceremony"]}, {       "name": "Ranger",       "spells": ["Snare", "Sudden Awakening", "Wild Cunning", "Zephyr Strike"]     }, {"name": "Sorcerer", "spells": ["Infestation", "Chaos Bolt", "Sudden Awakening"]}, {"name": "Warlock", "spells": ["Infestation", "Toll the Dead", "Cause Fear", "Healing Elixir", "Puppet", "Sense Emotion"]}, {"name": "Wizard", "spells": ["Infestation", "Toll the Dead", "Cause Fear", "Guiding Hand", "Healing Elixir", "Puppet", "Sense Emotion", "Snare", "Sudden Awakening"]}],     "spells": [{       "name": "Cause Fear",       "level": 1,       "school": "Necromancy",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true},       "duration": "up to 1 minute",       "description": "You awaken the sense of mortality in one creature you can see within range. The target must succeed on a Wisdom saving throw or become frightened for the duration. A target with 25 hit points or fewer makes the saving throw with disadvantage. The spell has no effect on constructs or undead.",       "concentration": true     }, {       "name": "Ceremony",       "level": 1,       "school": "Evocation",       "ritual": true,       "castingTime": "1 hour",       "range": "Touch",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "25 gp worth of powdered silver"},       "duration": "Instantaneous (see text)",       "description": "You perform one of several religious ceremonies. When you cast the spell, choose one of the following ceremonies, the target of which must be within 10 feet of you throughout the casting.\nAtonement. You touch one willing creature whose alignment has changed, and you make a DC 20 Wisdom (Insight) check. On a success, you restore the target to its original alignment.\nBless Water. You touch one vial of water and cause it to become holy water.\nComing of Age. You touch one humanoid old enough to be a young adult. For the next 24 hours, whenever the target makes an ability check, it can roll a d4 and add the number rolled to the ability check. A creature can benefit from this ceremony just once.\nDedication. You touch one humanoid who would willingly convert to your religion or who wishes to be dedicated to your god's service. For the next 24 hours, whenever the target makes a saving throw, it can roll a d4 and add the number rolled to the save. A creature can benefit from this ceremony just once.\nFuneral Rite. You bless one corpse within 5 feet of you. For the next 24 hours, the target can't become undead by any means short of a wish spell.\nInvestiture. You touch one willing humanoid. Choose one 1st-level spell you have prepared and expend a spell slot and any material components as if you were casting that spell. The spell has no effect. Instead, the target can cast this spell once without having to expend a spell slot or use material components. If the target doesn't cast the spell within 1 hour, the invested spell is lost.\nMarriage. You touch adult humanoids willing to be bonded together in marriage. For the next 24 hours, each target gains a +2 bonus to AC and saving throws while they are within 30 feet of each other. A creature can benefit from this ceremony just once."     }, {       "name": "Chaos Bolt",       "level": 1,       "school": "Evocation",       "castingTime": "1 action",       "range": "120 feet",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "You hurl an undulating, warbling mass of chaotic energy at one creature in range. Make a ranged spell attack against the target. On a hit, the target takes 2d8 damage. Choose one of the d8s. The number it rolled determines the type of damage, as shown below.\nd8 Damage Type\n1 Acid\n2 Cold\n3 Fire\n4 Force\n5 Lightning\n6 Poison\n7 Psychic\n8 Thunder\nIf you roll the same number on both d8s, the chaotic energy leaps from the target to a different creature of your choice within 30 feet of it. Make a new attack roll against the new target, and make a new damage roll, which could cause the chaotic energy to leap again. A creature can be targeted only once by this mass of chaotic energy.",       "higherLevel": "When you cast this spell using a spell slot of 2nd level or higher, each target takes extra damage of the type rolled. The extra damage equals 1d6 for each slot level above 1st.",       "attack": {"type": "ranged", "damage": "2d8", "higherLevelDice": 1}     }, {       "name": "Guiding Hand",       "level": 1,       "school": "Divination",       "ritual": true,       "castingTime": "1 minute",       "range": "5 feet",       "components": {"verbal": true, "somatic": true},       "duration": "up to 8 hours",       "description": "You create a Tiny incorporeal hand of shimmering light in an unoccupied space you can see within range. The hand exists for the duration, but it disappears if you teleport or you travel to a different plane of existence.\nWhen the hand appears, you name one major landmark, such as a city, mountain, castle, or battlefield on the same plane of existence as you. Someone in history must have visited the site and mapped it. If the landmark appears on no map in existence, the spell fails. Otherwise, whenever you move toward the hand, it moves away from you at the same speed you moved, and it moves in the direction of the landmark, always remaining 5 feet away from you.\nIf you don't move toward the hand, it remains in place until you do and beckons for you to follow once every 1d4 minutes.",       "concentration": true     }, {       "name": "Hand of Radiance",       "level": 0,       "school": "Evocation",       "castingTime": "1 action",       "range": "Self (5-foot radius)",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "You raise your hand, and burning radiance erupts from it. Each creature of your choice that you can see within 5 feet of you must succeed on a Constitution saving throw or take 1d6 radiant damage.",       "higherLevel": "The spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).",       "save": {"ability": "Constitution", "damage": "[[ceil((@{level} + 2) / 6)]]d6", "damageType": "radiant"}     }, {       "name": "Healing Elixir",       "level": 1,       "school": "Conjuration",       "castingTime": "1 minute",       "range": "Self",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "alchemist's supplies"},       "duration": "24 hours",       "description": "You create a healing elixir in a simple vial that appears in your hand. The elixir retains its potency for the duration or until it's consumed, at which point the vial vanishes.\nAs an action, a creature can drink the elixir or administer it to another creature. The drinker regains 2d4 + 2 hit points."     }, {       "name": "Infestation",       "level": 0,       "school": "Conjuration",       "castingTime": "1 action",       "range": "30 feet",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "a living flee"},       "duration": "Instantaneous",       "description": "You cause mites, fleas, and other parasites to appear momentarily on one creature you can see within range. The target must succeed on a Constitution saving throw or take 1d6 piercing damage. If the target takes any of that damage, the target moves 5 feet in a random direction. Roll a d8 for the direction: 1, north; 2, northeast; 3, east; 4, southeast; 5, south; 6, southwest; 7, west; or 8, northwest.",       "higherLevel": "The spell's damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6).",       "save": {"ability": "Constitution", "damage": "[[ceil((@{level} + 2) / 6)]]d6", "damageType": "piercing"}     }, {       "name": "Primal Savagery",       "level": 0,       "school": "Transmutation",       "castingTime": "1 action",       "range": "Self",       "components": {"somatic": true},       "duration": "Instantaneous",       "description": "Your teeth or fingernails lengthen and sharpen. You choose which. Make a melee spell attack against one creature within 5 feet of you. On a hit, the target takes 1d10 piercing or slashing damage (your choice). After you make the attack, your teeth or fingernails return to normal",       "higherLevel": "The spell's damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10).",       "attack": {"type": "ranged", "damage": "[[ceil((@{level} + 2) / 6)]]d10", "damageType": "piercing"}     }, {       "name": "Puppet",       "level": 1,       "school": "Enchantment",       "castingTime": "1 minute",       "range": "Self",       "components": {"somatic": true},       "duration": "Instantaneous",       "description": "Your gesture forces one humanoid you can see within range to make a Constitution saving throw. On a failed save, the target must move up to its speed in a direction you choose. In addition, you can cause the target to drop whatever it is holding. This spell has no effect on a humanoid that is immune to being charmed."     }, {       "name": "Sense Emotion",       "level": 1,       "school": "Divination",       "castingTime": "1 action",       "range": "Self",       "components": {"verbal": true, "somatic": true},       "duration": "up to 10 minutes",       "description": "You attune your senses to pick up the emotions of others for the duration. When you cast the spell, and as your action on each turn until the spell ends, you can focus your senses on one humanoid you can see within 30 feet of you. You instantly learn the target's prevailing emotion, whether it's love, anger, pain, fear, calm, or something else. If the target isn't actually humanoid or it is immune to being charmed, you sense that it is calm.",       "concentration": true     }, {       "name": "Snare",       "level": 1,       "school": "Abjuration",       "castingTime": "1 minute",       "range": "Touch",       "components": {"verbal": true, "somatic": true, "material": true, "materialMaterial": "30 feet of cord or rope, which is consumed by the spell"},       "duration": "Until dispelled or triggered",       "description": "While you cast this spell, you use the cord or rope to create a circle with a 5-foot radius on a flat surface within your reach. When you finish casting, the cord or rope disappears to become a magical trap.\nThe trap is nearly invisible and requires a successful Intelligence (Investigation) check against your spell save DC to be found. The trap triggers when a Small creature or larger moves into the area protected by the spell.\nThe triggering creature must succeed on a Dexterity saving throw or fall prone and be hoisted into the air until it hangs upside down 3 feet above the protected surface, where it is restrained.\nThe restrained creature can make a Dexterity saving throw with disadvantage at the end of each of its turns and ends the restrained effect on a success. Alternatively, another creature that can reach the restrained creature can use an action to make an Intelligence (Arcana) check against your spell save DC. On a success, the restrained effect also ends."     }, {"name": "Sudden Awakening", "level": 1, "school": "Enchantment", "castingTime": "1 bonus action", "range": "10 feet", "components": {"verbal": true}, "duration": "Instantaneous", "description": "Each sleeping creature you choose within range awakens, and then each prone creature within range can stand up without expending any movement."}, {       "name": "Toll the Dead",       "level": 0,       "school": "Necromancy",       "castingTime": "1 action",       "range": "60 feet",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "You point at one creature you can see within range, and the sound of a dolorous bell fills the air around it for a moment. The target must succeed on a Wisdom saving throw or take 1d8 necrotic damage. If the target is missing any of its hit points, it instead takes 1d12 necrotic damage.",       "higherLevel": "The spell's damage increases by one die when you reach 5th level (2d8 or 2d12), 11th level (3d8 or 3d12), and 17th level (4d8 or 4d12).",       "save": {"ability": "Wisdom", "damage": "[[ceil((@{level} + 2) / 6)]]d8", "damageType": "necrotic", "secondaryDamage": "[[ceil((@{level} + 2) / 6)]]d12", "secondaryDamageType": "necrotic"}     }, {       "name": "Unearthly Chorus",       "level": 1,       "school": "Illusion",       "castingTime": "1 action",       "range": "Self (30-foot radius)",       "components": {"verbal": true},       "duration": "Instantaneous",       "description": "Music of a style you choose fills the air around you in a 30-foot radius. The music spreads around corners and can be heard from up to 100 feet away. The music moves with you, centered on you for the duration.\nUntil the spell ends, you make Charisma (Performance) checks with advantage. In addition, you can use a bonus action on each of your turns to beguile one creature you choose within 30 feet of you that can see you and hear the music. The creature must make a Charisma saving throw. If you or your companions are attacking it, the creature automatically succeeds on the saving throw. On a failure, the creature becomes friendly to you for as long as it can hear the music and for 1 hour thereafter. You make Charisma (Deception) checks and Charisma (Persuasion) checks against creatures made friendly by this spell with advantage."     }, {"name": "Virtue", "level": 0, "school": "Abjuration", "castingTime": "1 action", "range": "Touch", "components": {"verbal": true, "somatic": true}, "duration": "1 round", "description": "You touch one creature, imbuing it with vitality. If the target has at least 1 hit point, it gains a number of temporary hit points equal to 1d4 + your spellcasting ability modifier. The temporary hit points are lost when the spell ends."}, {       "name": "Wild Cunning",       "level": 1,       "school": "Transmutation",       "ritual": true,       "castingTime": "1 action",       "range": "120 feet",       "components": {"verbal": true, "somatic": true},       "duration": "Instantaneous",       "description": "You call out to the spirits of nature to aid you. When you cast this spell, choose one of the following effects:\n• If there are any tracks on the ground within range, you know where they are, and you make Wisdom (Survival) checks to follow these tracks with advantage for 1 hour or until you cast this spell again.\n• If there is edible forage within range, you know it and where to find it. • If there is clean drinking water within range, you know it and where to find it.\n• If there is suitable shelter for you and your companions with range, you know it and where to find.\n• Send the spirits to bring back wood for a fire and to set up a campsite in the area using your supplies. The spirits build the fire in a circle of stones, put up tents, unroll bedrolls, and put out any rations and water for consumption.\n• Have the spirits instantly break down a campsite, which includes putting out a fire, taking down tents, packing up bags, and burying any rubbish."     }, {       "name": "Zephyr Strike",       "level": 1,       "school": "Transmutation",       "castingTime": "1 bonus action",       "range": "Self",       "components": {"verbal": true},       "duration": "up to 1 minute",       "description": "You move like the wind. For the duration, your movement doesn't provoke opportunity attacks.\nIn addition, the first time you make a weapon attack on your turn before the spell ends, you make the attack roll with advantage, and your speed increases by 30 feet until the end of that turn.",       "concentration": true     }]   });   ShapedScripts.addEntities({"name": "UATheFaithful", "dependencies": ["SRD"], "version": "2.0.0", "classes": [{"name": "Warlock", "archetypes": [{"name": "Seeker", "spells": ["Feather Fall", "Jump", "Levitate", "Locate Object", "Clairvoyance", "Sending", "Arcane Eye", "Locate Creature", "Legend Lore", "Passwall"]}]}]});   ShapedScripts.addEntities({     "name": "UATrioOfSubclasses",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{"name": "Paladin", "archetypes": [{"name": "Redemption", "spells": ["Shield", "Sleep", "Hold Person", "Ray of Enfeeblement", "Counterspell", "Hypnotic Pattern", "Otiluke's Resilient Sphere", "Stoneskin", "Hold Monster", "Wall of Force"]}]}, {"name": "Ranger", "archetypes": [{"name": "Monster Slayer", "spells": ["Protection From Evil and Good", "Zone of Truth", "Magic Circle", "Banishment", "Planar Binding"]}]}]   });   ShapedScripts.addEntities({     "name": "UAWarlock",     "dependencies": ["SRD"],     "version": "2.0.0",     "classes": [{"name": "Warlock", "archetypes": [{"name": "Hexblade", "spells": ["Shield", "Wrathful Smite", "Branding Smite", "Magic Weapon", "Blink", "Elemental Weapon", "Phantasmal Killer", "Staggering Smite", "Cone of Cold", "Destructive Wave"]}, {"name": "Raven Queen", "spells": ["False Life", "Sanctuary", "Silence", "Spiritual Weapon", "Feign Death", "Speak with Dead", "Ice Storm", "Locate Creature", "Commune", "Cone of Cold"]}]}]   }); });
1496304040
Layton
API Scripter
Hey guys, I've been having real trouble and I was hoping you could help me. Currently the companion script requires the sheet version to be at least 11.5.0 and I just can't find that anywhere. I'm being constantly directed to the Github but there the version is still only 11.4.# Please help D: <3
1496329653
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Lucian is on hiatus at the moment. There is an interim workaround posted by Thorsten that may help you short term,  here .
1496330581
Kryx
Pro
Sheet Author
API Scripter
@Keith the error he's referencing is talking about an outdated sheet version, not script. @Layton: If you grab the latest from&nbsp; <a href="https://github.com/mlenser/roll20-character-sheets" rel="nofollow">https://github.com/mlenser/roll20-character-sheets</a>... you'll have 14.x.x which will be the latest sheet.
1496379484
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Thanks Kryx, I misread. However, the link is hopefully still valuable.
1496469876

Edited 1496471772
EDIT: By checking either the "Higher level" box or unchecking and checking the "Content" box allows the spell description and emote text to show up, as well as prompt for higher level casting and enforce the Spell Slot Police. &nbsp;Using -shaped-expand-spells doesn't seem to fix the issue. Using either the latest companion script version from Lucian's github, or the interim version for the 14.2.2 sheet that keithcurtis posted a day ago, spells are not importing correctly. &nbsp;Here's what happens: Select a character token. Use !shaped-spells and select any spell from the list to add to a character sheet (PC or NPC). Import second copy of the spell directly from the compendium. Click both spells from the character sheet. The spell imported using !shaped-spells does not provide any additional information about the spell, nor does it ask for a spell level to cast at. &nbsp;The spell imported using the compendium has complete information, and asks which level I want to cast the spell. &nbsp;I think this is an issue with the script since it imports fine from the compendium, so I posted it here. &nbsp;Below is an image, with the first Vampiric Touch imported from !shaped-spells and the second from the compendium. &nbsp;Does anyone have an idea what might be going on? &nbsp;Thanks!
1496473297
Kryx
Pro
Sheet Author
API Scripter
Are you sure you're using 14.2.2? It sounds like you aren't.&nbsp;<a href="https://bitbucket.org/mlenser/5eshaped/issues/506/spells-still-broken-and-items-in-1421" rel="nofollow">https://bitbucket.org/mlenser/5eshaped/issues/506/spells-still-broken-and-items-in-1421</a>
Yes, the character sheets are set to 14.2.2.&nbsp; I have also just tried in a fresh campaign with 14.2.3 and the latest official companion script.&nbsp; Same issue, where the spell imported from the compendium works fine but the spell imported through the script does not give content information until I uncheck/check the box.&nbsp; Interestingly, toggling the content checkbox on the companion-imported spell does not give the content information until the spell has also been prepared.&nbsp; The compendium-imported spell gives content information regardless of if it is prepared or not. Should I open an issue on the Sheet Issue Tracker?&nbsp; I would test on the sheet test campaign, but I don't think it has the companion script enabled. Thanks, Kryx, for your help and the Shaped Sheet!
1496563840
Kryx
Pro
Sheet Author
API Scripter
Yes, please open an issue with reproduction steps on a new character.
1496579403

Edited 1496579472
Zym
Sheet Author
Can anyone please assist, no rush as I have already run the adventure, but it caused a bit of commotion during the adventure as I could not get the spells to import when attempted a "stat block import"&nbsp; Below is how the stat block looked for spells when I tried the import only the cantrips imported. Spellcasting. Little Wing is a 5th-level spellcaster. His spellcasting ability is Charisma (spell save DC 12, +4 to hit with spell attacks). He has 2 spell slots to cast the following spells: Cantrips (at-will): blade ward, eldritch blast, friends, 1st level (0 slots): charm person, hex, witchbolt 2nd level (0 slots): cloud of daggers, darkness 3rd level (2 slots): vampiric touch I just wanted to seek advice on how to correctly format the stat block so the spells are imported. 90% of the time I have no problems with stat block imports.
1496580021
Kryx
Pro
Sheet Author
API Scripter
You have the following options: Prepared "following CLASS spells prepared" (see Lich) "following spells prepared from the CLASS spell list" (see Drider variant). Innate "requiring no material components:" (See Pit Fiend) "requiring only verbal components:" (see Couatl) If there are other cases in RAW that I have missed please open an issue on the sheet tracker to let me know and I can parse them as well.
I had some macros tied to buttons for short and long rest which used to used the&nbsp; !shaped-rest --short --id @{selected|character_id} which isn't currently working. &nbsp;I tried to figure out how to call this as a macro but can't seem to figure out what it should be. &nbsp;Looks like when you click the button in the character sheet itself, it is sending&nbsp; #Short-Rest. &nbsp; Is there a way that I can use the selected token and macros to call the short and long run in version 14.2.3 directly without the script being updated and how I was using doing it in the past? &nbsp;I realize the script is on hold currently.
1496599104
Kryx
Pro
Sheet Author
API Scripter
The button on the page isn't sending anything. It's not actually a real button, but a checkbox made to look like a button. When the value changes (when it is clicked) the sheet runs all the necessary code to recharge fields based on the type of rest. The script should be triggering the sheet to run the rest. If it isn't please open an issue on Lucian's issue tracker with steps to reproduce on a new character.
1496601268

Edited 1496601408
Zym
Sheet Author
Kryx said: You have the following options: Prepared "following CLASS spells prepared" (see Lich) "following spells prepared from the CLASS spell list" (see Drider variant). Innate "requiring no material components:" (See Pit Fiend) "requiring only verbal components:" (see Couatl) If there are other cases in RAW that I have missed please open an issue on the sheet tracker to let me know and I can parse them as well. So the NPC is a Warlock.&nbsp; I couldn't exactly see the trigger, for the code, I was looking for the in the stat block and the class spell features came out like following. So I wasn't too sure why the spells were not importing. In the end I added the spells manually using !shaped-spells
1496602319
Kryx
Pro
Sheet Author
API Scripter
Alexander said: So the NPC is a Warlock. Then it should match the examples from Volo's. If you add an issue to support it I can add it within the next few days.
1496834652

Edited 1496834690
Jedd
KS Backer
Marketplace Creator
Is there a way to have advantage aware macros? Right now we have the --advantage, --disadvantage, and --normal command extensions. I would like to have a --aup command that would turn --disadvantage into --normal and --normal into --advantage (and the inverse - a --adown command that would turn --advantage into --normal and --normal into --disadvantage). Is there any current way to do this? EDIT: I currently have version 10.0.1.
I just started using the API since I upgraded to Pro account. &nbsp;I came across I think version 7.2 but was wondering where to find the latest API script 10.0.1 or even Thorsten's unofficial v11.0.0. &nbsp;Not sure on githhub where to go since I see release 8.4.2 on the site there fr API. Thanks
1497101233
Kryx
Pro
Sheet Author
API Scripter
The original post of this thread has a link to the latest code. I use that currently.
When I try and create token macros via&nbsp; !shaped-abilities --statblock, initiative, traitsMacro, spells, attacks, actions, reactions, legendaryA, lairA for an NPC everything works fine, but when I try it with a PC I get an error saying that no Attacks were found. Are they called something different now?
1498419781
Kryx
Pro
Sheet Author
API Scripter
offense, utility requires Thorsten's patch version. I believe he's going to release another one soon fixing the bugs we've been discussing.
1498420318
Kryx
Pro
Sheet Author
API Scripter
Either or. So replace. It's on the API forum I believe.
I think that I'm up to date on everything but I'm getting this error when trying to import any spell that has the keyword [higherLevelDie], [saveFailure] and&nbsp;[condition]. I updated everything today and thought I did it right. My companion script log says: "5eShapedCompanion 1498423053835 INFO : Detected sheet version as : 15.0.0" "5eShapedCompanion 1498423048289 INFO : -=&gt; ShapedScripts v10.0.1 &lt;=-" Here's a single sample of a full line from the log: "5eShapedCompanion 1498423547495 ERROR : Error: Unrecognised property when attempting to convert to srd format: [higherLevelDie] {\"name\":\"Cone of Cold\",\"spell_level\":\"5TH_LEVEL\",\"level\":5,\"school\":\"EVOCATION\",\"casting_time\":\"1_ACTION\",\"range\":\"Self (60-foot cone)\",\"materials\":\"a small crystal or glass cone\",\"components\":\"COMPONENTS_V_S_M\",\"duration\":\"INSTANTANEOUS\",\"content\":\"A blast of cold air erupts from your hands. Each creature in a 60-foot cone must make a Constitution saving throw. A creature takes 8d8 cold damage on a failed save, or half as much damage on a successful one.\\nA creature killed by this spell becomes a frozen statue until it thaws.\",\"higher_level\":\"When you cast this spell using a spell slot of 6th level or higher, the damage increases by 1d8 for each slot level above 5th.\",\"emote\":\"'s hands erupt with a blast of frigid air\",\"saving_throw_vs_ability\":\"CONSTITUTION\",\"saving_throw_damage_dice\":\"8\",\"saving_throw_damage_die\":\"d8\",\"saving_throw_damage_type\":\"cold\",\"saving_throw_success\":\"half damage\",\"saving_throw_higher_level_dice\":\"1\"}\n at _.each (apiscript.js:6995:16)\n at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:158:9)\n at objectMapper (apiscript.js:6992:8)\n at _.each (apiscript.js:6998:8)\n at Function._.each._.forEach (/home/node/d20-api-server/node_modules/underscore/underscore.js:158:9)\n at objectMapper (apiscript.js:6992:8)\n at _.chain.map (apiscript.js:7165:10)\n at Function._.map._.collect (/home/node/d20-api-server/node_modules/underscore/underscore.js:172:24)\n at _.(anonymous function) [as map] (/home/node/d20-api-server/node_modules/underscore/underscore.js:1496:34)\n at Object.convertSpells (apiscript.js:7163:9)"
1498426023
Kryx
Pro
Sheet Author
API Scripter
Looks like you have an old format of the JSON structure. Make sure to use the new format.
Hmmm. My data says&nbsp;version":"2.0.0". I was pretty sure about the source and updated to match it. It says that it's 12 days old?
BTW, I have no problem "fixing" the json myself. &nbsp;Here's what I have for that cone of cold. Is it wrong? { "name":"Cone of Cold", "description":"A blast of cold air erupts from your hands. Each creature in a 60-foot cone must make a Constitution saving throw. A creature takes 8d8 cold damage on a failed save, or half as much damage on a successful one.\nA creature killed by this spell becomes a frozen statue until it thaws.", "higherLevel":"When you cast this spell using a spell slot of 6th level or higher, the damage increases by 1d8 for each slot level above 5th.", "emote":"'s hands erupt with a blast of frigid air", "source":"phb 224", "range":"Self (60-foot cone)", "components": { "verbal":true,"somatic":true,"material":true,"materialMaterial":"a small crystal or glass cone"},"duration":"Instantaneous", "castingTime":"1 action", "level":5,"school":"Evocation", "save": { "ability":"Constitution", "damage":"8d8", "damageType":"cold", "saveSuccess":"half damage", "higherLevelDice":"1", "higherLevelDie":"d8"},"classes":["Druid", "Sorcerer", "Wizard"],"circles":["Arctic"]},
1498598358
Kryx
Pro
Sheet Author
API Scripter
I have released version 11.0.0 on&nbsp; [5e Shaped Companion] Version 11+ Please move all conversation there. Mods feel free to close this thread.