Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var iFileName = "Valda's Spire of Secrets";
- RequiredSheetVersion("13.1.0");
- //NOTE: Mul (Near-Human feat) doesn't stop automation from imposing disadvantage on stealth w/ heavy armor or reducing speed in heavy armor. Discussion in the Discord suggested there's not really any good way to address this.
- //NOTE: Mouseling and Ratling are coded as separate races despite being a single race in the latest version of the book. Mechanically it should be fine, but technically it's not correct.
- SourceList["VSoS"]={
- name : "Valda's Spire of Secrets",
- abbreviation : "VSoS",
- abbreviationSpellsheet : "V",
- date : "2022/08/28"
- };
- //This section adds the new races from VSoS
- // Geppettin Subraces
- RaceList["bisque geppettin"] = {
- regExpSearch : /^(?=.*bisque)(?=.*geppettin).*$/i,
- name : "Bisque geppettin",
- sortname : "Geppettin, Bisque",
- source : ["VSoS",8],
- plural : "Bisque geppettin",
- size : 4,
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- vision : [["Darkvision", 60]],
- age : " do not age, and are mature as soon as they become sentient",
- height : " rarely break 3 feet in height",
- heightMetric : " rarely break 0,9 metres in height",
- scores : [0, 1, 1, 0, 0, 1],
- savetxt : {
- text : ["Magic can't put me to sleep"],
- immune : ["nonmagical disease"]
- },
- trait : "Bisque Geppettin (+1 Dexterity, +1 Constitution, +1 Charisma)\nConstruct Anatomy: Can eat/drink, but don't need to. Instead of sleep, I go inactive for 4 hrs, not unconscious, can see/hear normally.\nFalse Appearance: While motionless, indistinguishable from an ordinary doll.\nSudden Strike: Add proficiency bonus to the damage of weapon attacks on my first turn in combat.\nTerrifying: Adv. on Cha(Intimidation) chks to scare someone who hasn't seen me move.",
- skills : ["Intimidation"],
- scorestxt : "+1 Dexterity, +1 Constitution, +1 Charisma",
- };
- RaceList["marionette geppettin"] = {
- regExpSearch : /^(?=.*marionette)(?=.*geppettin).*$/i,
- name : "Marionette geppettin",
- sortname : "Geppettin, Marionette",
- source : ["VSoS",8],
- plural : "Marionette geppettin",
- size : [3, 4],
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- vision : [["Darkvision", 60]],
- age : " do not age, and are mature as soon as they become sentient",
- height : " rarely break 3 feet in height",
- heightMetric : " rarely break 0,9 metres in height",
- scores : [0, 2, 0, 0, 0, 1],
- savetxt : {
- text : ["Magic can't put me to sleep"],
- immune : ["nonmagical disease"]
- },
- trait : "Marionette Geppettin (+2 Dexterity, +1 Charisma)\nConstruct Anatomy: Can eat/drink, but don't need to. Instead of sleep, I go inactive for 4 hrs, not unconscious, can see/hear normally.\nFalse Appearance: While motionless, indistinguishable from an ordinary doll.\nClipped Strings: Melee attacks with weapons that aren't Two-Handed have Reach on my turn.\nPantomime: Adv. on Cha(Performance) checks to dance.",
- skills : ["Performance"],
- scorestxt : "+2 Dexterity, +1 Charisma",
- };
- RaceList["plushie geppettin"] = {
- regExpSearch : /^(?=.*plushie)(?=.*geppettin).*$/i,
- name : "Plushie geppettin",
- sortname : "Geppettin, Plushie",
- source : ["VSoS", 9],
- plural : "Plushie geppettin",
- size : 4,
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- vision : [["Darkvision", 60]],
- age : " do not age, and are mature as soon as they become sentient",
- height : " rarely break 3 feet in height",
- heightMetric : " rarely break 0,9 metres in height",
- scores : [0, 1, 0, 0, 0, 2],
- savetxt : {
- text : ["Magic can't put me to sleep"],
- immune : ["nonmagical disease"]
- },
- trait : "Raggedy Geppettin (+1 Dexterity, +2 Charisma)\nConstruct Anatomy: Can eat/drink, but don't need to. Instead of sleep, I go inactive for 4 hrs, not unconscious, can see/hear normally.\nFalse Appearance: While motionless, indistinguishable from an ordinary doll.\nStuffed with Fluff: On taking bludgeoning damage, I can use my reaction to resist the damage and be knocked 5 feet away from the source of the damage.\nAdorable: Adv. on Cha(Persuasion) checks vs. children and other people who like cute things.",
- skills : ["Persuasion"],
- scorestxt : "+1 Dexterity, +2 Charisma",
- features : {
- "stuffed with fluff" : {
- name : "Stuffed with Fluff",
- minlevel : 1,
- tooltip : " (Stuffed with Fluff)",
- action : "reaction",
- },
- },
- };
- // Mandrake
- RaceList["mandrake"] = {
- regExpSearch : /mandrake/i,
- name : "Mandrake",
- sortname : "Mandrake",
- source : ["VSoS",10],
- plural : "Mandrakes",
- size : 3,
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- age : " must grow undisturbed for a year and a day before they are harvested. They then mature in a decade and live for centuries, growing wider with more gnarled bark as they age.",
- height : " usually stand tall and slim, typically almost seven feet high",
- heightMetric : " usually stand tall and slim, typically over two meters high",
- scores : [0, 0, 1, 0, 2, 0],
- skills : ["Nature"],
- trait : "Mandrake (+1 Constitution, +2 Wisdom)\nPlant Nature: Don't need to eat if in sunlight for 4 hrs/day. Breathe through leaves/limbs, and get water/nutrients through feet.\nEmissary of the Trees: Adv. on Cha(Persuasion) checks to interact with Beasts and Plants.\nRoot Magic: Learn Shillelagh and use it with my own limb. At 3rd, cast Goodberry 1/LR. At 5th, cast Goodberry or Barkskin 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots.",
- scorestxt : "+1 Constitution, +2 Wisdom",
- spellcastingAbility : [4,5,6],
- features : {
- "shillelagh" : {
- name : "Shillelagh",
- minlevel : 1,
- tooltip : " (Root Magic)",
- spellcastingBonus : {
- name : "Root Magic (level 1)",
- spells : ["shillelagh"],
- selection : ["shillelagh"],
- oncelr : false,
- },
- },
- "goodberry" : {
- name : "Goodberry",
- minlevel : 3,
- usages : 1,
- recovery : "long rest",
- tooltip : " (Root Magic)",
- spellcastingBonus : {
- name : "Root Magic (level 3)",
- spells : ["goodberry"],
- selection : ["goodberry"],
- oncelr : true,
- },
- },
- "barkskin" : {
- name : "Barkskin",
- minlevel : 5,
- usages : 1,
- recovery : "long rest",
- tooltip : " (Root Magic)",
- spellcastingBonus : {
- name : "Root Magic (level 5)",
- spells : ["barkskin"],
- selection : ["barkskin"],
- oncelr : true,
- },
- },
- "entangling vines" : {
- name: "Entangling Vines",
- minlevel : 1,
- usages : "Proficiency Bonus per ",
- usagescalc : "event.value = How('Proficiency Bonus');",
- recovery : "long rest",
- action : ["bonus action", ""],
- },
- },
- toNotesPage : [{
- name : "Entangling Vines Season Features",
- source : ["VSoS", 11],
- popupName : "Entangling Vines Season Features",
- page3notes : true,
- note : "\n \u2022 Spring (Mandrake Season, VSoS 11)" + desc([
- " My Entangling Vines can target an airborne creature within 30 feet of the ground, which is pulled safely to the ground when I use this trait.",
- ]) + "\n \u2022 Summer (Mandrake Season, VSoS 11)" + desc([
- " My Entangling Vines can move the target up to 10 feet to an unoccupied space on the ground or on a floor.",
- ]) + "\n \u2022 Autumn (Mandrake Season, VSoS 11)" + desc([
- " My Entangling Vines can affect a second creature within 5 feet of the first target.",
- ]) + "\n \u2022 Winter (Mandrake Season, VSoS 11)" + desc([
- " The target takes cold damage equal to my proficiency bonus.",
- ])
- }]
- };
- // Mousefolk "Subraces"
- RaceList["mouseling"] = {
- regExpSearch : /^(?=.*mouseling).*$/i,
- name : "Mouseling",
- sortname : "Mousefolk, Mouseling",
- source : ["VSoS",12],
- plural : "Mouselings",
- size : 4,
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- age : " mature in their teens and live around 80 years.",
- height : " stand around 3 feet tall, appearing slightly taller with their large ears",
- heightMetric : " stand around 90 centimeters tall, appearing slightly taller with their large ears",
- weight : " normally weigh no more than 40 pounds.",
- weightMetric : " normally weigh no more than 18 kilograms.",
- vision : [["Darkvision", 60]],
- skills : ["Stealth"],
- scores : [0, 2, 0, 0, 0, 1],
- trait : "Mousefolk (+2 Dexterity, +1 Charisma)\n\nScurry: Move through hostile creatures' spaces as difficult terrain.\n\nSqueeze: No penalty for squeezing into a space one size smaller.\n\nSidestep: When a creature I can see makes an opportunity attack against me and I'm not wearing medium or heavy armor, I can use my reaction to impose disadvantage on the attack roll.",
- scorestxt : "+2 Dexterity, +1 Charisma",
- features : {
- "sidestep" : {
- name : "Sidestep",
- minlevel : 1,
- tooltip : " (Sidestep)",
- action : "reaction",
- },
- },
- };
- RaceList["ratling"] = {
- regExpSearch : /^(?=.*ratling).*$/i,
- name : "Ratling",
- sortname : "Mousefolk, Ratling",
- source : ["VSoS",12],
- plural : "Ratlings",
- size : 4,
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- age : " mature in their teens and live around 80 years.",
- height : " stand around 3 feet tall, appearing slightly taller with their large ears",
- heightMetric : " stand around 90 centimeters tall, appearing slightly taller with their large ears",
- weight : " normally weigh no more than 40 pounds.",
- weightMetric : " normally weigh no more than 18 kilograms.",
- vision : [["Darkvision", 60]],
- skills : ["Stealth"],
- scores : [0, 2, 0, 0, 0, 1],
- savetxt : {
- adv_vs : ["poison"]
- },
- dmgres : ["Poison"],
- trait : "Mousefolk (+2 Dexterity, +1 Charisma)\n\nScurry: Move through hostile creatures' spaces as difficult terrain.\n\nSqueeze: No penalty for squeezing into a space one size smaller.\n\nGnaw: I can use my action to chew through a nonmagical rope, wooden rod, fabric, etc. that isn't being worn or carried. I can spend 1 minute chewing a Tiny hole through a wooden wall or floor. I can't chew through metal, stone, etc.",
- scorestxt : "+2 Dexterity, +1 Charisma",
- features : {
- "gnaw" : {
- name : "Gnaw",
- minlevel : 1,
- tooltip : " (Gnaw)",
- action : "action",
- },
- },
- };
- // Spirithost
- RaceList["spirithost"] = {
- regExpSearch : /^(?=.*spirithost).*$/i,
- name : "Spirithost",
- sortname : "Spirithost",
- source : ["VSoS",13],
- plural : "Spirithosts",
- size : 3,
- speed : {
- walk : { spd : 30, enc : 20 }
- },
- languageProfs : ["Common", 1],
- age : " do not experience time in the same way as most mortal creatures. As a result, even though they mature in their teens, their lives can stretch on for hundreds of years.",
- height : " stand as tall as humans, usually around 5 or 6 feet tall.",
- heightMetric : " stand as tall as humans, usually around 150 to 180 centimeters tall.",
- weight : " weigh half as much as a similarly sized human, as their slightly ethereal form is only loosely affiliated with gravity.",
- vision : [["Ethereal Plane", 120]],
- scores : [1, 1, 0, 1, 0, 0],
- trait : "Spirithost (+1 Strength, +1 Dexterity, +1 Intelligence)\n Incorporeal Movement: Move through crea and objs as diff. terrain. Blocked by stone (1 ft), metal (1 in), any amt of lead, or wood/dirt (3 ft). End mvmt inside a crea or obj: shunted to nearest unoccupied space, & force dmg equal to 2x dist. moved in feet.\n Spirit Speech: Cast Speak With Dead 1/LR w/o Material comps, and ask questions equal to prof bonus. Spell uses Int, Wis, or Cha, and can also be cast with spell slots.\n Ghostly Descent: If not incapacitated, subtract 60 ft. from fall distance when calculating fall damage.",
- scorestxt : "+1 Strength, +1 Dexterity, +1 Intelligence",
- spellcastingAbility : [4, 5, 6],
- features : {
- "speak with dead" : {
- name : "Speak With Dead",
- minlevel : 1,
- usages : 1,
- recovery : "long rest",
- tooltip : " (Spirit Speech)",
- spellcastingBonus : {
- name : "Spirit Speech (level 1)",
- spells : ["speak with dead"],
- selection : ["speak with dead"],
- oncelr : true,
- },
- },
- },
- };
- // Near-Human variant
- AddRacialVariant("human", "near-human", {
- regExpSearch : /near-human/i,
- source : ["VSoS", 14],
- plural : "Near-Humans",
- skillstxt : "Choose any one skill",
- scorestxt : "+1 to two different ability scores of my choice",
- scores : [0, 0, 0, 0, 0, 0],
- trait : "Human (+1 to two different ability scores of my choice)\n\nSkills: I gain proficiency in one skill of my choice.\n\nFeat: I gain one feat of my choice. This feat must have Near-Human variant as a prerequisite.",
- eval : function() { AddString('Feat Note 1', 'Near-Human feat', '; '); },
- removeeval : function() { RemoveString('Feat Note 1', 'Near-Human feat'); }
- });
- //Near-Human feats
- FeatsList["aberrant spawn"] = {
- name : "Aberrant Spawn",
- source : ["VSoS", 14],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "You were somehow mutated or created by an aberration, such as an aboleth, and you suffer from strange deformities as a result. Due to these changes, you have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have advantage on saving throws you make to avoid or end the charmed condition on yourself and against any effect that would sense your emotions or read your thoughts.\n \u2022 You have resistance to psychic damage.\n \u2022 At least one of your limbs is muscular, rubbery, and pliant, acting as a tentacle that you can use to make unarmed strikes. When you hit with it, the strike deals 1d6 + your Strength modifier bludgeoning damage, instead of the bludgeoning damage normal for an unarmed strike.",
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 to any ability score.]",
- dmgres : ["Psychic"],
- weaponOptions : {
- baseWeapon : "unarmed strike",
- regExpSearch : /^(?=.*(aberrant))(?=.*tentacle).*$/i,
- name : "Aberrant Tentacle",
- source : ["VSoS", 16],
- damage : [1, 4, "bludgeoning"]
- },
- weaponsAdd : ["Aberrant Tentacle"],
- savetxt : {
- adv_vs : ["charmed", "sense emotions", "read thoughts"],
- },
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "Adv. on saves to avoid or end charmed, and against having my emotions sensed or my thoughts read. I can use one of my limbs as a natural weapon for unarmed strikes, dealing 1d6 + Strength in bludgeoning damage on a hit. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["aquanaut"] = {
- name : "Aquanaut",
- source : ["VSoS", 14],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "One of your parents is a merfolk, or you are distantly descended from the Elemental Plane of Water; consequently, you have aquatic features like gills, webbed fingers and toes, and fishlike scales, which grant you the following racial traits:\n \2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You can breathe water as well as air.\n \u2022 You have a swimming speed equal to your walking speed.",
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 to any ability score.]",
- speed : {
- swim : { spd : "walk", enc : "walk" },
- },
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I can breathe water and air. I have a swimming speed equal to my walking speed. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["arachne"] = {
- name : "Arachne",
- source : ["VSoS", 14],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Much like drow, humans can be corrupted by the magic of the drow goddess, becoming arachne—humans with eight eyes and coarse, black hair. Sometimes these humans are the offspring of driders or drow priestesses, while other times they bear the marks of a ritual sacrifice gone terribly awry.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You can see in dim light within 120 feet of you as if it were bright light and in darkness as if it were dim light. You discern colors in that darkness only as shades of gray.\n \u2022 You know the poison spray cantrip. Starting at 3rd level, you can cast the bane spell with this trait. Starting at 5th level, you can also cast the spider climb spell with this trait. Once you cast bane or spider climb with this trait, you can't cast that spell with it again until you finish a long rest. You can also cast either of those spells using any spell slots you have of the appropriate level.\n Intelligence, Wisdom, or Charisma is your spellcasting ability for these spells when you cast them with this trait (choose when you select this race).",
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 to any ability score.]",
- vision : ["Darkvision", 120],
- spellcastingAbility : [4,5,6],
- spellcastingBonus : [{
- name : "Arachne (level 1)",
- level : [0, 0],
- spells : ["poison spray"],
- selection : ["poison spray"],
- firstCol : "atwill"
- }, {
- name : "Arachne (level 3)",
- level : [1, 1],
- spells : ["bane"],
- selection : ["bane"],
- firstCol : "oncelr",
- times : [0,0,1]
- }, {
- name : "Arachne (level 5)",
- level : [2, 2],
- spells : ["spider climb"],
- selection : ["spider climb"],
- firstCol : "oncelr",
- times : [0,0,0,0,1]
- }],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have darkvision to 120 ft and I know the Poison Spray cantrip. At 3rd level, I can cast Bane 1/LR. At 5th, I can cast Bane or Spider Climb 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["beastman"] = {
- name : "Beastman",
- source : ["VSoS", 14],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "With a short tail, coarse fur covering your face, and long teeth and claws, you appear more like a ferocious beast than a man. Perhaps your parentage includes a werecreature or an intelligent beast, granting you the following racial traits:\n \2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \2022 You have advantage on Wisdom (Perception) checks made to smell.\n \2022 You possess sharp claws, which are natural weapons that you can use to make unarmed strikes. On a hit with them, you deal slashing damage equal to 1d6 + your Strength modifier, instead of the bludgeoning damage normal for an unarmed strike.",
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 to any ability score.]",
- weaponOptions : {
- baseWeapon : "unarmed strike",
- regExpSearch : /^(?=.*(beastman))(?=.*claw).*$/i,
- name : "Beastman Claws",
- source : ["VSoS", 14],
- damage : [1, 6, "slashing"]
- },
- weaponsAdd : ["Beastman Claws"],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have advantage on Wisdom(Perception) checks made to smell. I can use my claws as natural weapons to make unarmed strikes, dealing 1d6 + Strength in slashing damage on a hit. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["firebrand"] = {
- name : "Firebrand",
- source : ["VSoS", 15],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Born, imbued with, or later marked by the powers of Elemental Fire, these near-humans have an affinity for fire magic. Their heritage makes them dangerous adversaries in combat, as does the volatile nature of their innate powers. Firebrands are human in shape, but have deep red skin and flames behind their eyes. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have resistance to fire damage.\n \u2022 You know the produce flame cantrip. Starting at 3rd level, you can cast the burning hands spell with this trait. Starting at 5th level, you can also cast the flaming sphere spell with this trait, without requiring a material component. Once you cast burning hands or flaming sphere with this trait, you can’t cast that spell with it again until you finish a long rest. You can also cast either of those spells using any spell slots you have of the appropriate level.\n Intelligence, Wisdom, or Charisma is your spellcasting ability for these spells when you cast them with this trait (choose when you select this race).",
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 to any ability score.]",
- dmgres : ["Fire"],
- spellcastingAbility : [4,5,6],
- spellcastingBonus : [{
- name : "Firebrand (level 1)",
- level : [0, 0],
- spells : ["produce flame"],
- selection : ["produce flame"],
- firstCol : "atwill"
- }, {
- name : "Firebrand (level 3)",
- level : [1, 1],
- spells : ["burning hands"],
- selection : ["burning hands"],
- firstCol : "oncelr",
- times : [0,0,1]
- }, {
- name : "Firebrand (level 5)",
- level : [2, 2],
- spells : ["flaming sphere"],
- selection : ["flaming sphere"],
- firstCol : "oncelr",
- times : [0,0,0,0,1]
- }],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have resistance to fire damage. I know the Produce Flame cantrip. At 3rd level, I can cast Burning Hands 1/LR. At 5th, I can cast Burning Hands or Flaming Sphere 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["green skin"] = {
- name : "Green Skin",
- source : ["VSoS", 15],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Your people metabolize by basking in the sunlight. Aided by your tough, photosynthetic skin, you gain the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have advantage on saving throws you make to avoid or end the poisoned condition on yourself. You also have resistance to poison damage.\n \u2022 While you aren’t wearing armor, your AC equals 12 + your Dexterity modifier.",
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 to any ability score.]",
- armorOptions : {
- regExpSearch : /^(?=.*green)(?=.*skin).*$/i,
- name : "Green Skin",
- source : ["VSoS", 15],
- ac : 12
- },
- armorAdd : "Green Skin",
- savetxt : {
- adv_vs : ["poisoned"],
- },
- dmgres : ["Poison"],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have advantage on saving throws against being poisoned, and resistance to poison damage. While not wearing armor, my AC is 12 + Dexterity. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["grendel"] = {
- name : "Grendel",
- source : ["VSoS", 15],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "The children of goblins, hobgoblins, and bugbears with humans are known as grendels. Despite their varied heritage, grendels don’t quite resemble either of their parents, with green- or orange-tanned skin, coarse hair, and three knuckles on each finger.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 Unlike other humans, you are Medium or Small, depending on your heritage.\n \u2022 You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.\n \u2022 You have advantage on saving throws you make to avoid or end the charmed condition on yourself.\n \u2022 On your first turn in combat, you can add your proficiency bonus to your attack rolls, ability checks, and saving throws.",
- vision : ["Darkvision", 60],
- savetxt : {
- adv_vs : ["charmed"],
- },
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 to any ability score.]",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I am Medium or Small, depending on heritage. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["grendel small"] = {
- name : "Grendel (Small)",
- source : ["VSoS", 15],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "The children of goblins, hobgoblins, and bugbears with humans are known as grendels. Despite their varied heritage, grendels don’t quite resemble either of their parents, with green- or orange-tanned skin, coarse hair, and three knuckles on each finger.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 Unlike other humans, you are Medium or Small, depending on your heritage.\n \u2022 You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.\n \u2022 You have advantage on saving throws you make to avoid or end the charmed condition on yourself.\n \u2022 On your first turn in combat, you can add your proficiency bonus to your attack rolls, ability checks, and saving throws.",
- vision : ["Darkvision", 60],
- eval: function(n) {SetCreatureSize(false, ["Grendel", "Because of Grendel, my size is Small"], 4);
- },
- removeeval: function(n) {
- if (CurrentRace.known) {SetCreatureSize(false, [CurrentRace.name, CurrentRace.plural], CurrentRace.size);
- }
- else {PickDropdown("Size Category", 3); AddTooltip("Size Category", "Selected size category will affect encumbrance on the second page.");
- }
- },
- savetxt : {
- adv_vs : ["charmed"],
- },
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 to any ability score.]",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I am Small. I have darkvision to 60 feet, and adv. against being charmed. On my 1st turn in combat, I can add my prof. bonus to attacks, checks, and saves. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["grue"] = {
- name : "Grue",
- source : ["VSoS", 16],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "One of your parents was a creature of darkness, such as a shadow or a native of the Plane of Shadow. Grues, such as yourself, have blackened skin and cast a shadow in all directions, even when directly in light. In shadows, you are nearly invisible. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have darkvision, the ability to see in dark and dim conditions. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.\n \u2022 When you are hidden and a creature discovers you with a successful Wisdom (Perception) check, you can reattempt your Dexterity (Stealth) check to hide. On a success, you silently reposition yourself and the creature doesn’t notice you. Once you use this trait, you can’t use it again until you finish a short or long rest.",
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 to any ability score.]",
- vision : ["Darkvision", 60],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have darkvision out to 60 feet. Once per short rest, when I am hidden and detected by a creature's successful Wisdom(Perception) check, I can make a Dexterity(Stealth) check. On a success, I remain hidden. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["insectoid"] = {
- name : "Insectoid",
- source : ["VSoS", 15],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Insectoids bear one or two insectlike features, such as prominent compound eyes or chitinous plates, but almost always have a pair of sensitive antennae atop their heads.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 Due to your antennae, you have blindsight with a range of 10 feet. Within that range, you can effectively see anything that isn't behind total cover, even if you're blinded or in darkness. Moreover, you can see an invisible creature within that range, unless the creature successfully hides from you.\n \u2022 If any part of your body is amputated, but its amputation doesn’t kill you, you can fully regrow that part of your body in 24 hours.",
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 to any ability score.]",
- vision : ["Blindsight", 10],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have blindsight to 10 ft. I can fully regrow any amputated body part in 24 hours, as long as the amputation doesn't kill me. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["immortal"] = {
- name : "Immortal",
- source : ["VSoS", 16],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "According to legend, a human can achieve immortality by replacing their heart with a mote of celestial radiance. The secret to immortality, including the elixirs and rituals needed to achieve it, is protected by a small, clandestine sect of immortal mystics, each of who only know one component of the process. There are perhaps only a dozen true immortals in the world, but as many as hundreds if every tale can be believed.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You don’t age, can’t be aged magically, and suffer none of the frailty of old age. You can’t die of old age.\n \u2022 You have advantage on saving throws you make to avoid or end diseases and the poisoned condition yourself. You also have resistance to poison damage.",
- savetxt : {
- adv_vs : ["poisoned"],
- },
- dmgres : ["Poison"],
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 to any ability score.]",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I don't age, can't be aged magically, and can't die of old age. I have advantage on saves against the poisoned condition, and resistance to poison damage. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["mul"] = {
- name : "Mul",
- source : ["VSoS", 16],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "One of your parents was a human and the other was a dwarf. Such a pairing is unlikely to have produced offspring, but you have defied the odds to join the ranks of the sturdy and resilient muls. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have darkvision, the ability to see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.\n \u2022 Your hit point maximum increases by 1, and it increases by 1 every time you gain a level.\n \u2022 Your speed is not reduced by wearing heavy armor and you never have disadvantage on Dexterity (Stealth) checks as a result of wearing heavy armor.",
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 to any ability score.]",
- vision : ["Darkvision", 60],
- calcChanges : {
- hp : function (totalHD) { return [totalHD, "Dwarven Toughness"]; }
- },
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have darkvision out to 60 feet. My hit point maximum increases by 1 for every level. Heavy armor doesn't reduce my speed or impose disadvantage on stealth. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["ogre-blooded"] = {
- name : "Ogre-Blooded",
- source : ["VSoS", 16],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Your coarse features and monstrous build betray that one of your parents is an ogre. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.\n \u2022 You gain proficiency in the Athletics skill. Additionally, when you make a Strength (Athletics) check, you can treat the result as a 10, or your level plus your Strength modifier, whichever is higher.\n \u2022 You count as one size larger when determining your carrying capacity and the weight you can push, drag, or lift.",
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 to any ability score.]",
- vision : ["Darkvision", 60],
- skills : ["Athletics"],
- carryingCapacity : 2,
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have darkvision. I gain proficiency in Athletics, and can treat the result of Str(Ath) checks as 10 or Level + Strength, whichever is higher. I count as one size larger for carry/push/drag/lift capacity. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["owlbearman"] = {
- name : "Owlbearman",
- source : ["VSoS", 16],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "You are a hulking thing of feathers, flesh, and fur; half-man, half-bear, and half-owl. None can say for sure what you are, other than the result of some mad wizard meddling in the gods’ domain. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You can attempt to grapple creatures two size categories larger than yourself, and you have advantage on grappling checks you make on your turn against creatures that are at least one size category smaller than you.\n \u2022 You have a long, hooked beak that you can use to make unarmed strikes. On a hit with it, you deal piercing damage equal to 1d6 + your Strength modifier instead of the bludgeoning damage normal for an unarmed strike.",
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 to any ability score.]",
- weaponOptions : {
- baseWeapon : "unarmed strike",
- regExpSearch : /^(?=.*(owlbearman))(?=.*beak).*$/i,
- name : "Owlbearman Beak",
- source : ["VSoS", 18],
- damage : [1, 6, "piercing"]
- },
- weaponsAdd : ["Owlbearman Beak"],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I can attempt to grapple creatures up to two sizes larger, and I have advantage on checks to grapple smaller creatures. I have a hooked beak I can use to make unarmed strikes, dealing 1d6 + Strength in piercing damage on a hit. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["porterling"] = {
- name : "Porterling",
- source : ["VSoS", 16],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "You are a porterling, parented both by a human and either a gnome or a halfling. You stand about as tall as a dwarf, but are far leaner—and if fathered by a gnome, also somewhat top-heavy. Though they are often confused for dwarves, porterlings can only rarely grow large or thick beards. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have advantage on checks you make to escape grapple or to slip bindings.\n \u2022 You suffer no penalty for squeezing into a space that is only large enough for a creature that is one size smaller than you.\n \u2022 You can roll a d8 whenever you make a long or high jump, adding the number rolled to the number of feet you cover, even when making a standing jump. This extra distance costs movement as normal.",
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 to any ability score.]",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have advantage on checks to escape grapples and slip bindings. I can squeeze into a space one size smaller without penalty. I can add 1d8 to my long and high jump distance. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["psionic"] = {
- name : "Psionic",
- source : ["VSoS", 17],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Most humans possess some dull psionic potential, but those who unlock their psionic spark transcend their peers. Sometimes, these humans are indistinguishable from ordinary folks, but other times their psionic awakening leaves a tell-tale mark: stark white hair, glowing pupils, or hair and clothing that float and drift around them. \n \2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \2022 You can use your action to probe the surface level of a creature's emotions. You must be able to see the creature and it must be within 30 feet and have an Intelligence of 3 or higher. You learn the creature's emotional state and, at the GM's discretion, one of the creature's Bonds.\n \2022 You know the mage hand cantrip, and the hand is invisible when you cast the cantrip with this trait.\n Starting at 3rd level, you can cast the unseen servant spell with this trait. Starting at 5th level, you can also cast the levitate spell with this trait. Once you cast unseen servant or levitate with this trait, you can't cast that spell with it again until you finish a long rest. You can also cast either of those spells using any spell slots you have of the appropriate level.\n Intelligence, Wisdom, or Charisma is your spellcasting ability for these spells when you cast them with this trait (choose when you select this race).",
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 to any ability score.]",
- features : {
- "empathy" : {
- name : "Empathy",
- minlevel : 1,
- tooltip : " (Empathy)",
- action : "action",
- }
- },
- spellcastingAbility : [4,5,6],
- spellcastingBonus : [{
- name : "Psionic (level 1)",
- level : [0, 0],
- spells : ["mage hand"],
- selection : ["mage hand"],
- firstCol : "atwill"
- }, {
- name : "Psionic (level 3)",
- level : [1, 1],
- spells : ["unseen servant"],
- selection : ["unseen servant"],
- firstCol : "oncelr",
- times : [0,0,1]
- }, {
- name : "Psionic (level 5)",
- level : [2, 2],
- spells : ["levitate"],
- selection : ["levitate"],
- firstCol : "oncelr",
- times : [0,0,0,0,1]
- }],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "As an action, choose a crea in 30 ft. and learn its emotional state and maybe one of its Bonds. I know the Mage Hand cantrip and the hand is invis. At 3rd level, cast Unseen Servant 1/LR. At 5th, cast Unseen Servant or Levitate 1/LR. Spells use Int, Wis, or Cha and can also be cast with spell slots. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["proto-man"] = {
- name : "Proto-Man",
- source : ["VSoS", 17],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "You come from a place of massive flora and ancient creatures; your people are hearty and robust, much like very early humans. You gain the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You always add your proficiency bonus to saving throws against being frightened.\n \u2022 When you take a short rest, you can automatically regain 1 hit die and can choose to spend it immediately. You can't use the ability again until you finish a long rest.",
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 to any ability score.]",
- savetxt : {
- text : ["Always add proficiency to saves vs. frightened"],
- },
- usages : 1,
- recovery : "long rest",
- limfeaname : "Recover 1 HD on SR",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I am always proficient in saving throws against being frightened. Once per long rest, when I take a short rest, I can regain 1 hit die and can spend it immediately. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["reptiloid"] = {
- name : "Reptiloid",
- source : ["VSoS", 18],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "You bear the abrasive skin, slitted eyes, and split tongue of a reptile—perhaps due to a dragonborn or kobold parent—which grant you the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 When you take the Attack action on your turn, you can replace one of your attacks with a lob of acid from your mouth. This is a special ranged attack with a range of 30 feet. You are proficient with it, and you add your Dexterity modifier to its attack and damage rolls. On a hit, the target takes 1d10 acid damage. This damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10).\n You can use your Acid Spit a number of times equal to your proficiency bonus, and you regain all expended uses when you finish a long rest.",
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 to any ability score.]",
- usages : "Prof bonus times per",
- recovery : "long rest",
- usagescalc : "event.value = What('Proficiency Bonus');",
- limfeaname : "Acid Spit",
- additional: ["1d10", "1d10", "1d10", "1d10", "2d10", "2d10", "2d10", "2d10", "2d10", "2d10", "3d10", "3d10", "3d10", "3d10", "3d10", "3d10", "4d10", "4d10", "4d10", "4d10"],
- weaponOptions : {
- regExpSearch : /^(?=.*acid)(?=.*spit).*$/i,
- name : "Acid Spit",
- source : ["VSoS", 18],
- ability : 2,
- type : "Natural",
- damage : ["C", 10, "acid"],
- modifiers : ["", ],
- range : "30 ft",
- description : "Replaces an attack during Attack action; prof. times per long rest",
- },
- weaponsAdd : ["Acid Spit"],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "Prof. times per long rest with the Attack action, I can replace an attack by spitting acid. Ranged attack 30 ft, hit: 1d10+Dex acid damage. +1d10 CL5/11/17 [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["roguean"] = {
- name : "Roguean",
- source : ["VSoS", 18],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "You hail from an icy, desolate land, prone to dramatic swings in temperature. Surviving the interminable harshness of your home gives you the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have resistance to cold damage.\n \u2022 You can tolerate temperatures as low as −100 degrees Fahrenheit and as high as 300 degrees Fahrenheit.\n \u2022 You have darkvision, the ability to see in dark and dim conditions. You can see in dim light within 60 feet of you as if it were bright light, and in darkness as if it were dim light. You can’t discern color in darkness, only shades of gray.",
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 to any ability score.]",
- vision : ["Darkvision", 60],
- dmgres : ["Cold"],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have resistance to cold damage and can tolerate temperatures from -100 to 300 Fahrenheit. I have darkvision out to 60 feet. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["stoneborn"] = {
- name : "Stoneborn",
- source : ["VSoS", 18],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "With cracked and abrasive skin, stoneborn appear as if they were roughly hewn from granite and have similarly rigid personalities. These near-humans are proud of their connection to Elemental Earth and believe themselves conquerors, fated to rule over every stone. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 Your Armor Class increases by 1.\n \u2022 You have advantage on ability checks and saving throws you make to resist being knocked prone or moved against you will.\n \u2022 By placing your hand on natural stone and using your action to focus, you can feel the presence of any natural gems or metals within 100 feet of you.",
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 to any ability score.]",
- limfeaname : "Sense minerals",
- action: ["action", ""],
- extraAC : [{
- mod : 1,
- }],
- savetxt : {
- adv_vs : ["being knocked prone or moved"],
- },
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "My AC increases by 1. I have advantage on checks and saving throws to avoid being knocked down or moved. I can touch natural stone and use my action sense natural gems/metals within 100 feet. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["stheno"] = {
- name : "Stheno",
- source : ["VSoS", 18],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "The offspring of medusas—named sthenos—are usually conceived before the mother begins their transformation. With sharp features and a nest of snakes for hair, sthenos can be easily mistaken for their monstrous parent, but possess a gaze that falls short of turning people into stone.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 When you take the Attack action on your turn, you can replace one of your attacks with an immobilizing gaze. Choose a creature you can see within 60 feet of you that can see you to make a Constitution saving throw (DC = 8 + your Constitution modifier + your proficiency bonus). A creature that is immune to being restrained automatically succeeds this saving throw. On a failed save, the creature is incapacitated and its speed becomes 0 until the start of your next turn.\n You can use your Immobilizing Gaze a number of times equal to your proficiency bonus, and you regain all expended uses when you finish a long rest.",
- description : "Prof. times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a Con save, fail: incapacitated and speed reduced to 0 until my next turn. [+1 to any ability score.]",
- usages : "Prof bonus times per",
- recovery : "long rest",
- usagescalc : "event.value = What('Proficiency Bonus');",
- limfeaname : "Immobilizing Gaze",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- calculate : "event.value = Number(What('Proficiency Bonus')) + ' (prof bonus) times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a DC ' + (8 + Number(What('Proficiency Bonus')) + Number(What('Con Mod'))) + ' Con save (DC = 8 + prof bonus + Con mod), fail: incap. and speed 0 until my next turn. [+1 Strength.]';",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- calculate : "event.value = Number(What('Proficiency Bonus')) + ' (prof bonus) times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a DC ' + (8 + Number(What('Proficiency Bonus')) + Number(What('Con Mod'))) + ' Con save (DC = 8 + prof bonus + Con mod), fail: incap. and speed 0 until my next turn. [+1 Dexterity.]';",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- calculate : "event.value = Number(What('Proficiency Bonus')) + ' (prof bonus) times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a DC ' + (8 + Number(What('Proficiency Bonus')) + Number(What('Con Mod'))) + ' Con save (DC = 8 + prof bonus + Con mod), fail: incap. and speed 0 until my next turn. [+1 Constitution.]';",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- calculate : "event.value = Number(What('Proficiency Bonus')) + ' (prof bonus) times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a DC ' + (8 + Number(What('Proficiency Bonus')) + Number(What('Con Mod'))) + ' Con save (DC = 8 + prof bonus + Con mod), fail: incap. and speed 0 until my next turn. [+1 Intelligence.]';",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- calculate : "event.value = Number(What('Proficiency Bonus')) + ' (prof bonus) times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a DC ' + (8 + Number(What('Proficiency Bonus')) + Number(What('Con Mod'))) + ' Con save (DC = 8 + prof bonus + Con mod), fail: incap. and speed 0 until my next turn. [+1 Wisdom.]';",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- calculate : "event.value = Number(What('Proficiency Bonus')) + ' (prof bonus) times per LR, with Attack action, I can replace an attack: A creature within 60 feet that can see me (immune to restrained: auto success) makes a DC ' + (8 + Number(What('Proficiency Bonus')) + Number(What('Con Mod'))) + ' Con save (DC = 8 + prof bonus + Con mod), fail: incap. and speed 0 until my next turn. [+1 Charisma.]';",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["tauran"] = {
- name : "Tauran",
- source : ["VSoS", 19],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Your large nose, strong jaw, and wide head do much to reveal your distantly bovine nature, but the prominent bull-horns atop your head reveal to all that you are half-minotaur. Taurans tower over most people and can solve mazes with ease, but typically possess only a shadow of their minotaur parent’s might. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You always know which direction is north, and you have advantage on any Wisdom(Survival) check you make to navigate or track.\n \u2022 On any turn in which you only move in a straight line, your speed increases by 10 feet.\n \u2022 You have two horns that you can use to effectively gore your enemies. The horns are a natural melee weapon that you can use to make unarmed strikes. On a hit with them, you deal piercing damage equal to 1d6 + your Strength modifier, instead of the bludgeoning damage normal for an unarmed strike.",
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 to any ability score.]",
- weaponOptions : {
- baseWeapon : "unarmed strike",
- regExpSearch : /^(?=.*(tauran))(?=.*horns).*$/i,
- name : "Tauran Horns",
- source : ["VSoS", 19],
- damage : [1, 6, "piercing"]
- },
- weaponsAdd : ["Tauran Horns"],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I always know which way is north, and have adv. on Wis(Sur) checks to navigate or track. If I move only in a straight line on my turn, my speed increases by 10 ft for that turn. I can use my horns to make unarmed attacks, dealing 1d6 + Strength in piercing damage on a hit. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["troll-blooded"] = {
- name : "Troll-Blooded",
- source : ["VSoS", 19],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "With their green-tinted and boil-ridden skin, spindly fingers, and pointed teeth, few people will mark troll-blooded individuals as half-human. These half-humans exclusively favor the look of their troll parentage and have immense difficulty in human society. You have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You retain some of the regenerative properties of your troll parentage. Whenever you have no more than one-fourth of your maximum hit points (rounded down), you regain 1 hit point each minute. You can't use this trait if you have 0 hit points.",
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 to any ability score.]",
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "Whenever I have more than zero but fewer than one-fourth of my maximum hit points (rounded down), I regain 1 hit point each minute. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["two-headed"] = {
- name : "Two-Headed",
- source : ["VSoS", 19],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Like ettins, you have two heads with differing personalities that jointly control your body.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have advantage on saving throws you make to avoid or end the following conditions on yourself: blinded, charmed, deafened, frightened.\n \u2022 Because one of your heads is always awake, you retain consciousness when you take a long rest.",
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 to any ability score.]",
- savetxt : {
- adv_vs : ["blinded", "charmed", "deafened", "frightened"],
- },
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I can retain consciousness while taking a long rest. I have advantage against blinded, charmed, deafened, and frightened. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["windswept"] = {
- name : "Windswept",
- source : ["VSoS", 19],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Carefree and constantly possessed of wanderlust, the extraordinarily pale windswept embody their connection to Elemental Air. Windswept humans are never likely to sleep in the same bed for two nights in a row; they are always moving, always exploring, and always following the wind. You are lighter than a normal human, capable of floating gently on the breeze, and have faint inborn power over the winds, which grant you have the following racial traits:\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 You have resistance to lightning damage.\n \u2022 You know the message cantrip. Starting at 3rd level, you can cast the feather fall spell with this trait. Starting at 5th level, you can also cast the gust of wind spell with this trait, without requiring a material component. Once you cast feather fall or gust of wind with this trait, you can’t cast that spell with it again until you finish a long rest. You can also cast either of those spells using any spell slots you have of the appropriate level.\n \u2022 Intelligence, Wisdom, or Charisma is your spellcasting ability for these spells when you cast them with this trait (choose when you select this race).",
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 to any ability score.]",
- dmgres: ["Lightning"],
- spellcastingAbility : [4,5,6],
- spellcastingBonus : [{
- name : "Windswept (level 1)",
- level : [0, 0],
- spells : ["message"],
- selection : ["message"],
- firstCol : "atwill"
- }, {
- name : "Windswept (level 3)",
- level : [1, 1],
- spells : ["feather fall"],
- selection : ["feather fall"],
- firstCol : "oncelr",
- times : [0,0,1]
- }, {
- name : "Windswept (level 5)",
- level : [2, 2],
- spells : ["gust of wind"],
- selection : ["gust of wind"],
- firstCol : "oncelr",
- times : [0,0,0,0,1]
- }],
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I resist lightning damage and I know the Message cantrip. At 3rd level, I can cast Feather Fall 1/LR. At 5th, I can cast Feather Fall or Gust of Wind 1/LR. Spells use Intelligence, Wisdom, or Charisma and can also be cast with spell slots. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- FeatsList["winged"] = {
- name : "Winged",
- source : ["VSoS", 19],
- prerequisite : "1st level only, Near-Human variant",
- prereqeval : function(v) {
- return classes.totallevel === 1 && CurrentRace.known === 'human' && CurrentRace.variant;
- },
- descriptionFull : "Winged humans, sometimes called Icarusians, are the offspring of aarakocra, harpies, or birdfolk. Depending on their parentage, these humans might possess feathers, talons, or beaks.\n \u2022 Increase one ability score of your choice by 1, to a maximum of 20.\n \u2022 Because of your wings, you have a flying speed equal to your walking speed. You can't use this flying speed if you’re wearing medium or heavy armor.",
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 to any ability score.]",
- speed : {
- fly : { spd : "walk", enc : "walk" },
- },
- choices : ["Strength", "Dexterity", "Constitution", "Intelligence", "Wisdom", "Charisma"],
- "strength" : {
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 Strength]",
- scores : [1, 0, 0, 0, 0, 0],
- },
- "dexterity" : {
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 Dexterity]",
- scores : [0, 1, 0, 0, 0, 0],
- },
- "constitution" : {
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 Constitution]",
- scores : [0, 0, 1, 0, 0, 0],
- },
- "intelligence" : {
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 Intelligence]",
- scores : [0, 0, 0, 1, 0, 0],
- },
- "wisdom" : {
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 Wisdom]",
- scores : [0, 0, 0, 0, 1, 0],
- },
- "charisma" : {
- description : "I have a flying speed equal to my walking speed. I can't use my flying speed while wearing medium or heavy armor. [+1 Charisma]",
- scores : [0, 0, 0, 0, 0, 1],
- }
- };
- // Add Valda's armors
- ArmourList["brigandine armor"] = {
- regExpSearch : /brigandine armor/i,
- name : "Brigandine Armor (Ex)",
- source : ["VSoS", 302],
- type : "light",
- ac : "13+Dex",
- weight : 20,
- list : "exotic"
- };
- ArmourList["banded plate"] = {
- regExpSearch : /banded plate/i,
- name : "Banded Plate (Ex)",
- source : ["VSoS", 302],
- type : "medium",
- ac : "15+Dex",
- weight : 25,
- list : "exotic",
- dex : 2
- };
- ArmourList["hero plate"] = {
- regExpSearch : /hero plate/i,
- name : "Hero Plate (Ex)",
- source : ["VSoS", 302],
- type : "medium",
- ac : "16+Dex",
- weight : 45,
- list : "exotic",
- dex : 2,
- stealthdis : true
- };
- ArmourList["lamellar armor"] = {
- regExpSearch : /lamellar armor/i,
- name : "Lamellar Armor (Ex)",
- source : ["VSoS", 302],
- type : "heavy",
- ac : "17",
- weight : 65,
- list : "exotic",
- stealthdis : true,
- strReq : 13
- };
- ArmourList["mountain plate"] = {
- regExpSearch : /Mountain Plate/i,
- name : "Mountain Plate (Ex)",
- source : ["VSoS", 302],
- type : "heavy",
- ac : "19",
- weight : 75,
- list : "exotic",
- stealthdis : true,
- strReq : 15
- };
- // Adjust SRD weapons to make the sheet stop interpreting Valda's weapon names as SRD weapons (e.g. katana -> longsword, nunchaku -> club, etc.)
- WeaponsList["club"].regExpSearch = /^(?!.*(great|heavy|big))(?=.*\b(club|bian)s?\b).*$/i;
- WeaponsList["greatclub"].regExpSearch = /^(?=.*(great|heavy|big|weida))(?=.*(club|bian)s?\b).*$|tetsubo/i;
- WeaponsList["sickle"].regExpSearch = /sickle/i;
- WeaponsList["dart"].regExpSearch = /dart/i;
- WeaponsList["flail"].regExpSearch = /^(?!.*(dire))(?=.*flail)/i;
- WeaponsList["glaive"].regExpSearch = /glaive|guandao|bisento/i;
- WeaponsList["spear"].regExpSearch = /^(?!.*agonizing)(?!.*eldritch)(?!.*rifle)(?!.*hinge)(?=.*(spear|qiang|\byaris?\b)).*$/i;
- WeaponsList["longsword"].regExpSearch = /\bjians?\b|^(((?=.*long)(?=.*sword))|((?!.*(burst|light|hand|short|small|great|heavy|hook|double|bastard|deckhammer|gunsword|whip))(?=.*\bswords?\b))).*$/i;
- WeaponsList["light crossbow"].regExpSearch = /^(((?=.*light)(?=.*crossbow))|((?!.*(hand|short|great|heavy|bolt|axe|repeating|automatic|sniper|wrist))(?=.*\bcrossbows?\b))).*$/i;
- WeaponsList["shortbow"].regExpSearch = /^(?!.*crossbow)(((?=.*short)(?=.*bow))|((?!.*(moon|long|bowblade))(?=.*\bbows?\b))).*$|hankyus?/i;
- WeaponsList["battleaxe"].regExpSearch = /^(((?=.*battle)(?=.*(axe|\bono|\bfu)s?\b))|((?!.*(light|hand|short|small|great|heavy|throw|crossbow|shotgun|))(?=.*\b(axe|fu|masakari)s?\b))).*$/i;
- WeaponsList["warhammer"].regExpSearch = /^(((?=.*hammer)(?=.*war))|((?!.*(light|hand|short|small|great|heavy|throw|maul|deckhammer))(?=.*\bhammers?\b))).*$/i;
- WeaponsList["quarterstaff"].regExpSearch = /quarterstaff/i;
- WeaponsList["whip"].regExpSearch = /whip/i;
- // Simple melee weapons
- WeaponsList["cestus"] = {
- regExpSearch : /cestus/i,
- name : "Cestus",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "bludgeoning"],
- range : "Melee",
- weight : 2,
- description : "Fist, light",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["claw gauntlet"] = {
- regExpSearch : /claw gauntlet/i,
- name : "Claw Gauntlet",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "slashing"],
- range : "Melee",
- weight : 2,
- description : "Fist, light",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["fishhook"] = {
- regExpSearch : /fishhook/i,
- name : "Fishhook",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 6, "piercing"],
- range : "Melee",
- weight : 3,
- description : "Versatile (1d8)",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["hook hand"] = {
- regExpSearch : /hook hand/i,
- name : "Hook Hand",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "piercing"],
- range : "Melee",
- weight : 1,
- description : "Finesse, light, replaces a hand",
- isAlwaysProf : true,
- special : true,
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["kama"] = {
- regExpSearch : /^(?=.*kama)(?!.*kusarigama).*$/i,
- name : "Kama",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "slashing"],
- range : "Melee",
- weight : 2,
- description : "Finesse, light",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["machete"] = {
- regExpSearch : /machete/i,
- name : "Machete",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 6, "Slashing"],
- range : "Melee",
- weight : 4,
- description : "Double damage to plants and plant creatures",
- special : true,
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["pickaxe"] = {
- regExpSearch : /pickaxe/i,
- name : "Pickaxe",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 10,
- description : "Two-handed",
- abilitytodamage : true,
- };
- WeaponsList["punching dagger"] = {
- regExpSearch : /punching dagger/i,
- name : "Punching Dagger",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "piercing"],
- range : "Melee",
- weight : 2,
- description : "Fist, light",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["sai"] = {
- regExpSearch : /sai/i,
- name : "Sai",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "piercing"],
- range : "Melee",
- weight : 2,
- description : "Finesse, light",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["scorpion on a stick"] = {
- regExpSearch : /scorpion on a stick/i,
- name : "Scorpion on a Stick",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 6, "poison"],
- range : "Melee",
- weight : 0.5,
- description : "",
- abilitytodamage : true,
- monkweapon : true
- };
- WeaponsList["shovel"] = {
- regExpSearch : /shovel/i,
- name : "Shovel",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 5,
- description : "Two-handed",
- abilitytodamage : true,
- };
- WeaponsList["tonfa"] = {
- regExpSearch : /tonfa/i,
- name : "Tonfa",
- source : ["VSoS", 292],
- list : "melee",
- ability : 1,
- type : "Simple",
- damage : [1, 4, "bludgeoning"],
- range : "Melee",
- weight : 1,
- description : "Light",
- abilitytodamage : true,
- monkweapon : true
- };
- // Martial melee weapons
- WeaponsList["bayonet"] = {
- regExpSearch : /bayonet/i,
- name : "Bayonet",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 4, "piercing"],
- range : "Melee",
- weight : 1,
- description : "Finesse, light, can use two-handed for 1d8 while mounted to a ranged weapon",
- tooltip : "Special: As an action, a bayonet can be mounted to any two-handed ranged weapon or removed from it. While mounted, you can use the bayonet to make a two-handed melee weapon attack, which deals 1d8 piercing damage on a hit.",
- special : true,
- abilitytodamage : true,
- };
- WeaponsList["catchpole"] = {
- regExpSearch : /catchpole/i,
- name : "Catchpole",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 6, "piercing"],
- range : "Melee",
- weight : 6,
- description : "Reach, two-handed, can attempt to grapple Large or smaller instead of damage",
- tooltip : "Special: This weapon is used to immobilize creatures at a distance. When you hit a creature of Large size or smaller with this weapon, you can attempt to grapple the creature instead of dealing damage. This grapple check uses your attack roll instead of a Strength (Athletics) check.",
- special : true,
- abilitytodamage : true,
- };
- WeaponsList["cutlass"] = {
- regExpSearch : /cutlass/i,
- name : "Cutlass",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 2,
- description : "Finesse",
- abilitytodamage : true,
- };
- WeaponsList["estoc"] = {
- regExpSearch : /estoc/i,
- name : "Estoc",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 3,
- description : "Versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["harpoon"] = {
- regExpSearch : /harpoon/i,
- name : "Harpoon",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 8, "piercing"],
- range : "Melee, 20/60 ft",
- weight : 4,
- description : "Thrown, special (see book)",
- tooltip : "You can use an action to tie a rope to the end of a harpoon before it is thrown. If a rope-tied harpoon hits a target, it becomes embedded in the target, and you can use an action on subsequent turns to hold fast to the rope and make an opposed Strength (Athletics) check against the target to pull it up to 10 feet closer to you. Additionally, when the target moves, you can use your reaction to make an opposed Strength (Athletics) check against it, preventing its movement on a success. If you use your action to do anything else, you lose your grip on the rope. If the target has hands, it can remove the harpoon as an action.",
- special : true,
- abilitytodamage : true,
- };
- WeaponsList["katana"] = {
- regExpSearch : /katana/i,
- name : "Katana",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 3,
- description : "Finesse, versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["khopesh"] = {
- regExpSearch : /khopesh/i,
- name : "Khopesh",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 6, "slashing"],
- range : "Melee",
- weight : 4,
- description : "Fiensse, light, trip",
- abilitytodamage : true,
- };
- WeaponsList["naginata"] = {
- regExpSearch : /naginata/i,
- name : "Naginata",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 10, "slashing"],
- range : "Melee",
- weight : 5,
- description : "Heavy, reach, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["nunchaku"] = {
- regExpSearch : /nunchaku/i,
- name : "Nunchaku",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Martial",
- damage : [1, 6, "bludgeoning"],
- range : "Melee",
- weight : 1,
- description : "Finesse, light",
- abilitytodamage : true,
- };
- // Exotic melee weapons
- WeaponsList["assassin's blade"] = {
- regExpSearch : /assassin's blade/i,
- name : "Assassin's Blade",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "slashing"],
- range : "Melee",
- weight : 1,
- description : "Concealable, elegant, finesse, light",
- abilitytodamage : true,
- };
- WeaponsList["bastard sword"] = {
- regExpSearch : /bastard sword/i,
- name : "Bastard Sword",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "slashing"],
- range : "Melee",
- weight : 8,
- description : "Versatile (1d12)",
- abilitytodamage : true,
- };
- WeaponsList["boomeraxe"] = {
- regExpSearch : /boomeraxe/i,
- name : "Boomeraxe",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "Melee, 20/60 ft",
- weight : 5,
- description : "Light, returning, thrown",
- abilitytodamage : true,
- };
- WeaponsList["chain whip"] = {
- regExpSearch : /chain whip/i,
- name : "Chain Whip",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "bludgeoning"],
- range : "Melee",
- weight : 7,
- description : "Finesse, reach",
- abilitytodamage : true,
- };
- WeaponsList["dervish"] = {
- regExpSearch : /dervish/i,
- name : "Dervish",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 6,
- description : "Double, finesse",
- abilitytodamage : true,
- };
- WeaponsList["dire flail"] = {
- regExpSearch : /dire flail/i,
- name : "Dire Flail",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "bludgeoning"],
- range : "Melee",
- weight : 7,
- description : "",
- abilitytodamage : true,
- };
- WeaponsList["double sword"] = {
- regExpSearch : /double sword/i,
- name : "Double Sword",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "slashing"],
- range : "Melee",
- weight : 6,
- description : "Double, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["dwarven waraxe"] = {
- regExpSearch : /dwarven waraxe/i,
- name : "Dwarven Waraxe",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [2, 8, "slashing"],
- range : "Melee",
- weight : 20,
- description : "Heavy, superheavy, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["elven foil"] = {
- regExpSearch : /elven foil/i,
- name : "Elven Foil",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 4,
- description : "Finesse, parrying",
- abilitytodamage : true,
- };
- WeaponsList["gnomish hooked hammer"] = {
- regExpSearch : /gnomish hooked hammer/i,
- name : "Gnomish Hooked Hammer",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "bludgeoning"],
- range : "Melee",
- weight : 6,
- description : "Trip, versatile (1d12)",
- abilitytodamage : true,
- };
- WeaponsList["greatspear"] = {
- regExpSearch : /greatspear/i,
- name : "Greatspear",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 12, "piercing"],
- range : "Melee",
- weight : 25,
- description : "Heavy, reach, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["grim scythe"] = {
- regExpSearch : /grim scythe/i,
- name : "Grim Scythe",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "slashing"],
- range : "Melee",
- weight : 6,
- description : "Finesse, versatile (1d12)",
- abilitytodamage : true,
- };
- WeaponsList["hook sword"] = {
- regExpSearch : /hook sword/i,
- name : "Hook Sword",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 10, "slashing"],
- range : "Melee",
- weight : 3,
- description : "Elegant, finesse, light, trip",
- abilitytodamage : true,
- };
- WeaponsList["meteor chain"] = {
- regExpSearch : /meteor chain/i,
- name : "Meteor Chain",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 12, "bludgeoning"],
- range : "Melee",
- weight : 8,
- description : "Heavy, reach, trip, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["mountain cleaver"] = {
- regExpSearch : /mountain cleaver/i,
- name : "Mountain Cleaver",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [2, 10, "slashing"],
- range : "Melee",
- weight : 50,
- description : "Heavy, massive, superheavy, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["parrying dagger"] = {
- regExpSearch : /parrying dagger/i,
- name : "Parrying Dagger",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "piercing"],
- range : "Melee",
- weight : 2,
- description : "Finesse, light, parrying",
- abilitytodamage : true,
- };
- WeaponsList["rocket fist"] = {
- regExpSearch : /rocket fist/i,
- name : "Rocket Fist",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "bludgeoning"],
- range : "Melee, 40/120 ft",
- weight : 2,
- description : "Fist, light, returning, rocket, thrown",
- abilitytodamage : true,
- };
- WeaponsList["spiked chain"] = {
- regExpSearch : /spiked chain/i,
- name : "Spiked Chain",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 15,
- description : "Double, reach, trip, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["spring glove"] = {
- regExpSearch : /spring glove/i,
- name : "Spring Glove",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "bludgeoning"],
- range : "Melee",
- weight : 2,
- description : "Finesse, fist, reach",
- abilitytodamage : true,
- };
- WeaponsList["zweihander"] = {
- regExpSearch : /zweihander/i,
- name : "Zweihander",
- source : ["VSoS", 293],
- list : "melee",
- ability : 1,
- type : "Exotic",
- damage : [2, 8, "slashing"],
- range : "Melee",
- weight : 16,
- description : "Heavy, superheavy, two-handed",
- abilitytodamage : true,
- };
- // Simple ranged weapons
- WeaponsList["bolas"] = {
- regExpSearch : /bolas/i,
- name : "Bolas",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Simple",
- damage : [0, 0, ""],
- range : "20/60 ft",
- weight : 2,
- description : "Thrown, knocks tgt prone; DC 10 Str check or 5 slashing damage to bolas (AC 10) to free",
- tooltip : "Special: A creature hit by a bolas falls prone until it is freed. A creature can use its action to make a DC 10 Strength check, freeing itself or another creature within its reach on a success. Dealing 5 slashing damage to the bolas (AC 10) also frees the creature without harming it, ending the effect and destroying the bolas. You can only throw one bolas on your turn.",
- special : true,
- abilitytodamage : true,
- };
- WeaponsList["shuriken"] = {
- regExpSearch : /shuriken/i,
- name : "Shuriken",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Simple",
- damage : [1, 4, "slashing"],
- range : "20/60 ft",
- weight : 0.25,
- description : "Finesse, thrown",
- abilitytodamage : true,
- };
- // Martial ranged weapons
- WeaponsList["atlatl"] = {
- regExpSearch : /atlatl/i,
- name : "Atlatl",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Martial",
- damage : [1, 6, "piercing"],
- range : "30/120 ft",
- weight : 1,
- description : "Ammunition",
- ammo : "javelin",
- abilitytodamage : true,
- };
- WeaponsList["boomerang"] = {
- regExpSearch : /boomerang/i,
- name : "Boomerang",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Martial",
- damage : [1, 4, "bludgeoning"],
- range : "60/180 ft",
- weight : 0.25,
- description : "Light, returning, thrown",
- abilitytodamage : true,
- };
- WeaponsList["chakram"] = {
- regExpSearch : /chakram/i,
- name : "Chakram",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Martial",
- damage : [1, 4, "slashing"],
- range : "20/60 ft",
- weight : 1,
- description : "Finesse, light, returning, thrown",
- abilitytodamage : true,
- };
- WeaponsList["repeating crossbow"] = {
- regExpSearch : /repeating crossbow/i,
- name : "Repeating Crossbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Martial",
- damage : [1, 8, "piercing"],
- range : "100/400 ft",
- weight : 20,
- description : "Ammunition, heavy, reload (5), two-handed",
- ammo : "bolt",
- abilitytodamage : true,
- };
- WeaponsList["throwing dagger"] = {
- regExpSearch : /throwing dagger/i,
- name : "Throwing Dagger",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Martial",
- damage : [1, 4, "slashing"],
- range : "60/180 ft",
- weight : 1,
- description : "Finesse, light, thrown",
- abilitytodamage : true,
- };
- // Exotic ranged weapons
- WeaponsList["bomb"] = {
- regExpSearch : /bomb/i,
- name : "Bomb",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 10, "fire"],
- range : "30/90 ft",
- weight : 1,
- description : "Finesse, thrown, special (see book)",
- tooltip : "Special: When a bomb hits a target, it explodes in a 5-foot radius and is destroyed. The bomb can be thrown at an unoccupied space within its range. Each creature other than the target within the blast radius must succeed on a DC 11 Dexterity saving throw, taking half the damage rolled on a failed save or no damage on a successful one." + "\n " + "Additionally, as a bonus action, you can empty some of the bomb’s explosive material to permanently remove the blast radius from this bomb, dealing damage only to the bomb’s target.",
- special : true,
- abilitytodamage : true,
- };
- WeaponsList["automatic crossbow"] = {
- regExpSearch : /automatic crossbow/i,
- name : "Automatic Crossbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "60/240 ft",
- weight : 25,
- description : "Ammunition, automatic, reload (10), two-handed",
- ammo : "bolt",
- abilitytodamage : true,
- };
- WeaponsList["sniper crossbow"] = {
- regExpSearch : /sniper crossbow/i,
- name : "Sniper Crossbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 12, "piercing"],
- range : "150/600 ft",
- weight : 20,
- description : "Ammunition, heavy, loading, sighted, two-handed",
- ammo : "bolt",
- abilitytodamage : true,
- };
- WeaponsList["wrist crossbow"] = {
- regExpSearch : /wrist crossbow/i,
- name : "Wrist Crossbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "30/120 ft",
- weight : 6,
- description : "Ammunition, concealable, light, loading",
- ammo : "bolt",
- abilitytodamage : true,
- };
- WeaponsList["demolition bow"] = {
- regExpSearch : /demolition bow/i,
- name : "Demolition Bow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 8, "fire"],
- range : "80/320 ft",
- weight : 4,
- description : "Ammunition, explosive, two-handed",
- ammo : "arrow",
- abilitytodamage : true,
- };
- WeaponsList["doomerang"] = {
- regExpSearch : /doomerang/i,
- name : "Doomerang",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 6, "fire"],
- range : "60/180 ft",
- weight : 0.5,
- description : "Explosive, finesse, thrown",
- abilitytodamage : true,
- };
- WeaponsList["edged card"] = {
- regExpSearch : /edged card/i,
- name : "Edged Card",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "20/60 ft",
- weight : 0,
- description : "Elegant, finesse, light, thrown",
- abilitytodamage : true,
- };
- WeaponsList["elven longbow"] = {
- regExpSearch : /elven longbow/i,
- name : "Elven Longbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 10, "piercing"],
- range : "100/400 ft",
- weight : 3,
- description : "Ammunition, heavy, two-handed",
- ammo : "arrow",
- abilitytodamage : true,
- };
- WeaponsList["goliath sling"] = {
- regExpSearch : /goliath sling/i,
- name : "Goliath Sling",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 10, "bludgeoning"],
- range : "100/400 ft",
- weight : 1,
- description : "Ammunition, heavy, tension, two-handed",
- ammo : "bullet",
- abilitytodamage : true,
- };
- WeaponsList["greatbow"] = {
- regExpSearch : /greatbow/i,
- name : "Greatbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 10, "piercing"],
- range : "100/400 ft",
- weight : 8,
- description : "Ammunition, heavy, tension, two-handed",
- ammo : "greatbow",
- abilitytodamage : true,
- };
- WeaponsList["portable ballista"] = {
- regExpSearch : /portable ballista/i,
- name : "Portable Ballista",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "100/400 ft",
- weight : 40,
- description : "Ammunition, heavy, loading, mounted, two-handed",
- ammo : "ballista",
- abilitytodamage : true,
- };
- WeaponsList["shotbow"] = {
- regExpSearch : /shotbow/i,
- name : "Shotbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "30/90 ft",
- weight : 8,
- description : "Ammunition, heavy, scatter, two-handed",
- ammo : "arrow",
- abilitytodamage : true,
- };
- WeaponsList["twinbow"] = {
- regExpSearch : /twinbow/i,
- name : "Twinbow",
- source : ["VSoS", 294],
- list : "ranged",
- ability : 2,
- type : "Exotic",
- damage : [1, 10, "piercing"],
- range : "100/400 ft",
- weight : 4,
- description : "Ammunition, heavy, twinshot, two-handed",
- ammo : "arrow",
- abilitytodamage : true,
- };
- // Simple renaissance firearms
- WeaponsList["flintlock"] = {
- regExpSearch : /flintlock/i,
- name : "Flintlock",
- source : ["VSoS", 296],
- list : "renaissance firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 6, "piercing"],
- range : "30/120 ft",
- weight : 6,
- description : "Ammunition, dry, light, loading, misfire",
- ammo : "firearm",
- abilitytodamage : true,
- };
- // Martial renaissance firearms
- WeaponsList["blunderbuss"] = {
- regExpSearch : /blunderbuss/i,
- name : "Blunderbuss",
- source : ["VSoS", 296],
- list : "renaissance firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "piercing"],
- range : "30/90 ft",
- weight : 8,
- description : "Ammunition, dry, heavy, loading, misfire, scatter (2d10), two-handed",
- ammo : "shot",
- abilitytodamage : true,
- };
- WeaponsList["musket"] = {
- regExpSearch : /musket/i,
- name : "Musket",
- source : ["VSoS", 296],
- list : "renaissance firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "piercing"],
- range : "80/320 ft",
- weight : 10,
- description : "Ammunition, dry, loading, misfire, two-handed",
- ammo : "musket",
- abilitytodamage : true,
- };
- // Exotic renaissance firearms
- WeaponsList["duck's foot"] = {
- regExpSearch : /duck's foot/i,
- name : "Duck's Foot",
- source : ["VSoS", 296],
- list : "renaissance firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "30/120 ft",
- weight : 12,
- description : "Ammunition, dry, light, loading, misfire, twinshot",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["volley gun"] = {
- regExpSearch : /volley gun/i,
- name : "Volley Gun",
- source : ["VSoS", 296],
- list : "renaissance firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "100/400 ft",
- weight : 40,
- description : "Ammunition, dry, heavy, misfire, reload (10, 2 actions), two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- // Simple industrial age firearms
- WeaponsList["double-barrel shotgun"] = {
- regExpSearch : /double-barrel shotgun/i,
- name : "Double-Barrel Shotgun",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 6, "piercing"],
- range : "10/30 ft",
- weight : 8,
- description : "Ammunition, reload (2), scatter (2d8), two-handed",
- ammo : "shell",
- abilitytodamage : true,
- };
- WeaponsList["hunting rifle"] = {
- regExpSearch : /hunting rifle/i,
- name : "Hunting Rifle",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 6, "piercing"],
- range : "80/320 ft",
- weight : 8,
- description : "Ammunition, reload (5), two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["parlor gun"] = {
- regExpSearch : /parlor gun/i,
- name : "Parlor Gun",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 4, "piercing"],
- range : "30/120 ft",
- weight : 2,
- description : "Ammunition, concealable, light, reload (2)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["revolver"] = {
- regExpSearch : /revolver/i,
- name : "revolver",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 6, "piercing"],
- range : "60/240 ft",
- weight : 3,
- description : "Ammunition, reload (6)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- // Martial industrial age firearms
- WeaponsList["gatling gun"] = {
- regExpSearch : /gatling gun/i,
- name : "Gatling Gun",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "piercing"],
- range : "80/320 ft",
- weight : 125,
- description : "Ammunition, automatic, heavy, mounted, reload (40), two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["harpoon gun"] = {
- regExpSearch : /harpoon gun/i,
- name : "Harpoon Gun",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "piercing"],
- range : "30/120 ft",
- weight : 10,
- description : "Ammunition, loading",
- ammo : "harpoon",
- abilitytodamage : true,
- };
- WeaponsList["light cannon"] = {
- regExpSearch : /light cannon/i,
- name : "Light Cannon",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 12, "bludgeoning"],
- range : "80/320 ft",
- weight : 225,
- description : "Ammunition, heavy, mounted, reload (1, 2 actions), special, two-handed",
- special : true,
- ammo : "cannonball",
- tooltip : "This weapon deals double damage to objects and structures.",
- abilitytodamage : true,
- };
- // Exotic industrial age firearms
- WeaponsList["double handgun"] = {
- regExpSearch : /double handgun/i,
- name : "Double Handgun",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "30/120 ft",
- weight : 6,
- description : "Ammunition, reload (6), twinshot",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["dragon rifle"] = {
- regExpSearch : /dragon rifle/i,
- name : "Dragon Rifle",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 10, "fire"],
- range : "100/400 ft",
- weight : 8,
- description : "Ammunition, dry, heavy, loading, two-handed",
- ammo : "dragon",
- abilitytodamage : true,
- };
- WeaponsList["quadruple-barrel shotgun"] = {
- regExpSearch : /quadruple-barrel shotgun/i,
- name : "Quadruple-Barrel Shotgun",
- source : ["VSoS", 296],
- list : "industrial age firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "30/90 ft",
- weight : 16,
- description : "Ammunition, heavy, reload (4), twinshot, scatter (2d10), two-handed",
- ammo : "shell",
- abilitytodamage : true,
- };
- // Simple modern firearms
- WeaponsList["handgun"] = {
- regExpSearch : /handgun/i,
- name : "Handgun",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 6, "piercing"],
- range : "60/240 ft",
- weight : 3,
- description : "Ammunition, reload (10)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["submachine gun"] = {
- regExpSearch : /submachine gun/i,
- name : "Submachine Gun",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Simple",
- damage : [2, 4, "piercing"],
- range : "10/40 ft",
- weight : 6,
- description : "Ammunition, automatic, light, reload (16), foregrip",
- ammo : "firearm",
- abilitytodamage : true,
- };
- // Martial modern firearms
- WeaponsList["assault rifle"] = {
- regExpSearch : /assault rifle/i,
- name : "Assault Rifle",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 6, "piercing"],
- range : "80/320 ft",
- weight : 7,
- description : "Ammunition, automatic, reload (20), two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["grenade launcher"] = {
- regExpSearch : /grenade launcher/i,
- name : "Grenade Launcher",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "fire"],
- range : "80/320 ft",
- weight : 10,
- description : "Ammunition, explosive, loading, two-handed",
- ammo : "grenade",
- abilitytodamage : true,
- };
- WeaponsList["magnum"] = {
- regExpSearch : /magnum/i,
- name : "Magnum",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "piercing"],
- range : "50/200 ft",
- weight : 6,
- description : "Ammunition, heavy, reload (6)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["pump shotgun"] = {
- regExpSearch : /pump shotgun/i,
- name : "Pump Shotgun",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 6, "piercing"],
- range : "30/90 ft",
- weight : 7,
- description : "Ammunition, heavy, reload (10), scatter (2d8), two-handed",
- ammo : "shell",
- abilitytodamage : true,
- };
- WeaponsList["rocket launcher"] = {
- regExpSearch : /rocket launcher/i,
- name : "Rocket Launcher",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 10, "fire"],
- range : "80/320 ft",
- weight : 20,
- description : "Ammunition, heavy, reload (1, 2 actions), special, two-handed",
- tooltip : "Special: This weapon deals double damage to objects and structures.",
- ammo : "rocket",
- abilitytodamage : true,
- };
- WeaponsList["sniper rifle"] = {
- regExpSearch : /sniper rifle/i,
- name : "Sniper Rifle",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Martial",
- damage : [2, 8, "piercing"],
- range : "150/560 ft",
- weight : 8,
- description : "Ammunition, heavy, reload (4), sighted, two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- // Exotic modern firearms
- WeaponsList["anti-materiel rifle"] = {
- regExpSearch : /^(?=.*anti)(?=.*(material|materiel)(?=.*rifle)).*$/i,
- name : "Anti-Materiel Rifle",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 10, "piercing"],
- range : "150/450 ft",
- weight : 30,
- description : "Ammunition, heavy, loading, sighted, two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["assault shotgun"] = {
- regExpSearch : /assault shotgun/i,
- name : "Assault Shotgun",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "10/30 ft",
- weight : 10,
- description : "Ammunition, automatic, heat, heavy, scatter (2d10), reload (8), two-handed",
- ammo : "shell",
- abilitytodamage : true,
- };
- WeaponsList["briefcase gun"] = {
- regExpSearch : /briefcase gun/i,
- name : "Briefcase Gun",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "30/120 ft",
- weight : 6,
- description : "Ammunition, concealable, reload (10)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["explosive magnum"] = {
- regExpSearch : /explosive magnum/i,
- name : "Explosive Magnum",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "fire"],
- range : "50/200 ft",
- weight : 8,
- description : "Ammunition, explosive, heavy, reload (4)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["multi-rocket launcher"] = {
- regExpSearch : /multi-rocket launcher/i,
- name : "Multi-Rocket Launcher",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "fire"],
- range : "30/90 ft",
- weight : 22,
- description : "Ammunition, explosive, heavy, loading, scatter (2d10), two-handed",
- ammo : "rocket",
- abilitytodamage : true,
- };
- WeaponsList["revolving grenade launcher"] = {
- regExpSearch : /revolving grenade launcher/i,
- name : "Revolving Grenade Launcher",
- source : ["VSoS", 297],
- list : "modern firearms",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "fire"],
- range : "100/400 ft",
- weight : 16,
- description : "Ammunition, explosive, heavy, reload (6), two-handed",
- ammo : "grenade",
- abilitytodamage : true,
- };
- // Switch weapons
- /* In Valda's, "switch weapons" are weapons that can be freely used in one of two distinct forms. The mechanic doesn't neatly map onto any existing structure in the game, so here, they are each coded as two separate weapons, one for each form, with the weight of the weapon divided evenly between them. Players using one of these weapons should be sure to take both of the paired forms. For instance, a player equipping the Bowblade should select both the "Bowblade (Bow)" and the "Bowblade (Blade)" */
- WeaponsList["bowblade blade"] = {
- regExpSearch : /^(?=.*bowblade)(?=.*blade).*$/i,
- name : "Bowblade (Blade)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 1.5,
- description : "Versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["bowblade bow"] = {
- regExpSearch : /^(?=.*bowblade)(?=.*bow).*$/i,
- name : "Bowblade (Bow)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 2,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "150/600 ft",
- weight : 1.5,
- description : "Ammunition, heavy, two-handed",
- ammo : "arrow",
- abilitytodamage : true,
- };
- WeaponsList["brass knuckle revolver knuckle"] = {
- regExpSearch : /^(?=.*brass)(?=.*kuckle)(?=.*revolver)(?=.*knuckle).*$/i,
- name : "Brass Knuckle Revolver (Knuckle)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "bludgeoning"],
- range : "Melee",
- weight : 1,
- description : "Fist",
- abilitytodamage : true,
- };
- WeaponsList["brass knuckle revolver revolver"] = {
- regExpSearch : /^(?=.*brass)(?=.*kuckle)(?=.*revolver)(?=.*revolver).*$/i,
- name : "Brass Knuckle Revolver (Revolver)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 2,
- type : "Exotic",
- damage : [2, 6, "piercing"],
- range : "30/120 ft",
- weight : 1,
- description : "Ammunition, reload (6)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["axe crossbow axe"] = {
- regExpSearch : /^(?=.*axe)(?=.*crossbow)(?=.*axe).*$/i,
- name : "Axe Crossbow (Axe)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 12, "slashing"],
- range : "Melee",
- weight : 9,
- description : "Heavy, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["axe crossbow crossbow"] = {
- regExpSearch : /^(?=.*axe)(?=.*crossbow)(?=.*crossbow).*$/i,
- name : "Axe Crossbow (Crossbow)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 2,
- type : "Exotic",
- damage : [1, 10, "piercing"],
- range : "100/400 ft",
- weight : 9,
- description : "Ammunition, heavy, loading, two-handed",
- ammo : "bolt",
- abilitytodamage : true,
- };
- WeaponsList["deckhammer sword"] = {
- regExpSearch : /^(?=.*deckhammer)(?=.*sword).*$/i,
- name : "Deckhammer (Sword)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 5,
- description : "",
- abilitytodamage : true,
- };
- WeaponsList["deckhammer hammer"] = {
- regExpSearch : /^(?=.*deckhammer)(?=.*hammer).*$/i,
- name : "Deckhammer (Hammer)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 12, "bludgeoning"],
- range : "Melee",
- weight : 5,
- description : "Heavy, reach, superheavy, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["gunsword sword"] = {
- regExpSearch : /^(?=.*gunsword)(?=.*sword).*$/i,
- name : "Gunsword (Sword)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 2,
- description : "Finesse, versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["gunsword gun"] = {
- regExpSearch : /^(?=.*gunsword)(?=.*gun).*$/i,
- name : "Gunsword (Gun)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 2,
- type : "Exotic",
- damage : [2, 6, "piercing"],
- range : "30/120 ft",
- weight : 2,
- description : "Ammunition, reload (6)",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["hinge spear double"] = {
- regExpSearch : /^(?=.*hinge)(?=.*spear)(?=.*double).*$/i,
- name : "Hinge Spear (Double)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 7.5,
- description : "Double, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["hinge spear single"] = {
- regExpSearch : /^(?=.*hinge)(?=.*spear)(?=.*single).*$/i,
- name : "Hinge Spear (Single)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 12, "bludgeoning"],
- range : "Melee",
- weight : 7.5,
- description : "Heavy, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["kusarigama kama"] = {
- regExpSearch : /^(?=.*kusarigama)(?=.*kama).*$/i,
- name : "Kusarigama (Kama)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "slashing"],
- range : "Melee",
- weight : 5,
- description : "Finesse, light",
- abilitytodamage : true,
- };
- WeaponsList["kusarigama weight"] = {
- regExpSearch : /^(?=.*kusarigama)(?=.*weight).*$/i,
- name : "Kusarigama (Weight)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "bludgeoning"],
- range : "Melee",
- weight : 5,
- description : "Reach, trip, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["rifle spear spear"] = {
- regExpSearch : /^(?=.*rifle)(?=.*spear)(?=.*spear).*$/i,
- name : "Rifle Spear (Spear)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "piercing"],
- range : "Melee",
- weight : 6,
- description : "Finesse, versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["rifle spear rifle"] = {
- regExpSearch : /^(?=.*rifle)(?=.*spear)(?=.*rifle).*$/i,
- name : "Rifle Spear (Rifle)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 2,
- type : "Exotic",
- damage : [2, 8, "piercing"],
- range : "100/400 ft",
- weight : 6,
- description : "Ammunition, heavy, loading, two-handed",
- ammo : "firearm",
- abilitytodamage : true,
- };
- WeaponsList["shotgun axe axe"] = {
- regExpSearch : /^(?=.*shotgun)(?=.*axe)(?=.*axe).*$/i,
- name : "Shotgun Axe (Axe)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 12, "slashing"],
- range : "Melee",
- weight : 7.5,
- description : "Heavy, two-handed",
- abilitytodamage : true,
- };
- WeaponsList["shotgun axe shotgun"] = {
- regExpSearch : /^(?=.*shotgun)(?=.*axe)(?=.*shotgun).*$/i,
- name : "Shotgun Axe (Shotgun)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 2,
- type : "Exotic",
- damage : [2, 6, "piercing"],
- range : "30/90 ft",
- weight : 7.5,
- description : "Ammunition, heavy, reload (10), scatter (2d8), two-handed",
- ammo : "shell",
- abilitytodamage : true,
- };
- WeaponsList["split staff split"] = {
- regExpSearch : /^(?=.*split)(?=.*staff)(?=.*split).*$/i,
- name : "Split Staff (Split)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "bludgeoning"],
- range : "Melee",
- weight : 2,
- description : "Light, two identical weapons",
- abilitytodamage : true,
- };
- WeaponsList["split staff joined"] = {
- regExpSearch : /^(?=.*split)(?=.*staff)(?=.*joined).*$/i,
- name : "Split Staff (Joined)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "bludgeoning"],
- range : "Melee",
- weight : 2,
- description : "Double, versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["split swords split"] = {
- regExpSearch : /^(?=.*split)(?=.*swords)(?=.*split).*$/i,
- name : "Split Swords (Split)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "slashing"],
- range : "Melee",
- weight : 2.5,
- description : "Light, finesse, two identical weapons",
- abilitytodamage : true,
- };
- WeaponsList["split swords joined"] = {
- regExpSearch : /^(?=.*split)(?=.*swords)(?=.*joined).*$/i,
- name : "Split Swords (Joined)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 2.5,
- description : "Double, versatile (1d10)",
- abilitytodamage : true,
- };
- WeaponsList["whip sword whip"] = {
- regExpSearch : /^(?=.*whip)(?=.*sword)(?=.*whip).*$/i,
- name : "Whip Sword (Whip)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 6, "slashing"],
- range : "Melee",
- weight : 3,
- description : "Finesse, reach",
- abilitytodamage : true,
- };
- WeaponsList["whip sword sword"] = {
- regExpSearch : /^(?=.*whip)(?=.*sword)(?=.*sword).*$/i,
- name : "Whip Sword (Sword)",
- source : ["VSoS", 299],
- list : "switch",
- ability : 1,
- type : "Exotic",
- damage : [1, 8, "slashing"],
- range : "Melee",
- weight : 3,
- description : "Finesse, versatile (1d10)",
- abilitytodamage : true,
- };
- // Valda's ammunition types
- AmmoList["greatbow"] = {
- name : "Greatbow Arrows",
- source : ["VSoS", 294],
- weight : 2,
- icon : "Arrows"
- };
- AmmoList["ballista"] = {
- name : "Ballista Bolts",
- weight : 2,
- source : ["VSoS", 294],
- icon : "Spears",
- };
- AmmoList["shot"] = {
- name : "Blunderbuss Shot",
- weight : 0.2,
- source : ["VSoS", 295],
- icon : "Bullets",
- };
- AmmoList["firearm"] = {
- name : "Firearm Bullets",
- source : ["VSoS", 295],
- weight : 0.2,
- icon : "Bullets"
- };
- AmmoList["cannonball"] = {
- name : "Cannonballs",
- source : ["VSoS", 295],
- weight : 10,
- icon : "Bullets"
- };
- AmmoList["dragon"] = {
- name : "Dragon Bullets",
- source : ["VSoS", 295],
- weight : 0,
- icon : "Bullets"
- };
- AmmoList["grenade"] = {
- name : "Grenades",
- source : ["VSoS", 295],
- weight : 3,
- icon : "Flasks"
- };
- AmmoList["harpoon"] = {
- name : "Harpoons",
- source : ["VSoS", 295],
- weight : 4,
- icon : "Spears"
- };
- AmmoList["musket"] = {
- name : "Musket Balls",
- source : ["VSoS", 295],
- weight : 2,
- icon : "Bullets"
- };
- AmmoList["rocket"] = {
- name : "Rockets",
- source : ["VSoS", 295],
- weight : 6,
- icon : "Bullets"
- };
- AmmoList["shell"] = {
- name : "Shells",
- source : ["VSoS", 295],
- weight : 2,
- icon : "Bullets"
- };
- // This section adds the new spells from VSoS
- SpellsList["abduct"] = {
- name : "Abduct",
- classes : ["necromancer", "witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 329],
- level : 7,
- school : "Conj",
- time : "1 min",
- range : "1 mile",
- components : "V,S,M",
- compMaterial : "A silver saucer",
- duration : "1 h",
- save : "Cha",
- description : "1 known crea in range save or teleport w/in 30 ft of me; sit/stand/prone/bound; stay or return at end",
- descriptionFull : "This spell teleports a creature to your location. Choose a creature within range that is known to you as the target of this spell. An unwilling creature can make a Charisma saving throw to resist this effect. The target is placed at a location of your choice within 30 feet of you. You choose if the target is sitting, standing, prone, or bound with nearby restraints. At the end of the spell’s duration, you can choose whether the target remains at your location or is teleported back to the location from which it was abducted."
- };
- SpellsList["aberrate"] = {
- name : "Aberrate",
- classes : ["witch", "druid", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 329],
- level : 2,
- school : "Trans",
- time : "1 a",
- range : "Self",
- components : "V,S",
- duration : "1 min",
- description : "I don't take extra dmg from crits; after taking dmg, rea to resist that dmg type (not the trigger dmg)",
- descriptionFull : "This spell causes your anatomy to become fluid, constantly refreshing into new and more terrible shapes. For the duration, you do not take extra damage from critical hits." + "\n " + "Additionally, your body adapts to threats as it warps. Immediately after you take damage while this spell is active, you can use your reaction to gain resistance to that damage type until this spell ends or until you use this ability again to gain resistance to a different damage type. This resistance doesn't apply to the triggering damage."
- };
- SpellsList["accelerate/decelerate"] = {
- name : "Accelerate/Decelerate",
- classes : ["bard", "sorcerer", "wizard"],
- source : ["VSoS", 329],
- level : 1,
- school : "Trans",
- time : "1 rea",
- timefull : "1 reaction, which you take when a creature you can see within 60 feet is hit with an attack",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A drop of oil or a drop of molasses",
- duration : "Instantaneous",
- description : "Triggering attack damage is increased or decreased by 1d6+1d6/SL+spell mod",
- descriptionFull : "This spell speeds up or slows down an attack the instant before it strikes, lessening or multiplying its force." + "\n " + toUni("Accelerate") + ": Increase the damage the target takes by 1d6 + your spellcasting ability modifier." + "\n " + toUni("Decelerate") + ": Reduce the damage the target takes by 1d6 + your spellcasting ability modifier (to a minimum of 0 damage)." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the change in damage increases by 1d6 for each slot level above 1st."
- };
- SpellsList["accursed act"] = {
- name : "Accursed Act",
- classes : ["witch"],
- source : ["VSoS", 329],
- level : 1,
- school : "Ench",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "Incense or a black candle",
- duration : "Conc, 1 min",
- save : "Wis",
- description : "1 crea save or 1d8+1d8/SL+spell mod Psy dmg 1/turn on atk or cast; if not, rpt save at EOT to end",
- descriptionFull : "Lighting a candle, you speak dark curses in a lost tongue, directed at one creature you can see within range. That creature must make a Wisdom saving throw or be cursed for the duration. While cursed, the creature takes psychic damage once per turn equal to 1d8 + your spellcasting ability modifier whenever it attacks or casts a spell. If the target doesn’t attack or cast a spell on its turn, it can repeat their saving throw at the end of their turn, ending the effect on a success." + "\n " + "A remove curse spell ends this curse early." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, you deal an additional 1d8 psychic damage for each slot level above 1st."
- };
- SpellsList["action"] = {
- name : "Action",
- classes : ["witch", "bard", "paladin", "sorcerer", "wizard"],
- source : ["VSoS", 329],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "30 ft",
- components : "V,S,M",
- compMaterial : "A shaving of licorice root",
- duration : "1 rnd",
- description : "1 willing crea gets add'l action next turn to Attack (1 wea atk), Dash, Diseng., Hide, or Use Object",
- descriptionFull : "Choose a willing creature that you can see within range. During its next turn, the target gains an additional action. That action can be used only to take the Attack (one weapon attack only), Dash, Disengage, Hide, or Use an Object action."
- };
- SpellsList["aerial alacrity"] = {
- name : "Aerial Alacrity",
- classes : ["witch", "druid", "sorcerer", "wizard"],
- source : ["VSoS", 330],
- level : 2,
- school : "Trans",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A feather from a bird of prey",
- duration : "10 min",
- description : "1 willing crea w/fly speed gets hover, adv on Dex(Acro) chks, no AoO when flying, bns to Dash",
- descriptionFull : "Target a willing creature you can see within range that has a flying speed (including those with a temporary or magically bestowed flying speed). That creature gains the following benefits for the duration:" + "\n \u2022" + "The target can take the Dash action as a bonus action." + "\n \u2022" + "The target can hover." + "\n \u2022" + "The target has advantage on Dexterity (Acrobatics) checks." + "\n \u2022" + "The target doesn’t provoke an opportunity attack when it flies out of an enemy’s reach."
- };
- SpellsList["after image"] = {
- name : "After Image",
- classes : ["investigator", "ranger", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 330],
- level : 3,
- school : "Illus",
- time : "1 a",
- range : "Self",
- components : "V,S,M\u0192",
- compMaterial : "A silver hand mirror worth 50 gp",
- duration : "10 min",
- ritual: false,
- description : "When hit by atk, 50/50 it hits illus. duplicate; it disappears until I move 10 ft or Dodge (50 gp)",
- descriptionFull : "You create an illusory duplicate of yourself which follows your every movement. When you are hit by an attack during the spell’s duration, roll any die. On an odd roll, the attack targets and hits the duplicate instead of you. The duplicate vanishes, reappearing after you move 10 feet or more or take the Dodge action. On an even roll, the attack targets you as normal."
- };
- SpellsList["antiballistics field"] = {
- name : "Antiballistics Field",
- classes : ["necromancer", "cleric", "wizard"],
- source : ["VSoS", 330],
- level : 6,
- school : "Abjur",
- time : "1 a",
- range : "S:40-ft rad",
- components : "V,S,M",
- compMaterial : "A pinch of wet gunpowder",
- duration : "Conc, 10 min",
- ritual: false,
- description : "Atks w/firearms fail and jam; 1 a to clear jam; firearm atks from outside, disadv and 1/2 dmg",
- descriptionFull : "An invisible 40-foot-radius field of magic extends from you, disrupting bullets and causing firearms to malfunction. Within the sphere, attacks with firearms fail, and firearms used to make an attack immediately jam. A jammed firearm can’t be used to make an attack until a creature uses its action to clear the weapon malfunction." + "\n " + "Firearms outside the sphere which are fired into it have disadvantage on attack rolls, and deal only half damage on a successful hit."
- };
- SpellsList["arcane anomaly"] = {
- name : "Arcane Anomaly",
- classes : ["necromancer", "witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 330],
- level : 1,
- school : "Abjur",
- time : "1 a",
- range : "S:30-ft rad",
- components : "V,S,M",
- compMaterial : "A broken mirror",
- duration : "Conc, 1 min",
- ritual: false,
- description : "Spells cast in range have 1/6 chance to fail, wasting spell slot but not components",
- descriptionFull : "You spread cracks in the magical energy that suffuses the multiverse. For the duration, whenever a spell is cast within range, roll a d6. On a 1, the spell casting fails, expending a spell slot as normal, but not consuming expensive material components."
- };
- SpellsList["arc blade"] = {
- name : "Arc Blade",
- classes : ["warmage"],
- source : ["VSoS", 330],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "S:5-ft rad",
- components : "V,M",
- compMaterial : "A melee weapon",
- duration : "Instantaneous",
- ritual: false,
- description : "Melee wea atk w/cast; hit: +0d8 Ltng. dmg, 1 crea in 5 ft 1d6 Ltng dmg; +1 die ea CL5/11/17",
- descriptionCantripDie : "Melee wea atk with cast; hit: +`CD-1`d8 Ltng. dmg, 1 crea in 5 ft `CD`d6 Fire dmg",
- descriptionFull : "As part of the action used to cast this spell, you must make a melee attack with a weapon against one creature within the spell’s range, otherwise the spell fails. On a hit, the target suffers the weapon attack’s normal effects, except that any damage dealt by the attack is lightning damage instead of its normal type. Additionally, an arc of lightning jumps to a creature you choose within 5 feet of the target, dealing 1d6 lightning damage." + "\n " + "This spell’s damage increases when you reach certain levels. At 5th level, the melee attack deals an additional 1d8 lightning damage, and the secondary damage deals an additional 1d6 lightning damage to their targets. Both damage rolls increase by one die at 11th level (2d8 and 3d6) and 17th level (3d8 and 4d6)."
- };
- SpellsList["arcane capacitor"] = {
- name : "Arcane Capacitor",
- classes : ["sorcerer", "wizard"],
- source : ["VSoS", 330],
- level : 6,
- school : "Evoc",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A potato",
- duration : "Instantaneous",
- ritual: false,
- description : "Melee spell atk for 5d10 Force dmg; hit or miss, regain 1st-lvl spell slot; 7th:2nd, 9th:3rd",
- descriptionFull : "You channel a wave of arcane power into your fingertips, recycling the leftover energy into a new spell slot. Make a melee spell attack against a creature you can reach. On a hit, the target takes 5d10 force damage. Whether you hit or miss, you then regain one expended 1st-level spell slot." + AtHigherLevels + "When you cast this spell using a 7th-level spell slot, you instead regain an expended 2nd-level spell slot. If you cast it using a 9th-level spell slot, you instead regain an expended 3rd-level spell slot."
- };
- SpellsList["benign dismemberment"] = {
- name : "Ben. Dismemberment",
- classes : ["investigator", "necromancer", "witch", "wizard"],
- source : ["VSoS", 331],
- level : 3,
- school : "Necro",
- time : "1 min",
- range : "Touch",
- components : "V,S",
- duration : "1 h",
- ritual: true,
- description : "1 willing crea can be dismembered w/o dmg; hold together to fix; irreversible on spell end",
- descriptionFull : "For the duration, a willing target’s body parts (fingers, legs, tail, and even its head) can be harmlessly severed from its body. It takes no damage from such dismemberment, as long as the cut removing the body part is swift and leaves a clean cut. The target’s head remains alive and conscious, and parts connected to it also remain alive. All severed body parts become inanimate, but do not begin decomposition for the spell’s duration. Any of the target’s severed body parts that are removed during this spell’s duration can be held back to the stump, which instantly causes the part to knit to the stump, restoring the body part." + "\n " + "At the end of the duration, severed body parts become permanently severed. The target dies if vital organs have not been reattached to its head."
- };
- SpellsList["blood print"] = {
- name : "Blood Print",
- classes : ["investigator", "martyr", "necromancer", "witch", "bard", "cleric", "druid", "paladin", "ranger", "sorcerer", "wizard"],
- source : ["VSoS", 331],
- level : 1,
- school : "Necro",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "An ounce or more of blood",
- duration : "Instantaneous",
- ritual: true,
- description : "Know what type of crea a blood sample came from, & uniquely identify; can preserve and compare",
- descriptionFull : "At your touch, wet blood on a surface shifts and reforms into a pattern of crimson blotches. This blood print is unique to the particular creature to whom the blood belongs, but you can determine the creature’s kind (such as human, gnoll, deer, or fire giant) by examining the general shape. A print can be preserved by pressing a sheet of paper against it. If this spell is cast twice, it is possible to match samples of blood originating from the same creature by comparing the prints."
- };
- SpellsList["boomering"] = {
- name : "Boomering",
- classes : ["martyr", "cleric", "paladin", "sorcerer"],
- source : ["VSoS", 331],
- level : 1,
- school : "Evoc",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk for 3d6+1d6/SL Radiant dmg; miss: reroll once; extra tgts at higher levels",
- descriptionFull : "A dizzying ring of sparks launches from your outstretched hand and ricochets back to you moments later. Make a ranged spell attack roll against a creature within range. On a hit, you deal 3d6 radiant damage. If this attack misses, you can repeat the attack roll against the same target once." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st." + "\n " + "If you cast this spell using a spell slot of 3rd level or higher, after the ring hits the first target, it ricochets to a second target of your choice that you can see within 30 feet of the first target, dealing damage as normal on a hit. If you cast this spell using a spell slot of 5th level or higher, the ring can ricochet to a third target of your choice that you can see within 30 feet of the second target. No matter how many creatures the ring ricochets to, you can only repeat the attack roll against one of the spell’s targets."
- };
- SpellsList["burning blade"] = {
- name : "Burning Blade",
- classes : ["warmage"],
- source : ["VSoS", 331],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "S:5-ft rad",
- components : "V,M",
- compMaterial : "A melee weapon",
- duration : "Instantaneous",
- ritual: false,
- description : "Melee wea atk w/cast; hit: wea dmg is Fire +0d6 Fire dmg, fire stays in tgt space; +1d6 CL5/11/17, B",
- descriptionCantripDie : "Melee wea atk with cast; hit: +`CD-1`d6 Fire dmg, fire stays in tgt space; B",
- descriptionFull : "As part of the action used to cast this spell, you must make a melee attack with a weapon against one creature within the spell’s range, otherwise the spell fails. On a hit, the target suffers the weapon attack’s normal effects, except that any damage dealt by the attack is fire damage instead of its normal type. Additionally, embers whirl in the target’s space. Until the start of your next turn, when a creature enters the space for the first time or ends its turn there, you can use your reaction to deal 1d6 fire damage to the creature, ending the spell." + "\n " + "This spell’s damage increases when you reach certain levels. At 5th level, the melee attack deals an additional 1d6 fire damage to the target on a hit, and the secondary damage deals an additional 1d6 fire damage to its target. Both damage rolls increase by one die at 11th level (2d6 and 3d6) and 17th level (3d6 and 4d6)."
- };
- SpellsList["burnt offering"] = {
- name : "Burnt Offering",
- classes : ["martyr"],
- source : ["VSoS", 332],
- level : 1,
- school : "Abjur",
- time : "10 min",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A pyre and a slain animal",
- duration : "24 h",
- ritual: true,
- description : "While armored, +Wis to AC instead of +Dex; 3rd: reroll 1 saving throw",
- descriptionFull : "By constructing a pyre and burning an animal’s corpse, you court the favor of the gods. For the duration, while you are wearing armor, you can add your Wisdom modifier, instead of your Dexterity modifier, to your Armor Class." + AtHigherLevels + "If you cast this spell using a spell slot of 3rd level or higher, you can also reroll one saving throw you make during the duration. You can choose to reroll the saving throw after you roll the die, but must decide before the outcome is determined and must use the new roll."
- };
- SpellsList["candy blast"] = {
- name : "Candy Blast",
- classes : ["witch", "sorcerer", "wizard"],
- source : ["VSoS", 332],
- level : 0,
- school : "Conj",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk for 1d8 Bludg. dmg and tgt space is diff. terrain; 1 a to clear; +1d8 CL5/11/17",
- descriptionCantripDie : "Ranged spell atk for `CD`d8 Bludg. dmg and tgt space is diff. terrain; 1 a to clear",
- descriptionFull : "You summon a handful of hard candy—boiled sweets, mints, jelly beans, etc.—and hurl them at a target you can see within range. Make a ranged spell attack roll. On a hit, the target takes 1d8 bludgeoning damage, and the space it is standing in, up to a 5-foot square, becomes difficult terrain until a creature uses an action to gather up the fallen candy. The candy produced by this spell is edible, but has no nutritional value." + "\n " + "This spell’s damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
- };
- SpellsList["card trick"] = {
- name : "Card Trick",
- classes : ["warmage", "witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 332],
- level : 0,
- school : "Trans",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A deck of playing cards",
- duration : "Instantaneous",
- save : "Dex",
- ritual: false,
- description : "Choose ranged spell attack or 1 crea Dex save, hit/fail: 1d6 Force dmg; +1d6 CL5/11/17",
- descriptionFull : "With a flash of your hands, you fling a playing or tarot card charged with energy at your opponents. Choose whether you make a ranged spell attack roll or for the target to make a Dexterity saving throw. On a hit or a failed saving throw, the target takes 1d6 force damage." + "\n " + "This spell’s damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6)."
- };
- SpellsList["caustic blade"] = {
- name : "Caustic Blade",
- classes : ["necromancer", "warmage"],
- source : ["VSoS", 332],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "S:5-ft rad",
- components : "V,M",
- compMaterial : "A melee weapon",
- duration : "Instantaneous",
- ritual: false,
- description : "Melee wea atk w/cast; hit: wea dmg is Acid +0d8 Acid dmg, miss: 1d8 Acid dmg; +1d8 CL5/11/17",
- descriptionCantripDie : "Melee wea atk with cast; hit: +`CD-1`d8 Acid dmg, miss: `CD`d8 Acid dmg",
- descriptionFull : "As part of the action used to cast this spell, you must make a melee attack with a weapon against one creature within the spell’s range, otherwise the spell fails. On a hit, the target suffers the weapon attack’s normal effects, except that any damage dealt by the attack is acid damage instead of its normal type. If you miss by 3 or less, acid splashes on the target, and you instead deal 1d8 acid damage." + "\n " + "This spell’s damage increases when you reach certain levels. At 5th level, the melee attack deals an additional 1d8 acid damage to the target on a hit, and the acid damage dealt on a miss increases to 2d8. Both damage rolls increase by one die at 11th level (2d8 and 3d8) and 17th level (3d8 and 4d8)."
- };
- SpellsList["cheat"] = {
- name : "Cheat",
- classes : ["necromancer", "warmage", "witch", "bard", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 332],
- level : 0,
- school : "Div",
- time : "1 bns",
- range : "Self",
- components : "S,M",
- compMaterial : "A weighted die",
- duration : "1 rnd",
- ritual: false,
- description : "Reroll ability checks to play nonmagical games of skill",
- descriptionFull : "You subtly twist your fingers, and fate seems to follow suit. For the duration, you can reroll any ability check you make to play nonmagical games of skill. Therefore, this spell could influence a game of poker, but not the result of a deck of many things."
- };
- SpellsList["chromatic bullet"] = {
- name : "Chromatic Bullet",
- classes : ["paladin", "ranger"],
- source : ["VSoS", 333],
- level : 1,
- school : "Evoc",
- time : "1 bns",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A firearm",
- duration : "Conc, 1 min",
- ritual: false,
- description : "Next firearm atk +2d4+2d4/SL Acid/Cold/Fire/Ltng/Psn/Thun. dmg; then can chg wea type",
- descriptionFull : "The next time you hit a creature with a ranged weapon attack using a firearm during the spell’s duration, your bullet sparks with elemental energy. The attack deals an extra 2d4 damage to the target. You choose whether this additional damage is acid, cold, fire, lightning, poison, or thunder damage, and you can choose to change the firearm’s damage to one of these damage types. You do not need to pick the same damage type for both." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 2d4 for each slot level above 1st."
- };
- SpellsList["clue"] = {
- name : "Clue",
- classes : ["investigator", "witch", "bard", "cleric", "druid", "paladin", "ranger", "wizard"],
- source : ["VSoS", 333],
- level : 1,
- school : "Div",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A magnifying glass and pipe",
- duration : "10 min",
- ritual: true,
- description : "Foot/fingerprints in 45 ft rad glow; pick any period in last 10 days; indiv. crea. diff. color; reveal invis.",
- descriptionFull : "When you cast this spell, all footprints and fingerprints within a 45-foot radius of a point you touch become highlighted and glow faintly for the duration. At the time of casting, choose any period of time up to the last 10 days to the present; only footprints and fingerprints left within that time will be highlighted. Each creature whose footprints or fingerprints are detected by the spell is assigned a unique color, but are not otherwise identified. Any creature that moves or touches objects in the area will also leave colorful footprints and fingerprints, which might reveal invisible creatures in the area."
- };
- SpellsList["concealed shot"] = {
- name : "Concealed Shot",
- classes : ["bard", "druid", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 333],
- level : 0,
- school : "Illus",
- time : "1 a",
- range : "Self",
- components : "S,M",
- compMaterial : "A ranged weapon",
- duration : "Instantaneous",
- description : "Ranged wea atk w/cast; projectile invis. in flight and wea doesn't reveal my position",
- descriptionFull : "As part of the action used to cast this spell, you must make an attack with a ranged weapon, otherwise the spell fails. The attack’s projectile is invisible while in flight, and the weapon itself is silent. If the weapon is a firearm, this spell suppresses the smoke and light the weapon produces, making it impossible to see or hear where the shot came from." + "\n " + "This spell only conceals the first shot you make; any additional shots aren’t concealed."
- };
- SpellsList["conjure cannonball"] = {
- name : "Conjure Canonball",
- classes : ["sorcerer", "wizard"],
- source : ["VSoS", 333],
- level : 3,
- school : "Conj",
- time : "1 a",
- range : "600 ft",
- components : "V,S,M",
- compMaterial : "A small replica cannon",
- duration : "Instantaneous",
- save : "Dex",
- description : "Ranged spell atk for 4d10+1d10/SL Bludg. dmg; then crea w/in 5 ft save or half dmg",
- descriptionFull : "You summon a cannonball, mid-flight and at full velocity, which explodes on impact. Make a spell attack roll against a target you can see within range. On a hit, the target takes 4d10 bludgeoning damage, and each creature within 5 feet of the target must make a Dexterity saving throw. On a failed save, a creature takes half as much damage." + AtHigherLevels + "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d10 for each spell slot above 3rd."
- };
- SpellsList["conjure cover"] = {
- name : "Conjure Cover",
- classes : ["investigator", "druid", "ranger", "sorcerer", "wizard"],
- source : ["VSoS", 333],
- level : 1,
- school : "Conj",
- time : "1 bns",
- range : "10 ft",
- components : "V,S,M",
- compMaterial : "A duck figurine",
- duration : "Conc, 1 h",
- ritual: true,
- description : "Create a low wall for cover; see book for effects",
- descriptionFull : "You conjure a low cobblestone wall along the ground, a perfect source of cover, at a point you can see within range. The wall is 18 inches thick and is composed of three 5-foot long by 3-foot high segments. Each segment must be contiguous with at least one other segment." + "\n " + "A Medium creature that hunkers behind the wall has half cover from ranged attacks, and a Small creature that hunkers behind it has three-quarters cover from ranged attacks. A prone creature has full cover behind the wall. The wall can be leapt over without using any additional movement." + "\n " + "Each segment has AC 10 and 60 hit points. Reducing a segment of the wall to 0 hit points causes it to crumble, destroying it. The wall disappears when all the segments are destroyed or the spell ends."
- };
- SpellsList["consecrated armor"] = {
- name : "Consecrated Armor",
- classes : ["investigator", "cleric"],
- source : ["VSoS", 334],
- level : 1,
- school : "Abjur",
- time : "1 a",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A drop of blessed oil",
- duration : "8 h",
- ritual: true,
- description : "AC becomes 12+Dex, or 15+Dex against fiends and undead",
- descriptionFull : "You trace a holy symbol on your chest, and an invisible barrier protects you until the spell ends. Your base AC becomes 12 + your Dexterity modifier. If you are attacked by a fiend or undead, your AC becomes 15 + your Dexterity modifier against that attack."
- };
- SpellsList["corruption curse"] = {
- name : "Corruption Curse",
- classes : ["witch"],
- source : ["VSoS", 334],
- level : 6,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Conc, 1 min",
- ritual: false,
- description : "1 crea cursed, choose Dex, Wis, or Con; disadv on chosen save and add'l effect; see book",
- descriptionFull : "With a piercing glare and a sinister gesture, you send a ribbon of dark magic into a target’s body. A creature you can see within range is cursed for the duration and suffers from one of the following effects of your choice while cursed:" + "\n " + toUni("Dull Reflexes") + ": The target has disadvantage on Dexterity checks and saving throws." + "\n " + toUni("Feeble Fortitude") + ": The target has disadvantage on Constitution saving throws and can’t regain hit points." + "\n " + toUni("Weak Will") + ": The target has disadvantage on Wisdom saving throws as well as spell attack rolls." + "\n " + "A remove curse spell cast using a spell slot of 6th level or higher ends this curse early."
- };
- SpellsList["cryptogram"] = {
- name : "Cryptogram",
- classes : ["necromancer", "warmage", "witch", "bard", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 334],
- level : 0,
- school : "Conj",
- time : "1 a",
- range : "Unlimited",
- components : "V,S,M",
- compMaterial : "A small written message",
- duration : "Instantaneous",
- description : "Send a message up to 8 characters (incl. spaces) to known crea on same plane, 1/day",
- descriptionFull : "You send a small scroll with a short message to a creature of your choice. The recipient must be a creature known to you and also be on the same plane of existence as you. This scroll will hover in front of the recipient, drop into their pocket, or appear sitting on something nearby. The scroll’s message can be up to 8 characters long (spaces count as characters). You can send only one scroll to a single target each day."
- };
- SpellsList["curse of binding"] = {
- name : "Curse of Binding",
- classes : ["witch"],
- source : ["VSoS", 334],
- level : 7,
- school : "Ench",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A body part from the intended target, such as a fingernail, a lock of hair, or a drop of blood",
- duration : "Until dispelled",
- save : "Cha",
- ritual: true,
- description : "1 crea or object bound to stay within 20 ft of chosen location; see book",
- descriptionFull : "You bind one creature or object to a location, cursing it so that it may never leave. Choose a target and a location within range, both of which you must be able to see. If the target is a creature, it must make a Charisma saving throw (a willing creature may choose to fail this save), or be cursed to be permanently bound to the chosen location. While cursed, the target can act and move around freely, as long as it remains within 20 feet of the point it is bound to. If the target begins its turn outside of this area, it must make a Strength saving throw against your spell save DC or be dragged 60 feet towards the point it was bound to." + "\n " + "Additionally, if the creature tries to use extraplanar travel, it must make another Charisma saving throw. On a failure, the travel attempt fails and any resources used are wasted. On a success, the curse is suppressed until the creature returns to the plane on which it was bound, at which point the dragging effect resumes." + "\n " + "A remove curse spell cast using a spell slot of 7th level or higher ends this curse early."
- };
- SpellsList["curse of blades"] = {
- name : "Curse of Blades",
- classes : ["necromancer", "witch", "bard", "warlock", "wizard"],
- source : ["VSoS", 334],
- level : 3,
- school : "Trans",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Conc, 1 min",
- save : "Wis",
- description : "1 crea w/ wea save or can't drop/stow wea; on Attack action, makes 1 add'l wea atk on self",
- descriptionFull : "Unholy bands of black energy tie a creature to its weapon. Choose a creature you can see within range that is holding a weapon to make a Wisdom saving throw. On a failed save, the creature is cursed for the duration. A cursed target can’t willingly drop or stow its weapon. Additionally, whenever it takes the Attack action on its turn, it makes one additional attack using its weapon targeting itself, against its own AC, dealing damage as normal on a hit." + "\n " + "A remove curse spell ends this curse early."
- };
- SpellsList["curse of chains"] = {
- name : "Curse of Chains",
- classes : ["witch"],
- source : ["VSoS", 335],
- level : 1,
- school : "Ench",
- time : "1 a",
- range : "120 ft",
- components : "V,S",
- duration : "Conc, 1 min",
- save : "Con",
- ritual: false,
- description : "2 crea w/in 30 ft of each other save or can't willingly move away from each other",
- descriptionFull : "A black brand resembling iron shackles darkens the ankles of two creatures you can see. Choose two creatures you can see within range of the spell, and within 30 feet of each other, to each make a Constitution saving throw. A willing creature can choose to fail this saving throw. On a failed save, a target is cursed for the duration. If only one target is cursed by this spell, you can use your action or bonus action on a subsequent turn to choose another target within 30 feet of the cursed creature to make a saving throw. While two creatures are cursed by this spell, they are unable to willingly move further away from each other." + "\n " + "A remove curse spell ends this curse early."
- };
- SpellsList["curse ward"] = {
- name : "Curse Ward",
- classes : ["investigator", "martyr", "necromancer", "witch", "cleric", "paladin", "warlock", "wizard"],
- source : ["VSoS", 335],
- level : 2,
- school : "Abjur",
- time : "1 a",
- range : "Touch",
- components : "V,S",
- duration : "1 h",
- ritual: false,
- description : "1 willing crea resist Necro. dmg; immune to curse, possession, and hexes; max HP can't be reduced",
- descriptionFull : "You reach out your hand and touch a willing creature within your reach, raising a smoke-like barrier around it. For the duration, the target has resistance to necrotic damage and can’t be cursed, possessed, or targeted by a hex. Also, its maximum hit points can’t be lowered. If the target is already affected by one of these effects, the effect is suspended until the spell ends."
- };
- SpellsList["dead fog"] = {
- name : "Dead Fog",
- classes : ["necromancer"],
- source : ["VSoS", 335],
- level : 3,
- school : "Necro",
- time : "1 a",
- range : "120 ft",
- components : "V,S",
- duration : "1 rnd",
- save : "Con",
- ritual: false,
- description : "Create 15-ft rad sphere of fog; crea enter or start turn in area save or 3d8+1d8/SL Necro. dmg; B",
- descriptionFull : "A 15-foot-radius sphere of fog, filled with the necromantic Dead Mists, appears centered on a point you can see within range. The fog spreads around corners, and its area is heavily obscured. It lasts for the duration, or until strong wind disperses the fog, ending the spell." + "\n " + "When you cast this spell, you can empower it with your own life essence by losing 10, 15, or 20 hit points when you cast it. When you do so, treat the spell slot used to cast the spell as being one level higher if you lost 10 hit points, two levels higher if you lost 15 hit points, and three levels higher if you lost 20 hit points, up to a maximum of 9th level." + "\n " + "When a creature enters the area for the first time on a turn or starts its turn there, it must make a Constitution saving throw, taking 3d8 necrotic damage on a failed save." + "\n " + "Additionally, when a creature tries to leave the sphere of fog, you can choose for the fog to grasp the creature with misty tendrils. The creature must make a Strength saving throw to leave the fog, and is unable to move on a failed save." + AtHigherLevels + "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 1d8 for each slot level above 3rd."
- };
- SpellsList["dead mist lash"] = {
- name : "Dead Mist Lash",
- classes : ["necromancer"],
- source : ["VSoS", 335],
- level : 1,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk for 3d8+1d8/SL Necro. dmg; can upgrade spell level by sacrificing 5 HP per SL",
- descriptionFull : "You conjure forth a glowing white tendril formed of the sinister, necromantic Dead Mists, which lashes out at a foe you can see within range. When you cast this spell, you can empower it with your own life essence by losing 5, 10, or 15 hit points when you cast it. When you do so, treat the spell slot used to cast the spell as being one level higher for every 5 hit points lost, up to a maximum of 9th level." + "\n " + "Make a ranged spell attack roll against a creature within range. On a hit, the target takes 3d8 necrotic damage." + AtHigherLevels + "If you cast this spell using a slot of 2nd level or higher, the damage increases by 1d8 for each slot level above 1st."
- };
- SpellsList["defenestration"] = {
- name : "Defenestration",
- classes : ["bard"],
- source : ["VSoS", 336],
- level : 2,
- school : "Evoc",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "Instantaneous",
- save : "Str",
- ritual: false,
- description : "1 crea save or moved up to 20 ft through a window and 4d6+1d6/SL Slash dmg; B",
- descriptionFull : "A wave of force erupts from your open hand, hurling a creature you can see within range through a window. The target makes a Strength saving throw. On a failure, the target is thrown up to 20 feet through a window of your choice. If there is no window within 20 feet of the target, it is instead thrown through a window of arcane force, which materializes 10 feet behind it and vanishes after the creature shatters it. The target takes 4d6 slashing damage as it flies through a window. On a successful save, the target instead is pushed back 5 feet and takes no damage." + AtHigherLevels + "When you cast this spell using a spell slot of 3rd level or higher, the target can be pushed back an additional 5 feet for each slot level above 2nd, and takes an additional 1d6 slashing damage for each slot level above 2nd."
- };
- SpellsList["delay"] = {
- name : "Delay",
- classes : ["necromancer", "witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 336],
- level : 2,
- school : "Trans",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "An octagonal sign",
- duration : "Instantaneous",
- save : "Wis",
- ritual: false,
- description : "1 crea save or moved to end of initiative",
- descriptionFull : "You briefly slow time for a creature of your choice that you can see within range. The target must succeed on a Wisdom saving throw or be moved to last place in the initiative order from the beginning of the next round onwards."
- };
- SpellsList["demand"] = {
- name : "Demand",
- classes : ["witch", "bard", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 336],
- level : 6,
- school : "Ench",
- time : "1 a",
- range : "Unlimited",
- components : "V,S,M",
- compMaterial : "A snake's tongue and a piece of copper wire",
- duration : "Conc, 8 h",
- save : "Wis",
- ritual: false,
- description : "Send 25 words or less to 1 crea, it can reply; can use as per Suggestion; B",
- descriptionFull : "You send a short message of twenty-five words or fewer to a creature with which you are familiar. The creature 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 creatures with Intelligence scores of at least 1 to understand the meaning of your message." + "\n " + "You 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." + "\n " + "You can use this message to suggest a reasonable-sounding course of activity to the target, in which case the target must make a Wisdom saving throw or be compelled to follow your instructions for the duration, as per the suggestion spell."
- };
- SpellsList["dire charm"] = {
- name : "Dire Charm",
- classes : ["witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 336],
- level : 4,
- school : "Ench",
- time : "1 a",
- range : "Touch",
- components : "V,S,M\u0192",
- compMaterial : "A nymph's eyelash, worth at least 100 gp",
- duration : "10 days",
- save : "Wis",
- ritual: false,
- description : "1 humanoid save or charmed; disadv unless fighting",
- descriptionFull : "You attempt to charm a humanoid you can see within range. It must make a Wisdom saving throw, and has disadvantage unless you or your companions are fighting it. If it fails the saving throw, it is charmed by you until the spell ends. If you or your companions do anything harmful to it, it can reattempt the saving throw. The charmed creature regards you as a friendly acquaintance. When the spell ends, the creature knows it was charmed by you." + AtHigherLevels + "When you cast this spell using a spell slot of 8th level or higher, the duration becomes permanent (until dispelled)."
- };
- SpellsList["dire warning"] = {
- name : "Dire Warning",
- classes : ["investigator", "necromancer", "cleric", "wizard"],
- source : ["VSoS", 336],
- level : 4,
- school : "Div",
- time : "1 a",
- range : "Self",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Get 6 helpful words from future self; must do 10-min ritual w/in 1 week to deliver; B",
- descriptionFull : "You receive a message of up to 6 words from your future self, warning you of a critical threat or pointing you toward a fruitful avenue. At some point in the future, once you have learned why you sent the message, you must perform a 10-minute-long ritual to deliver the message back in time to your past self. Once you cast this spell, you can’t cast it again until you perform this ritual, or one week later if you don’t discover this information. If you cast this spell and receive no message, it indicates that you never complete the ritual in the future, possibly owing to your death or some other hindrance."
- };
- SpellsList["distort gravity"] = {
- name : "Distort Gravity",
- classes : ["investigator", "necromancer", "druid", "sorcerer", "wizard"],
- source : ["VSoS", 337],
- level : 4,
- school : "Trans",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A gyroscope",
- duration : "Conc, 1 h",
- ritual: true,
- description : "Change direction of gravity on a surface; see book",
- descriptionFull : "The spell manipulates the direction of gravity on a non-horizontal surface you touch, causing it to attract creatures and objects within 15 feet of it as if it were the ground. The surface can be up to a 60-foot square in area and can wrap around a structure, if its geometry permits. A creature can walk on this surface as if it were level ground, even if the surface is perpendicular to the ground or upside down." + "\n " + "When the duration ends, all creatures and objects fall from the surface."
- };
- SpellsList["eldritch orb"] = {
- name : "Eldritch Orb",
- classes : ["necromancer", "witch", "warlock"],
- source : ["VSoS", 337],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- save : "Dex",
- ritual: false,
- description : "Ranged spell atk for 1d8 Force dmg; crea in 5 ft save or half dmg; +1d8 CL5/11/17",
- descriptionCantripDie : "Ranged spell atk for `CD`d8 Force dmg; crea in 5 ft save or half dmg",
- descriptionFull : "You fling a ball of eldritch energy at a creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d8 force damage, and each other creature within 5 feet of the target must make a Dexterity saving throw. On a failed save, a creature takes half as much damage." + "\n " + "This spell’s damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
- };
- SpellsList["elemental curse"] = {
- name : "Elemental Curse",
- classes : ["witch"],
- source : ["VSoS", 337],
- level : 6,
- school : "Evoc",
- time : "1 a",
- range : "Touch",
- components : "V,S",
- duration : "Conc, 1 min",
- save : "Con",
- ritual: false,
- description : "1 crea save or vuln to Acid/Cold/Fire/Ltng/Thun; if resist, no resist; if immune, resist",
- descriptionFull : "A spark leaps from your finger to a creature you touch, spreading in bright cracks across its skin. The target must make a Constitution saving throw or be cursed for the duration. While cursed, the target has vulnerability to your choice of acid, cold, fire, lightning, or thunder damage. If the creature has resistance to the chosen damage type, it instead only loses that resistance. If the target has immunity to the chosen damage type, it is treated as having only resistance to that damage." + "\n " + "A remove curse spell ends this curse early."
- };
- SpellsList["evasiveness"] = {
- name : "Evasiveness",
- classes : ["sorcerer", "wizard"],
- source : ["VSoS", 337],
- level : 5,
- school : "Trans",
- time : "1 a",
- range : "Touch",
- components : "V,M",
- compMaterial : "A scrap of silk",
- duration : "Conc, 1 h",
- ritual: false,
- description : "1 crea AC becomes 20 and gets adv. on Dex saves",
- descriptionFull : "You touch a willing creature. Until the spell ends, the target gains a superhuman ability to dodge attacks. The target’s AC becomes 20, if it were lower, regardless of what kind of armor it is wearing, and it has advantage on Dexterity saving throws."
- };
- SpellsList["exhume"] = {
- name : "Exhume",
- classes : ["necromancer", "cleric", "wizard"],
- source : ["VSoS", 337],
- level : 1,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A drop of blood",
- duration : "Instantaneous",
- ritual: true,
- description : "A pile of bones emerges from the ground, or 1d4 piles if cast in a burial place",
- descriptionFull : "Choose an unoccupied 20-foot square within range—note that the area must have solid earth beneath it; this spell fails if cast on the upper floor of a building. This spell then causes one pile of humanoid bones to rise out of the ground within that square. If you cast this spell within a burial place such as a graveyard, mausoleum, or barrow, 1d4 piles of bones are exhumed instead of 1. The ground itself is not changed or disturbed by this spell; the bones simply appear out of the ground."
- };
- SpellsList["eye of anubis"] = {
- name : "Eye of Anubis",
- classes : ["necromancer", "witch", "cleric"],
- source : ["VSoS", 337],
- level : 0,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "M",
- compMaterial : "A holy symbol",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk, hit: 1d8 Necro dmg, tgt can't Diseng. til end of my next turn; +1d8 CL5/11/17; B",
- descriptionCantripDie : "Ranged spell atk, hit: `CD`d8 Necro dmg, tgt can't Diseng. til end of my next turn; B",
- descriptionFull : "A beam of tenebrous moonlight streaks from your left eye toward a creature within range. Make a ranged spell attack against the target. On a hit, the target takes 1d8 necrotic damage and can’t take the Disengage action until the end of your next turn. This spell creates an additional beam and deals more damage at higher levels. At 5th level, you fire a second beam originating from your right eye. Your first beam’s damage increases by 1d8 (2d8) when you reach 11th level, and your second beam’s damage increases by 1d8 (2d8) when you reach 17th level."
- };
- SpellsList["eye of ra"] = {
- name : "Eye of Ra",
- classes : ["cleric"],
- source : ["VSoS", 338],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "60 ft",
- components : "M",
- compMaterial : "A holy symbol",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk, hit: 1d8 Radiant dmg and tgt can't Hide until end of my next turn; +1d8 CL5/11/17; B",
- descriptionCantripDie : "Ranged spell atk, hit: `CD`d8 Radiant dmg and tgt can't Hide until end of my next turn; B",
- descriptionFull : "A beam of furious radiance erupts from your right eye, directed at a creature you can see within range. Make a ranged spell attack against the target. On a hit, the target takes 1d8 radiant damage and can’t take the Hide action until the end of your next turn. This spell creates an additional beam and deals more damage at higher levels. At 5th level, you fire a second beam originating from your left eye. Your first beam’s damage increases by 1d8 (2d8) when you reach 11th level, and your second beam’s damage increases by 1d8 (2d8) when you reach 17th level."
- };
- SpellsList["false vision"] = {
- name : "False Vision",
- classes : ["investigator", "necromancer", "witch", "bard", "wizard"],
- source : ["VSoS", 338],
- level : 4,
- school : "Illus",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A pinch of dust from a precious gem",
- duration : "8 h",
- ritual: false,
- description : "1 crea/place/obj hidden from divination, or I can deceive the diviner; B",
- descriptionFull : "For the duration, you hide a target that you touch from divination magic. The target can be a willing creature, a place, or an object no larger than 10 feet in any dimension. If the target is targeted by any divination magic or perceived through a scrying spell’s sensors, you are able to present the diviner with false information of your choice, as long as you are conscious at the time of the divination attempt. The target could appear to be in different circumstances, in one or more false locations, or completely undetectable."
- };
- SpellsList["finger guns"] = {
- name : "Finger Guns",
- classes : ["warmage", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 338],
- level : 0,
- school : "Evoc",
- time : "1 bns",
- range : "Self",
- components : "V,S",
- duration : "1 min",
- ritual: false,
- description : "Action for ranged spell atk, 60 ft, 1d8 Force dmg on hit; counts as firearm; +1d8 CL5/11/17",
- descriptionCantripDie : "Action for ranged spell atk, 60 ft, `CD`d8 Force dmg on hit; counts as firearm",
- descriptionFull : "You extend your forefinger and thumb, a dangerous gesture mimicking a gun. For the duration, you can use your action to make a ranged spell attack against one creature you can see within 60 feet of you, dealing 1d8 force damage on a hit." + "\n " + "Your finger gun doesn’t require ammunition, but it is considered to be a firearm for spells and effects that apply to firearms." + "\n " + "The spell’s damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
- };
- SpellsList["flawed reconstruction"] = {
- name : "Flawed Reconstruction",
- classes : ["necromancer", "witch", "warlock", "wizard"],
- source : ["VSoS", 338],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A needle and thread",
- duration : "Instantaneous",
- ritual: false,
- description : "1 crea regain 4d6+1d6/SL hit points; max hit points reduced by same until LR",
- descriptionFull : "You stitch together the wounds of a willing creature you touch, which regains 4d6 hit points. However, the mending is imperfect, and the target’s hit point maximum is reduced by the same amount until it finishes a long rest. A creature that regains hit points due to this spell will be left with some permanent scars." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the healing increases by 1d6 for each slot level above 1st."
- };
- SpellsList["flesh ripper"] = {
- name : "Flesh Ripper",
- classes : ["necromancer"],
- source : ["VSoS", 338],
- level : 0,
- school : "Trans",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "Instantaneous",
- save : "Str",
- ritual: false,
- description : "Ranged spell atk for 1d8 Prc dmg; tgt save or can't move more than 30 ft from me; +1d8 CL5/11/17",
- descriptionCantripDie : "Ranged spell atk, hit: `CD`d8 Prc dmg, tgt can't move more than 30 ft from me w/o a save",
- descriptionFull : "As you cast this spell, a spectral meat hook is flung at the creature of your choice, connected to a spectral chain. Make a ranged spell attack against a creature within range. On a hit, the target takes 1d8 piercing damage as a spectral meat hook plunges into their body. Until the start of your next turn, the target must make a Strength saving throw to move further than 30 feet from you. On a failed save, it is prevented from moving until the start of your turn. This effect ends if you are further than 30 feet away from the target." + "\n " + "This spell’s damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
- };
- SpellsList["force buckler"] = {
- name : "Force Buckler",
- classes : ["warmage"],
- source : ["VSoS", 339],
- level : 0,
- school : "Abjur",
- time : "1 bns",
- range : "Self",
- components : "V,S,M\u0192",
- compMaterial : "A specially prepared gauntlet worth at least 5 gp",
- duration : "1 rnd",
- ritual: false,
- description : "My AC gains +2 as if wielding a shield; ends if hit by an attack",
- descriptionFull : "You summon a translucent yet visible field of force, which springs forth from the prepared gauntlet. Until the start of your next turn, this shield grants you a +2 bonus to your Armor Class, as if you were wielding a shield. This spell ends early if you are hit by an attack."
- };
- SpellsList["force dart"] = {
- name : "Force Dart",
- classes : ["warmage"],
- source : ["VSoS", 339],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "120 ft",
- components : "V,S,M\u0192",
- compMaterial : "A specially prepared gauntlet worth at least 5 gp",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk for 1d10 Force dmg; +1d10 CL5/11/17",
- descriptionCantripDie : "Ranged spell atk, `CD` beams deal 1d10 Force dmg each",
- descriptionFull : "You fling a dart of magical force at a creature or object within range. Make a ranged spell attack against the target. On a hit, the target takes 1d10 force damage." + "\n " + "This spell’s damage increases by 1d10 when you reach 5th level (2d10), 11th level (3d10), and 17th level (4d10)."
- };
- SpellsList["force weapon"] = {
- name : "Force Weapon",
- classes : ["warmage"],
- source : ["VSoS", 339],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "5 ft",
- components : "V,S,M\u0192",
- compMaterial : "A specially prepared gauntlet worth at least 5 gp",
- duration : "1 rnd",
- ritual: false,
- description : "Melee spell atk for 1d10 Force dmg; can opportunity attack until next turn; +1 atk CL5/11/17",
- descriptionCantripDie : "`CD` melee spell atks for 1d10 Force dmg ea; can make 1 Opp. Attack before next turn",
- descriptionFull : "You conjure a blade of magical force in the air, which lashes out at your foes. Make a melee spell attack against a creature within range. On a hit, the target takes 1d10 force damage. The blade remains in existence for a short time; until the start of your next turn, you can make a single strike with your mystical blade as an opportunity attack." + "\n " + "You can make 1 additional attack on your turn at 5th level (2 attacks), at 11th level (3 attacks), and at 17th level (4 attacks)."
- };
- SpellsList["free throw"] = {
- name : "Free Throw",
- classes : ["bard", "sorcerer", "wizard"],
- source : ["VSoS", 339],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "Self",
- components : "S,M",
- compMaterial : "A scrap of pigskin",
- duration : "1 rnd",
- save : "Dex",
- ritual: false,
- description : "1 obj 5 lb. or less travels any path up to 150 ft; if hit, save or 4d4+2d4/SL Bludg dmg; success: half dmg",
- descriptionFull : "As part of the casting of this spell, you throw a handheld object weighing 5 pounds or less. For the duration of the spell, you choose the object’s exact trajectory, up to 150 feet of distance. The object can navigate around obstacles and corners, and ignores half and three-quarters cover if it is directed at a creature. If the object strikes a creature, that creature must make a Dexterity saving throw or take 4d4 bludgeoning damage, or half as much on a successful save. The object stops moving after striking a creature or object." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the maximum weight of objects that you can throw with this spell increases by 5 pounds, and the damage increases by 2d4 for each slot level above 1st."
- };
- SpellsList["frenzy"] = {
- name : "Frenzy",
- classes : ["necromancer", "witch", "bard", "wizard"],
- source : ["VSoS", 340],
- level : 6,
- school : "Ench",
- time : "1 a",
- range : "120 ft",
- components : "V,S,M",
- compMaterial : "A drop of fresh blood",
- duration : "Conc, 1 min",
- save : "Wis",
- ritual: false,
- description : "Crea w/in 20 ft of a point save or atk crea in reach or self; B",
- descriptionFull : "With a gesture, you reduce a crowd to base instinct and violence. Choose a point you can see within range. Each creature within 20 feet of that point must make a Wisdom saving throw. On a failed save, a creature is frenzied for the duration. When a creature is frenzied, it draws a melee weapon, if it has one." + "\n " + "A frenzied creature must use its action at the beginning of its turn to attack a creature within its reach. It uses a melee weapon, if it has one, or an improvised weapon or unarmed strike if it doesn’t. If multiple targets are within the creature’s reach, it chooses its target randomly. If there is no target within the creature’s reach, it attacks itself, against its own AC, dealing damage as normal on a hit." + "\n " + "At the end of its turn, a frenzied creature can repeat its saving throw, ending the effect on itself early on a success."
- };
- SpellsList["frigid blade"] = {
- name : "Frigid Blade",
- classes : ["warmage"],
- source : ["VSoS", 340],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "S:5-ft rad",
- components : "V,M",
- compMaterial : "A melee weapon",
- duration : "1 rnd",
- ritual: false,
- description : "Melee wea atk w/cast; hit: +0d8 Cold dmg, 1d8 Cold if moves before my turn; +1d8 CL5/11/17, B",
- descriptionCantripDie : "Melee wea atk with cast; hit: +`CD-1`d8 Cold dmg, `CD`d8 Cold dmg if moves before my turn",
- descriptionFull : "As part of the action used to cast this spell, you must make a melee attack with a weapon against one creature within the spell’s range, otherwise the spell fails. On a hit, the attack does damage as normal, except that the attack deals cold damage instead of its normal type. Additionally, the target is covered in a brittle frost until the start of your next turn. If the target willingly moves before then, you can use your reaction to deal 1d8 cold damage to the target, ending the spell." + "\n " + "At 5th level, the melee attack and secondary damage each deal an additional 1d8 cold damage. Both damage rolls increase by 1d8 at 11th level (2d8 and 3d8) and 17th level (3d8 and 4d8)."
- };
- SpellsList["frolicking fountain"] = {
- name : "Frolicking Fountain",
- classes : ["witch", "bard", "druid", "warlock", "wizard"],
- source : ["VSoS", 340],
- level : 5,
- school : "Ench",
- time : "1 a",
- range : "120 ft",
- components : "V,S,M",
- compMaterial : "A conductor's baton",
- duration : "Conc, 1 min",
- save : "Wis",
- ritual: false,
- description : "Create 5-ft water cube; crea w/in 60 ft save or charmed; B",
- descriptionFull : "You conjure a 5-foot cube of water that animates in a hypnotic motion at an unoccupied space within range. The water swirls for the duration, not leaving its space except to send small jets up to five feet into the air. Each creature within 60 feet other than you which sees the fountain must make a Wisdom saving throw or become charmed by you for the duration. While charmed by this spell, a creature must use its movement on each of its turns to get as close to the water as possible. A charmed creature can’t willingly move away from the fountain. At the end of its turn, a charmed creature can attempt the saving throw again, ending the effect on a success. Once a creature has succeeded on a save against this spell, it can’t be affected by the same instance of it again." + "\n " + "If a creature is within 5 feet of the fountain, you can use a bonus action to command the water to lash out at that creature. Make a melee spell attack against the target. On a hit, the water deals 4d6 bludgeoning damage to the target. If the target is charmed by this spell, it can attempt the saving throw again after taking damage from it."
- };
- SpellsList["gahoul's glorious gothic"] = {
- name : "Gahoul's Glorious Gothic",
- classes : ["necromancer"],
- source : ["VSoS", 340],
- level : 8,
- school : "Conj",
- time : "1 h",
- range : "1 mile",
- components : "V,S,M\u0192",
- compMaterial : "A decorated gothic manor miniature worth at least 1,000 gp",
- duration : "7 days",
- ritual: false,
- description : "Create a gothic estate staffed by skeletons and stocked with food; B",
- descriptionFull : "A rift opens, pouring forth tons of brick and stonework that neatly and quickly assemble into a vast gothic estate. The estate consists of a manor containing a vault, a spacious 200-by-200-foot courtyard, and a 10-foot high wrought iron fence around the perimeter. Any creature within the estate’s area is escorted away by harmless but forceful specters." + "\n " + "You can create any floor plan you like for the manor, but the space can’t exceed 50 cubes, each cube being 10 feet on each side, or five stories in total, including basements. The manor is adorned with barred windows and decorative gargoyles, but is furnished and decorated as you choose. Once the manor is first created, these details are recorded in the miniature manor used to cast the spell and can’t be changed. The manor is staffed by 50 skeletons obedient to you, and contains enough food to serve 50 people each day for a week. The skeletons can perform any task a normal human servant could perform, but they can’t attack or take any action that would directly harm another creature." + "\n " + "The manor contains a 15-foot cube vault, which is an extradimensional space. Items placed within the vault will be present next time you cast this spell." + "\n " + "The courtyard is drenched in necromantic magic, such that any humanoid buried in its grounds rises 24 hours later as a ghoul under your control, as per the spell animate dead. When the spell is cast, 3 ghouls are animated in the courtyard. These undead are under your control, but can’t leave the estate. They patrol the estate if given no other instructions. Undead can’t be turned within the estate." + "\n " + "The estate crumbles into dust and bone after 7 days, and all items placed within the manor appear safely in the space the manor occupied. If cast in the same place once every 7 days for a year, the estate becomes permanent."
- };
- SpellsList["gahoul's scapegoat"] = {
- name : "Gahoul's Scapegoat",
- classes : ["necromancer", "witch"],
- source : ["VSoS", 341],
- level : 4,
- school : "Abjur",
- time : "1 min",
- range : "Self",
- components : "V,S,M",
- compMaterial : "Black chalk, paint, or oil",
- duration : "8 h",
- ritual: false,
- description : "Mark 1 willing crea; when hit by atk, can use rea and end spell to swap places and have atk hit crea",
- descriptionFull : "You trace a complex arcane symbol into the flesh of a willing creature within 5 feet of you, marking them for sacrifice. During the spell’s duration, when you are hit with an attack and the marked creature is within 60 feet of you, you can use your reaction to switch positions with the creature, causing it to be hit by the attack instead of you. The spell then ends."
- };
- SpellsList["gahoul's shrieking skull"] = {
- name : "Gahoul's Shrieking Skull",
- classes : ["necromancer"],
- source : ["VSoS", 341],
- level : 1,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A skull",
- duration : "Instantaneous",
- ritual: false,
- description : "Crea in 10-ft cube take 2d4+1d4/SL Thunder dmg",
- descriptionFull : "You throw a cackling skull at a point you can see within range, which emits a mortifying shriek audible out to 300 feet. Each creature within a 10-foot cube centered on the skull takes 2d4 thunder damage, without making a saving throw." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d4 for each slot level above 1st."
- };
- SpellsList["gahoul's spectral scythe"] = {
- name : "Gahoul's Spectral Scythe",
- classes : ["necromancer"],
- source : ["VSoS", 341],
- level : 6,
- school : "Necro",
- time : "1 a",
- range : "S:60-ft line",
- components : "V,S",
- duration : "1 rnd",
- save : "Dex",
- ritual: false,
- description : "Crea in area save or 6d8+1d8/SL Necro dmg, success: half dmg; B",
- descriptionFull : "You conjure a phantasmal scythe of death in your open hand and throw it whirling through the air. The scythe travels in a 60-foot long, 10-foot wide line, coming to rest hovering in the air at the end of its line or before it strikes any solid objects. Each creature within the area while the scythe is moving must make a Dexterity saving throw or take 6d8 necrotic damage, or half as much on a successful save. A creature has disadvantage on this saving throw if the scythe comes to rest in the creature’s space." + "\n " + "If you are within 120 feet of the scythe at the start of your next turn, it returns to you in a 10-foot wide line, forcing creatures within its area of travel to make saving throws against the scythe’s damage." + AtHigherLevels + "When you cast this spell using a spell slot of 7th level or higher, the damage increases by 1d8 for each slot level above 6th."
- };
- SpellsList["game of fate"] = {
- name : "Game of Fate",
- classes : ["investigator", "bard", "wizard"],
- source : ["VSoS", 341],
- level : 6,
- school : "Ench",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A gaming set",
- duration : "1 h",
- save : "Wis",
- ritual: false,
- description : "Challenge a creature to a game for 6d6 Psychic dmg and agreed-upon stakes; B",
- descriptionFull : "You magically compel a creature within range to a nonmagical game with vital consequences. If the creature you choose has an Intelligence of 3 or lower, or doesn’t speak any language, the creature is unaffected. An unwilling creature can make a Wisdom saving throw to resist this effect. On a failed save, the creature is compelled to join you in the game. If the target takes damage or falls unconscious, this spell ends." + "\n " + "The loser of the game takes 6d6 psychic damage. If no player loses or has won by the end of the spell’s duration, both you and the target take this damage." + "\n " + "Additionally, you and the target creature can negotiate for greater stakes. You can bet higher psychic damage (up to a maximum of 10d6,) property, or more esoteric rewards, such as bestowal of a noble title, on the game. The spell reveals if a creature attempts to bet property they do not own. A bet is finalized when you and the target agree on the bet, solidifying the bet with a handshake or similar gesture. Property or currency bet on the game is teleported to the winner at the game’s conclusion. The loser is also magically compelled to take any action (such as bestowing a title) promised as part of a bet." + "\n " + "Lastly, no spell, magical effect, or creature other than you and the target can influence the game’s outcome."
- };
- SpellsList["geomantic discernment"] = {
- name : "Geo. Discernment",
- classes : ["investigator", "druid", "ranger", "wizard"],
- source : ["VSoS", 342],
- level : 3,
- school : "Div",
- time : "1 a",
- range : "S:100-ft rad",
- components : "V,S",
- duration : "Conc, 10 min",
- ritual: true,
- description : "See aura around precious metals, gems, etc.; not blocked by any nonmagical obstacles",
- descriptionFull : "You gain the ability to sense valuable minerals in a 100-foot radius around you. A glowing aura that only you can see appears around any valuable metals, gems, ores, native elements, or other resources in that radius for the spell’s duration. You can see this aura through any amount of nonmagical material."
- };
- SpellsList["glitterdust"] = {
- name : "Glitterdust",
- classes : ["witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 342],
- level : 3,
- school : "Conj",
- time : "1 a",
- range : "S:15-ft cone",
- components : "V,S,M",
- compMaterial : "A handful of powdered mica",
- duration : "Conc, 1 min",
- save : "Con",
- ritual: false,
- description : "Crea in area save or blinded; crea in area get no benefit from invisibility",
- descriptionFull : "You spray golden particles in a 15-foot cone, covering all creatures and objects in that area. Each creature in the area must succeed a Constitution saving throw or be blinded for the duration. A creature blinded by this spell can repeat the saving throw at the end of each of its turns, ending the effect on itself on a success. Each creature within the area, whether or not it succeeds on its saving throw, can’t benefit from being invisible for the duration."
- };
- SpellsList["grasp of the grave"] = {
- name : "Grasp of the Grave",
- classes : ["necromancer"],
- source : ["VSoS", 342],
- level : 4,
- school : "Necro",
- time : "1 a",
- range : "120 ft",
- components : "V,S,M",
- compMaterial : "A shrunken hand",
- duration : "Conc, 1 min",
- save : "Str",
- ritual: false,
- description : "20-ft rad becomes diff. terrain; crea entering or starting turn save or 3d6+1d6/SL Necro dmg; B",
- descriptionFull : "Spectral skeletal arms emerge from the ground in a 20-foot-radius circle, centered on a point you can see within range. The arms grasp at creatures within the area, except for undead creatures, which ignore the effects of this spell. The area is difficult terrain." + "\n " + "When a creature enters the area for the first time on a turn or starts its turn there, it must make a Strength saving throw. On a failed save, a creature takes 3d6 necrotic damage, and is dragged by the hands to any unoccupied space within the area that you choose. On a successful save, a creature takes half as much damage and is not moved." + "\n " + "Until the spell ends, you can use your action to force each creature within the area to immediately make a save against this spell." + AtHigherLevels + "When you cast this spell using a spell slot of 5th level or higher, its damage increases by 1d6 for each slot level above 4th."
- };
- SpellsList["guided missile"] = {
- name : "Guided Missile",
- classes : ["bard", "druid", "paladin"],
- source : ["VSoS", 342],
- level : 1,
- school : "Trans",
- time : "1 bns",
- range : "Self",
- components : "V",
- duration : "Conc, 1 min",
- ritual: false,
- description : "Next ranged weapon atk has advantage and double normal/long range",
- descriptionFull : "You utter a prayer to guide your projectile, causing it to arc toward its target. The next ranged weapon attack you make before the spell ends has advantage, and has double its normal and long ranges."
- };
- SpellsList["halo of flame"] = {
- name : "Halo of Flame",
- classes : ["martyr", "cleric", "paladin"],
- source : ["VSoS", 342],
- level : 2,
- school : "Evoc",
- time : "1 a",
- range : "S:10-ft rad",
- components : "V,S",
- duration : "Instantaneous",
- save : "Dex",
- ritual: false,
- description : "Create a 10-ft rad, 5-ft wide ring; crea in area save or 4d6+1d6/SL Fire dmg, success: half dmg",
- descriptionFull : "A ring of flame ignites above your head and then springs outward, coming to rest in a burning circle. The circle is composed of a 5-foot wide line of flame, curving to form a 10-foot-radius ring around you. Each creature you choose within the area must make a Dexterity saving throw. On a failed save, a creature takes 4d6 fire damage, or half as much on a successful save." + AtHigherLevels + "When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d6 for each slot level above 2nd."
- };
- SpellsList["hangover"] = {
- name : "Hangover",
- classes : ["bard"],
- source : ["VSoS", 343],
- level : 2,
- school : "Ench",
- time : "1 a",
- range : "30 ft",
- components : "V,S,M",
- compMaterial : "A tiny vial of strong liquor",
- duration : "Instantaneous",
- save : "Con",
- ritual: false,
- description : "1 crea save or 3d8+1d8/SL Psy dmg, Poisoned til my next turn; disadv. on Conc save from this dmg",
- descriptionFull : "You emit a drunken aura that quickly washes away, leaving the feeling of an intense hangover. A creature you choose within range must succeed on a Constitution saving throw or take 3d8 psychic damage. The target has disadvantage on Constitution saving throws it makes to maintain concentration on a spell due to this damage. Additionally, on a failed save, the target is poisoned until the start of your next turn." + AtHigherLevels + "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."
- };
- SpellsList["heart of darkness"] = {
- name : "Heart of Darkness",
- classes : ["necromancer"],
- source : ["VSoS", 343],
- level : 9,
- school : "Necro",
- time : "1 h",
- range : "S:1-mile rad",
- components : "V,S,M\u0192",
- compMaterial : "A humanoid heart prepared with onyx and diamond dust worth at least 10,000 gp",
- duration : "Until dispelled",
- ritual: false,
- description : "Raise and command up to 100 undead while holding the heart; see book",
- descriptionFull : "When you cast this spell, you stab a black, ritualistically prepared humanoid heart. The ichor from the heart infects the land with foul necromantic energies, causing up to one hundred piles of bones or corpses of Medium or Small humanoids within a 1-mile radius to rise from the dead, becoming skeletons or zombies (the GM has the creatures’ game statistics). The undead dig their way out of graves, smash their way out of mausoleums, and tear down cemetery gates." + "\n " + "The creature that is holding the heart can use its action to issue a general command to all undead created by the spell, such as to destroy a town or hunt down a particular creature. Only one general command can be issued to the undead every 24 hours. If not issued a command, the undead indiscriminately attack living creatures, other than the creature that is holding the heart and creatures designated by it. Once given an order, the undead continue to follow it to the best of their ability until the task is complete." + "\n " + "Even while you hold the heart, the undead aren’t directly under your control, and therefore don’t count against any limitations of undead you can command." + "\n " + "The undead remain animated until the spell ends. The spell ends if the heart is destroyed (AC 20, HP 10, immunity to necrotic, poison, and psychic damage) or targeted by a dispel magic spell cast as a 9th-level spell. When the spell ends, all undead animated by it are instantly destroyed, crumpling into a heap. The spell also ends if every undead created by it is destroyed."
- };
- SpellsList["hocuspocus"] = {
- name : "Hocuspocus",
- classes : ["necromancer", "witch", "warlock"],
- source : ["VSoS", 343],
- level : 0,
- school : "Conj",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "1 min",
- ritual: false,
- description : "Minor phenomena; candles flicker; quiet sounds; glowing orbs; chill/warm air; B",
- descriptionFull : "You conjure minor paranormal phenomena and other ominous effects. You create one of the following magical effects within range for 1 minute:" + "\n \u2022" + "You cause all candles, torches, and other open flames to darken and flicker." + "\n \u2022" + "You create a quiet sound that originates from a point of your choice within range, such as ominous whispers, the drone of insects, or the sound of crying." + "\n \u2022" + "You create up to four torch-sized spectral, glowing orbs, which float around within range. The orbs do not provide light, apart from a dim glow." + "\n \u2022" + "You can chill or warm the air in a 10-foot cube by 10 degrees." + "\n \u2022" + "You cause small, unattended objects to rattle or levitate an inch off the ground." + "\n " + "If you cast this spell multiple times, you can have up to three of its effects active at a time, and you can dismiss such an effect as an action."
- };
- SpellsList["hollowing curse"] = {
- name : "Hollowing Curse",
- classes : ["necromancer", "witch", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 344],
- level : 1,
- school : "Necro",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "Conc, 1 min",
- save : "Dex",
- ritual: false,
- description : "1 crea save or 2d6+1d6/SL Necro dmg, I can use 1 a for 1d6+1d6/SL Necro dmg; success: half; B",
- descriptionFull : "Tendrils of black mist extend from your fingertips, latching onto a creature and draining its vitality. Choose a creature you can see within range to make a Dexterity saving throw. On a failed save, the target takes 2d6 necrotic damage and is cursed for up to one minute. On a successful save, the target takes half as much damage and is not cursed. While the target is cursed, you can use your action to deal 1d6 necrotic damage to it automatically. The curse ends early if you use your action to do anything else, if the target is ever outside the spell’s range, or if the target has total cover from you. A remove curse spell also ends this curse." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the initial and secondary damage each increases by 1d6 for each slot level above 1st."
- };
- SpellsList["hunger of the earth"] = {
- name : "Hunger of the Earth",
- classes : ["druid", "wizard"],
- source : ["VSoS", 344],
- level : 4,
- school : "Trans",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "Conc, 1 h",
- save : "Str",
- ritual: false,
- description : "1 Large or smaller crea save or be pulled into the ground; see book",
- descriptionFull : "Choose a Large or smaller creature on the ground within range. The earth opens up beneath that creature and attempts to swallow them up. The target must make a Strength saving throw or be restrained for the duration. Furthermore, if the target fails the save, it begins sinking into the ground." + "\n " + "A restrained target, or another creature within 5 feet of it, can attempt to free the target by using an action to make a Strength check against your spell save DC, freeing the target. The target has disadvantage on this Strength check. The spell ends early if the target is freed." + "\n " + "At the end of the target’s turn, it sinks deeper into the ground. A Small or smaller creature fully sinks into the ground after 2 rounds of sinking, a Medium creature fully sinks after 3 rounds, and a Large creature fully sinks after 4 rounds. If a target fully sinks underground, it begins to suffocate."
- };
- SpellsList["ice claw prison"] = {
- name : "Ice Claw Prison",
- classes : ["sorcerer", "warlock", "wizard"],
- source : ["VSoS", 344],
- level : 3,
- school : "Evoc",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A crystal claw",
- duration : "Conc, 1 min",
- save : "Str",
- ritual: false,
- description : "Create a Large ice hand that can Slash, Imprison, or Release on command; see book",
- descriptionFull : "You choose an unoccupied 10-foot square that you can see within range. A Large clawed hand made from razor-sharp ice appears there and lasts for the spell’s duration. It acts at your command, though it can’t move from its initial location." + "\n " + "The hand is an object that has AC 18 and hit points equal to half your hit point maximum. It has immunity to poison and psychic damage. If it drops to 0 hit points, the spell ends. The claw doesn’t fill its space. When you cast the spell, and as a bonus action on your subsequent turns, you can command the claw to perform one of the following tasks:" + "\n " + toUni("Slash") + ": The claw lashes out at a target within 10 feet of itself. Make a melee spell attack using your own spell attack bonus. On a hit, the target takes 3d8 slashing or cold damage (your choice)." + "\n " + toUni("Imprison") + ": The claw grabs a Large or smaller creature within 10 feet of itself. The target must succeed on a Strength saving throw against your spell save DC or be dragged into the claw’s space and restrained for the duration. At the end of each of its turns, the restrained target can make a Strength check against your spell save DC. On a success, the target escapes and is no longer restrained by the hand, but on a failure it takes 1d8 cold damage. While a creature is restrained by the hand, the hand can’t imprison or slash another creature. The claw can slash a creature it has restrained." + "\n " + toUni("Release") + ": The claw releases an imprisoned target, which is no longer restrained." + AtHigherLevels + "When you cast this spell using a spell slot of 4th level or higher, the damage of the Slash and Imprison options increases by 1d8 for each spell slot above 3rd."
- };
- SpellsList["icicle javelin"] = {
- name : "Icicle Javelin",
- classes : ["druid", "sorcerer", "wizard"],
- source : ["VSoS", 344],
- level : 1,
- school : "Conj",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A small icicle",
- duration : "Instantaneous",
- save : "Str",
- ritual: false,
- description : "Ranged spell atk for 3d8+1d8/SL Cold dmg and pin to adjacent surface; B",
- descriptionFull : "You fling a massive icicle toward a target of your choice within range. Make a ranged spell attack against the target. On a hit, the target takes 3d8 cold damage. If the target is also adjacent to a wall, or a similar large, immobile object, it may also be pinned to that surface on its next turn. At the beginning of its turn, the target can make a Strength saving throw. On a failed save, it has a speed of 0 until the start of its next turn." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d8 for each slot level above 1st."
- };
- SpellsList["identity curse"] = {
- name : "Identity Curse",
- classes : ["witch"],
- source : ["VSoS", 345],
- level : 9,
- school : "Ench",
- time : "1 a",
- range : "Touch",
- components : "V,S",
- duration : "Until dispelled",
- save : "Wis",
- ritual: false,
- description : "1 crea save or forget its identity and personal memories (not statistics)",
- descriptionFull : "You extend a finger to a creature’s temple, who then forgets its own name. Choose one creature you can touch to make a Wisdom saving throw. On a failed save, the target falls unconscious for 1 hour and is cursed to forget its identity. When the target awakens, it loses all its personal memories, though the target retains all of its general knowledge, proficiencies, and other statistics. The target won’t realize it has any class features or special abilities, and so doesn’t willingly make use of them. If left to its own devices, the target will quickly adopt a new name and begin to build a new identity." + "\n " + "A remove curse spell cast using a 9th-level spell slot ends this curse. When this curse ends, the target regains all its past memories."
- };
- SpellsList["impressions of the past"] = {
- name : "Impressions of the Past",
- classes : ["cleric", "wizard"],
- source : ["VSoS", 345],
- level : 7,
- school : "Div",
- time : "1 a",
- range : "Self",
- components : "V,S,M\u0192",
- compMaterial : "An hourglass and a glass eye worth at least 100 gp",
- duration : "Conc, 1 min",
- save : "Wis",
- ritual: false,
- description : "Observe (all senses) a time up to 100 years ago; share effect with 8th or higher level spell slot",
- descriptionFull : "You cast your senses back in time to perceive your current location as it was at some point in the past, including any events that were happening at that time. You must specify the exact time you wish to see, which can’t be more than 100 years ago. When viewing the past, it appears dreamlike and shadowy, but you are able to discern detail and hear conversation as normal, and any special senses you possess (such as darkvision) also work as normal." + "\n " + "While perceiving the past, you can look in any direction, but you can’t move or speak, and are unable to sense your present surroundings." + AtHigherLevels + "When you cast this spell using a spell slot of 8th level or higher, you may share this spell with one other creature that you touch. An unwilling target can make a Wisdom saving throw to avoid being affected."
- };
- SpellsList["indemnify"] = {
- name : "Indemnify",
- classes : ["martyr", "necromancer"],
- source : ["VSoS", 345],
- level : 1,
- school : "Necro",
- time : "1 bns",
- range : "30 ft",
- components : "V,S,M",
- compMaterial : "A drop of blood",
- duration : "Conc, 1 h",
- save : "Con",
- ritual: false,
- description : "1 crea save or 1d8 Rad/Necro dmg whenever I lose HP while in range",
- descriptionFull : "You fling a drop of blood at a target you can see within range, marking them for reckoning. The target must make a Constitution saving throw. On a failed save, the target takes 1d8 radiant or necrotic damage (your choice) whenever you lose hit points for the duration. This spell ends early if the target begins its turn further than 60 feet from you."
- };
- SpellsList["inevitable boulder"] = {
- name : "Inevitable Boulder",
- classes : ["druid", "wizard"],
- source : ["VSoS", 345],
- level : 7,
- school : "Conj",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "An almost spherical stone",
- duration : "Conc, 1 min",
- save : "Dex",
- ritual: false,
- description : "Create a boulder that moves 60 ft toward target every turn; see book",
- descriptionFull : "At a point you choose within range, you conjure into existence a Large 8-foot diameter boulder, which rolls in pursuit of one creature that you can see of your choice. The boulder has 18 AC, 75 HP, immunity to poison and psychic damage, and resistance to bludgeoning, piercing, and slashing damage from nonmagical attacks. If the boulder is reduced to 0 hit points, it vanishes and the spell ends." + "\n " + "At the beginning of each of your turns, the boulder moves 60 feet in the direction of its target. If the boulder enters a creature’s space, the creature must make a Dexterity saving throw. On a failed save, it takes 6d10 bludgeoning damage and, if it is Large size or smaller, is knocked prone. On a success, the creature takes half as much damage and is not knocked prone. The boulder also crushes nonmagical objects smaller than itself in its path. If the boulder reaches its target, it rolls over it and continues on, completing its 60-foot movement. The boulder continues to pursue its target for the duration, rolling over it more than once if possible." + "\n " + "After the spell ends, the boulder continues to pursue its target for up to 24 hours. Once the boulder strikes its target after the spell ends, it immediately vanishes."
- };
- SpellsList["inexorable sarcophagus"] = {
- name : "Inexorable Sarcophagus",
- classes : ["necromancer"],
- source : ["VSoS", 346],
- level : 6,
- school : "Necro",
- time : "1 a",
- range : "30 ft",
- components : "V,S,M\u0192",
- compMaterial : "A finely made miniature sarcophagus worth at least 1,000 gp",
- duration : "Conc, 1 min",
- save : "Dex",
- ritual: false,
- description : "1 crea save or trapped inside a sarcophagus; see book",
- descriptionFull : "You toss a palm-sized sarcophagus at an unoccupied point you can see within range, where it grows to full size in an instant and attempts to ensnare a Medium or smaller creature within 5 feet of it with grimy gauze. The creature must succeed a Dexterity saving throw or be restrained and pulled into the open sarcophagus." + "\n " + "The gauze restraining the creature is an object with AC 10 and 100 HP. It is vulnerable to slashing and fire damage, and immune to psychic and poison damage. If it is reduced to 0 hit points, the spell ends." + "\n " + "A creature restrained by this spell must make another Dexterity saving throw at the end of each of its turns. If it successfully saves against this spell three times, it twists free of the gauze, ending the spell. If it fails three times, the sarcophagus slams shut and sinks deep into the earth. The creature is wrapped head to toe by the gauze and becomes incapacitated. The spell ends, but the sarcophagus remains buried in the earth. The sarcophagus has 1 minute of air, and the creature begins to suffocate after this time." + "\n " + "If a humanoid dies within the sarcophagus, they rise 24 hours later as a mummy under your control, as per the spell create undead. You can only command one mummy animated by this spell at a time." + "\n " + "Any time after this spell ends, you can cause the sarcophagus to ascend to the surface as an action. You can also use your action to shrink the sarcophagus down to its original size while it is unoccupied."
- };
- SpellsList["instant replay"] = {
- name : "Instant Replay",
- classes : ["martyr", "bard", "paladin", "ranger"],
- source : ["VSoS", 346],
- level : 1,
- school : "Trans",
- time : "1 bns",
- range : "Self",
- components : "V,S",
- duration : "1 min",
- ritual: false,
- description : "Next time I miss an attack, I can reroll it",
- descriptionFull : "The next time you miss a creature with an attack before this spell ends, you can instantly reset yourself to the moment before the attack and repeat it against the same target."
- };
- SpellsList["intensify gravity"] = {
- name : "Intensify Gravity",
- classes : ["cleric", "druid", "sorcerer", "wizard"],
- source : ["VSoS", 346],
- level : 4,
- school : "Trans",
- time : "1 a",
- range : "100 ft",
- components : "V,S,M",
- compMaterial : "A lodestone and iron fillings",
- duration : "Conc, 1 min",
- ritual: false,
- description : "Crea in area use double movement (incl. climb, fly, etc.); stacks with diff. terrain; B",
- descriptionFull : "This spell intensifies gravity in a 50-foot-radius, 100-foot-high cylinder centered on a point within range. Each creature in this area must spend two feet of movement for every foot moved, including flying, jumping, and climbing movement. This can be combined with difficult terrain to slow movement to a quarter of normal speed. If a prone creature wishes to stand up, it must succeed on a Strength check against your spell save DC. On a failure, it can’t move at all on its turn." + "\n " + "Objects in the area, including those being worn or carried, weigh double their usual weight, which may cause creatures to become encumbered or cause load-bearing spells like levitate to fail. Any ranged weapon attacks that pass into, out of, or through the area have disadvantage, and any falling damage dealt within the spell’s area is doubled."
- };
- SpellsList["intrusive thought"] = {
- name : "Intrusive Thought",
- classes : ["witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 346],
- level : 2,
- school : "Ench",
- time : "1 rea",
- timeFull : "1 reaction, which you take when you see a creature within 60 feet of you taking an action",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- save : "Wis",
- ritual: false,
- description : "1 crea taking action, save or take different action of my choice instead; B",
- descriptionFull : "As a reaction when a creature you can see within range uses its action to attack or takes the Dash, Dodge, or Disengage action, you can attempt to distort its thinking. The target makes a Wisdom saving throw. A target automatically succeeds on this saving throw if it can’t be charmed. On a failed save, the creature takes an action of your choice from among those options, instead of the action it intended to take."
- };
- SpellsList["invisibility purge"] = {
- name : "Invisibility Purge",
- classes : ["investigator", "witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 346],
- level : 4,
- school : "Abjur",
- time : "1 a",
- range : "S:120-ft rad",
- components : "V,S,M\u0192",
- compMaterial : "powdered silver worth at least 100 gp",
- duration : "Instantaneous",
- ritual: false,
- description : "Invis. effects in range dispelled if possible, or suppressed for 1 min. if not, except innate invis.",
- descriptionFull : "You purge magical invisibility effects within 120 feet of you. Any creature, object, location, or effect within 120 feet of you that is hidden by magical invisibility is revealed and the invisibility is dispelled." + "\n " + "This spell applies to innate abilities that are magical in nature, such as an imp’s Invisibility, but it doesn’t affect creatures on other planes of existence, such as the Ethereal Plane. It also doesn’t reveal creatures that are naturally invisible. Items that grant magical invisibility (such as a ring of invisibility) have their effects suppressed for 1 minute."
- };
- SpellsList["jam weapon"] = {
- name : "Jam Weapon",
- classes : ["witch", "bard", "wizard"],
- source : ["VSoS", 347],
- level : 2,
- school : "Trans",
- time : "1 rea",
- timeFull : "1 reaction, which you take when a creature you can see within range attacks with a firearm",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A pinch of wet gunpowder",
- duration : "Instantaneous",
- ritual: false,
- description : "Jam 1+1/SL firearm, preventing it from firing; 1 a to clear jam",
- descriptionFull : "The firearm you target jams upon firing. The attack fails, and the firearm is jammed. A jammed firearm can’t be used to make an attack until a creature uses its action to clear the weapon malfunction. At Higher Levels. When you cast this spell using a spell slot of 3rd level or higher, you can jam one additional firearm within range for each slot level above 2nd."
- };
- SpellsList["jethro's instant reload"] = {
- name : "Jethro's Instant Reload",
- classes : ["investigator", "bard", "ranger", "wizard"],
- source : ["VSoS", 347],
- level : 2,
- school : "Conj",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A spent bullet casing",
- duration : "1 h",
- ritual: true,
- description : "1 wea reloads automatically; if wea takes 1 a or longer to reload, it reloads at end of turn",
- descriptionFull : "One ranged weapon you touch becomes enchanted to reload itself automatically. If the weapon has the Loading or Reload property, you can ignore this for the duration. When the weapon’s ammunition is depleted, new ammunition teleports from your person to your hand or into the weapon, as appropriate. If the weapon takes an action or longer to reload, it reloads itself at the end of your turn. If you aren’t carrying sufficient ammunition for the weapon to reload, the spell ends."
- };
- SpellsList["lashing tendrils"] = {
- name : "Lashing Tendrils",
- classes : ["warlock"],
- source : ["VSoS", 347],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "Self",
- components : "V,S,M",
- compMaterial : "The tip of an octopus tentacle",
- duration : "Conc, 1 min",
- save : "Dex",
- ritual: false,
- description : "Crea coming w/in 5 ft of me or start turn, save or 1d6+1d6/SL Bludg. dmg, up to 6d6; success: half dmg",
- descriptionFull : "You sprout grotesque, whipping tendrils which automatically attack nearby creatures. When a creature comes within 5 feet of you or begins its turn there, it must make a Dexterity saving throw. A creature takes 1d6 bludgeoning damage on a failed save, or half as much on a successful one." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d6 for each slot level above 1st, up to a maximum of 6d6."
- };
- SpellsList["legendary libation"] = {
- name : "Legendary Libation",
- classes : ["bard", "cleric", "druid"],
- source : ["VSoS", 347],
- level : 0,
- school : "Conj",
- time : "1 bns",
- range : "Self",
- components : "V,M",
- compMaterial : "A container, such as a mug, tankard, or flask, which is filled with liquid that is purified by the spell",
- duration : "Instantaneous",
- ritual: false,
- description : "A drink that slakes thirst for 24 h; also, drinker gets adv. on saves vs. fear for 1 h",
- descriptionFull : "You speak a word of power and your container fills with a drink of your choosing, which can be imbibed as an action. The drink is delicious and satisfies the drinker’s thirst for the next 24 hours. Furthermore, the drinker has advantage on saving throws against becoming frightened for one hour after consuming this libation. If the drink is not consumed within one hour of being conjured, it loses its magic and turns into mundane, flavorless water." + "\n " + "A creature can’t benefit from more than one legendary libation in any given 24-hour period."
- };
- SpellsList["lightning surge"] = {
- name : "Lightning Surge",
- classes : ["necromancer", "warmage", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 347],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "S:5-ft rad",
- components : "V,S,M",
- compMaterial : "Two bits of copper wire",
- duration : "Instantaneous",
- save : "Dex",
- ritual: false,
- description : "Crea in 5 ft save or 1d6 Lightning dmg; +1d6 CL5/11/17",
- descriptionCantripDie : "Creatures within 5 ft save or `CD`d6 Lightning damage",
- descriptionFull : "You emit a dazzling array of short lightning bolts in all directions. All other creatures within 5 feet of you must succeed on a Dexterity saving throw or take 1d6 lightning damage." + "\n " + "This spell’s damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6)."
- };
- SpellsList["magic daggers"] = {
- name : "Magic Daggers",
- classes : ["warmage", "bard"],
- source : ["VSoS", 347],
- level : 0,
- school : "Conj",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Ranged spell atk w/ dagger 1d6 Prc. dmg; CL5:2, CL11:3, CL17:4 daggers",
- descriptionCantripDie : "`CD` ranged spell atks for 1d6 Piercing damage each",
- descriptionFull : "With a flourish, you conjure a throwing dagger of magical force out of thin air and flick it from your wrist at a target you can see. Make a ranged spell attack roll against a creature within range. On a hit, the target takes 1d6 magical piercing damage. The dagger vanishes after the attack." + "\n " + "At higher levels, you conjure more daggers out of force and make additional attacks: two daggers at 5th level, three daggers at 11th level, and four daggers at 17th level. You can use the daggers to attack the same target or at different ones. Make a separate attack roll for each dagger."
- };
- SpellsList["mandy's enchanted carriage"] = {
- name : "Mandy's Ench. Carriage",
- classes : ["witch", "druid"],
- source : ["VSoS", 348],
- level : 4,
- school : "Trans",
- time : "1 min",
- range : "30 ft",
- components : "V,S,M",
- compMaterial : "A vegetable",
- duration : "Special",
- ritual: false,
- description : "Create carriage for six people, lasts until midnight or 24 h; see book",
- descriptionFull : "You transform a vegetable into a Large magical carriage, complete with reins and two quasi-real horses. The carriage is luxurious and carries up to six passengers—four within and two atop it at the coach’s seat. Creatures within the carriage have full cover from external effects, but can see outside through a pair of windows composed of magical force. While sitting in the coach’s seat, a creature can control the carriage, which has a speed of 100 feet and can travel 10 miles in an hour, or 13 miles at a fast pace." + "\n " + "This spell’s duration varies depending upon when and where it was cast. If cast in a location where time passes normally, the spell lasts until the twelfth stroke of the next midnight, however long that may be. Elsewhere, the spell lasts for 24 hours. When the spell ends, the carriage’s occupants are ejected into adjacent unoccupied spaces, the carriage shrinks back into a vegetable, and the quasi-real horses fade." + "\n " + "The carriage and horses count as a single object with 12 AC and 100 HP. The spell ends early if the carriage and horses are reduced to 0 hit points."
- };
- SpellsList["mandy's feral follower"] = {
- name : "Mandy's Feral Follower",
- classes : ["witch", "druid"],
- source : ["VSoS", 348],
- level : 4,
- school : "Trans",
- time : "1 min",
- range : "30 ft",
- components : "V,S,M",
- compMaterial : "A small servant's bell",
- duration : "Special",
- ritual: false,
- description : "Transform 1+1/SL Small/Tiny Beasts into commoners under my command",
- descriptionFull : "After spending the casting time singing a song, you touch a Small or smaller beast. The target must have an Intelligence of 3 or less. The beast then transforms into a humanoid with the statistics of a commoner and an appearance of your choosing. The commoner is friendly to you and your allies, has a basic understanding of all simple unskilled tasks, and can understand the languages you speak, but doesn’t speak. The commoner is clothed in common clothes, but has no other equipment." + "\n " + "In combat, the commoner rolls their own initiative and acts on their own turn. They behave as though they are dutifully employed by you." + "\n " + "This spell’s duration varies depending upon when and where it was cast. If cast in a location where time passes normally, the spell lasts until the twelfth stroke of the next midnight, however long that may be. Elsewhere, the spell lasts for 24 hours." + "\n " + "The transformation lasts for the duration, or until the target drops to 0 hit points or dies. When it reverts to its true form, the creature returns to the number of hit points it had before it transformed. If it reverts as a result of dropping to 0 hit points, any excess damage carries over to its true form. As long as the excess damage doesn’t reduce the creature’s normal form to 0 hit points, it isn’t knocked unconscious." + AtHigherLevels + "When you cast this spell using a spell slot of 5th level or higher, you can transform one additional animal for each spell slot above 4th."
- };
- SpellsList["mandy's marvelous dress"] = {
- name : "Mandy's Marvelous Dress",
- classes : ["witch", "bard"],
- source : ["VSoS", 349],
- level : 4,
- school : "Conj",
- time : "1 a",
- range : "Touch",
- components : "V,S,M\u0192",
- compMaterial : "A glass slipper worth at least 100 gp",
- duration : "Conc, special",
- save : "Wis",
- ritual: false,
- description : "1 crea can replace Cha chk d20 w/10; atks save or miss; lasts to midnight or 24 hr",
- descriptionFull : "A willing creature you touch is instantly clothed in a fabulous ball gown, perfectly tailored and complete with a set of glittering jewelry. You can choose for the dress to sit atop the creature’s clothing or armor, or for it to magically replace its outfit. The creature can’t remove the dress until the spell ends; similarly, the jewelry vanishes if it is removed from the dress. Until the spell ends, when the wearer makes a Charisma check, it can replace the number it rolls with a 10." + "\n " + "Additionally, if the wearer of the dress is attacked by a creature that can see it, the attacker must succeed on a Wisdom saving throw or miss the attack. On a success, the attacker is immune to this effect until this spell ends." + "\n " + "This spell’s duration varies depending upon when and where it was cast. If cast in a location where time passes normally, the spell lasts until the twelfth stroke of the next midnight, however long that may be. Elsewhere, the spell lasts for 24 hours. When the spell ends, the dress vanishes in a puff of sparkles, and the creature becomes clothed in its original outfit."
- };
- SpellsList["mass skirmish"] = {
- name : "Mass Skirmish",
- classes : ["cleric", "wizard"],
- source : ["VSoS", 349],
- level : 7,
- school : "Trans",
- time : "1 a",
- range : "S:30-ft rad",
- components : "V,S,M",
- compMaterial : "A branch from a tree",
- duration : "Conc, 10 min",
- ritual: false,
- description : "Any number of crea get +15 ft spd, ignore diff. terrain, don't provoke opportunity atks",
- descriptionFull : "This spell allows you to enhance the mobility of any number of willing creatures that you can see within range. You bolster each target, enabling them to move easily through enemy formations. For the duration, each target’s speed is increased by 15 feet, is unaffected by nonmagical difficult terrain, and doesn’t provoke opportunity attacks."
- };
- SpellsList["memorize"] = {
- name : "Memorize",
- classes : ["investigator", "necromancer", "bard", "cleric", "wizard"],
- source : ["VSoS", 349],
- level : 1,
- school : "Ench",
- time : "1 a",
- range : "Touch",
- components : "V,S,M\u2020",
- compMaterial : "A page of written text and a length of silver string worth 10 gp, tied in a knot, which the spell consumes",
- duration : "Instantaneous",
- ritual: true,
- description : "Perfectly memorize a page for 1 year; adv. on Int checks to remember it",
- descriptionFull : "While casting this spell, your eyes pass over the words on the page, which are committed to your memory. For the next year, you exactly remember the details of all information on this page. After that time, you have advantage on all Intelligence checks you make to recall this information."
- };
- SpellsList["might of the abyss"] = {
- name : "Might of the Abyss",
- classes : ["necromancer", "cleric"],
- source : ["VSoS", 349],
- level : 1,
- school : "Evoc",
- time : "1 a",
- range : "15 ft",
- components : "V,S,M",
- compMaterial : "A small, black strip of ribbon",
- duration : "Conc, 1 min",
- ritual: false,
- description : "3+1/SL crea (not me) wea atks get +1d4 dmg while in range; range 20 when upcast",
- descriptionFull : "You channel stygian power from an extraplanar source, enhancing three creatures other than yourself within range. Whenever a target makes a weapon attack, it adds 1d4 damage to their damage roll. If a target moves more than 15 feet away from you, it loses the effect until it is within range again." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the range increases by 5 feet, and you can target one additional creature for each slot level above 1st."
- };
- SpellsList["minor lifesteal"] = {
- name : "Minor Lifesteal",
- classes : ["necromancer", "sorcerer", "wizard"],
- source : ["VSoS", 349],
- level : 0,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "S",
- duration : "Instantaneous",
- save : "Con",
- description : "1 crea save or 1d4 Necro. dmg and I gain as Temp HP; +1d4 CL5/11/17",
- descriptionCantripDie : "1 crea save or `CD`d4 Necro. dmg, and I gain as Temp HP",
- descriptionFull : "You drain life energy from a hostile creature you can see within range. The target must succeed on a Constitution saving throw or take 1d4 necrotic damage. You then gain temporary hit points equal to the amount of damage dealt, which last until you finish a long rest. This spell has no effect on undead or constructs." + "\n " + "This spell’s damage increases by 1d4 when you reach 5th level (2d4), 11th level (3d4), and 17th level (4d4)."
- };
- SpellsList["moment to think"] = {
- name : "Moment to Think",
- classes : ["warmage", "cleric", "sorcerer", "wizard"],
- source : ["VSoS", 350],
- level : 0,
- school : "Trans",
- time : "1 bns",
- range : "Self",
- components : "V",
- duration : "Instantaneous",
- ritual: false,
- description : "Move in space and Search, Use Object, or Int chk to recall info while time stops",
- descriptionFull : "When you cast this spell, you briefly stop time for everyone but yourself. You can take one additional action and move around in your space while no time passes for other creatures. That action can be used only to take the Search or Use an Object action, or to make an Intelligence check to remember information about something." + "\n " + "Furthermore, you can’t affect or damage any creature or object, other than objects you are wearing or carrying. If an object leaves your hand, it also becomes frozen in time."
- };
- SpellsList["nondescript"] = {
- name : "Nondescript",
- classes : ["investigator", "necromancer", "witch", "bard", "sorcerer", "wizard"],
- source : ["VSoS", 350],
- level : 2,
- school : "Illus",
- time : "1 a",
- range : "Self",
- components : "V,S",
- duration : "Conc, 10 min",
- ritual: false,
- description : "Creatures who see me while I'm under this spell can't remember what I look like",
- descriptionFull : "This spell makes you seem ordinary and nondescript to others, though it doesn’t change your actual appearance. Creatures who see you while you are under the influence of this spell are unable to recall specific details of your appearance upon being asked if they had seen you or someone matching your description, though their memory of actions you undertook or events they experienced is unaffected."
- };
- SpellsList["paradox"] = {
- name : "Paradox",
- classes : ["sorcerer", "warlock", "wizard"],
- source : ["VSoS", 350],
- level : 9,
- school : "Trans",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Undo 1 a from the last rnd and its direct effects; 10d8 Psy dmg to the crea that took it",
- descriptionFull : "By twisting the flow of time into knots, you cause one action of your choice taken within range within the last round to be undone. Reality then reasserts itself, recoiling from the damage caused by removing an event from time. The direct effects of that action, such as damage dealt by an attack or spell, are undone, but the indirect effects, such as creatures choosing to move to different locations, are not. The creature that took the action takes 10d8 psychic damage, as it copes with its history being modified."
- };
- SpellsList["perforating smite"] = {
- name : "Perforating Smite",
- classes : ["paladin"],
- source : ["VSoS", 350],
- level : 2,
- school : "Evoc",
- time : "1 bns",
- range : "Self",
- components : "V",
- duration : "Conc, 1 min",
- save : "Dex",
- ritual: false,
- description : "Next firearm atk is 5-ft wide line at normal range; crea in area save vs. normal dmg, success: half dmg",
- descriptionFull : "The next time you make an attack with a firearm before this spell ends, the shot is charged with an incredible amount of power. Instead of making an attack roll against a single target, the shot becomes a 5-foot wide line that extends from you out to the weapon’s normal range. Each creature in that line must make a Dexterity saving throw. A creature takes the weapon’s normal damage on a failed save, or half as much damage on a successful one."
- };
- SpellsList["petal storm"] = {
- name : "Petal Storm",
- classes : ["witch", "druid"],
- source : ["VSoS", 350],
- level : 2,
- school : "Conj",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A handful of flower petals",
- duration : "Conc, 1 min",
- save : "Str",
- ritual: false,
- description : "Crea entering area or start turn save or 3d4+2d4/SL Slash dmg; bns move 30 ft; B",
- descriptionFull : "Choose an unoccupied 15-foot cube of air that you can see within range. An elemental force of swirling winds appears in the cube and lasts for the spell’s duration. The cloud heavily obscures its area." + "\n " + "Any creature that enters the storm for the first time on a turn or starts its turn there must make a Strength saving throw. On a failed save, the creature takes 3d4 slashing damage. As a bonus action, you can move the storm up to 30 feet in any direction. The first time storm’s area contains leaf litter, flowers, bushes, or trees, it sucks up extra material and the damage the spell deals increases by 2d4." + AtHigherLevels + "When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 2d4 for each slot level above 2nd."
- };
- SpellsList["phantasmal beauty"] = {
- name : "Phantasmal Beauty",
- classes : ["witch", "bard", "wizard"],
- source : ["VSoS", 350],
- level : 3,
- school : "Illus",
- time : "1 a",
- range : "120 ft",
- components : "V,S",
- duration : "Conc, 1 min",
- save : "Wis",
- ritual: false,
- description : "1 crea save or incapacitated, can't move, and disadv. on all Wis(Perception) chks",
- descriptionFull : "You tap into the dreams of a creature you can see within range and create an illusory manifestation of its deepest desires, visible only to that creature. The target must make a Wisdom saving throw. On a failed save, the target becomes incapacitated and unable to move for the duration. In addition, it has disadvantage on all Wisdom (Perception) checks it makes. At the end of each of its turns, the target can make another Wisdom saving throw. On a success, the spell ends on the target."
- };
- SpellsList["phantom grapnel"] = {
- name : "Phantom Grapnel",
- classes : ["warmage"],
- source : ["VSoS", 351],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "30 ft",
- components : "V,S",
- duration : "Instantaneous",
- save : "Str",
- ritual: false,
- description : "Move to Huge or larger crea or empty space, or pull Large or smaller crea 10 ft. to me on failed save",
- descriptionFull : "You conjure a chain and hook made of magical force, which you propel at a creature or unoccupied space you can see within range. When you target a space or a creature of Huge size or larger, your grapnel pulls you to that target in a straight line. You provoke opportunity attacks for this movement as normal. When you target a creature of Large size or smaller, you pull the target up to 10 feet towards you. A creature can make a Strength saving throw to resist this movement."
- };
- SpellsList["pharaoh's curse"] = {
- name : "Pharaoh's Curse",
- classes : ["necromancer", "witch"],
- source : ["VSoS", 351],
- level : 5,
- school : "Necro",
- time : "1 a",
- range : "10 ft",
- components : "V,S",
- duration : "Until dispelled",
- save : "Con",
- ritual: false,
- description : "1 crea save or can't regain HP, and max HP reduces by 3d6 every 24 h",
- descriptionFull : "Opening your palm, you release a puff of dust, the pestilence of mummy rot. Choose one creature within range to make a Constitution saving throw. On a failed save, the target is cursed with mummy rot. The cursed target can’t regain hit points, and its hit point maximum decreases by 3d6 for every 24 hours that elapse. If the curse reduces the target’s hit point maximum to 0, the target dies, and its body turns to dust." + "\n " + "The curse lasts until removed by a spell or magical effect that cures mummy rot. A remove curse spell cast using a spell slot of 5th level or higher also ends this spell."
- };
- SpellsList["pillar of salt"] = {
- name : "Pillar of Salt",
- classes : ["martyr"],
- source : ["VSoS", 351],
- level : 3,
- school : "Trans",
- time : "1 a",
- range : "120 ft",
- components : "V,S,M",
- compMaterial : "A drop of lantern oil and a pinch of sulfur",
- duration : "Instantaneous",
- save : "Con",
- ritual: false,
- description : "Crea in 10-ft sphere save or 7d6+1d6/SL Necro dmg; success: half; 0 HP: turn to salt",
- descriptionFull : "You deliver a mote of divine wrath to a point you can see within range. Each creature you choose in a 10-foot-radius sphere centered on that point must make a Constitution saving throw. On a failed save, a creature takes 7d6 necrotic damage, or half as much on a successful save. If this damage reduces a target which failed its saving throw to 0 hit points, it is transformed into a pillar of salt." + AtHigherLevels + "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."
- };
- SpellsList["polybrachia"] = {
- name : "Polybrachia",
- classes : ["martyr", "paladin", "ranger", "warlock", "wizard"],
- source : ["VSoS", 351],
- level : 3,
- school : "Conj",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A pair of armbands",
- duration : "Conc, 10 min",
- ritual: false,
- description : "1 crea gets 2 new arms; adv. on Str(Ath) chks using them; bns to atk w/ wea held by them",
- descriptionFull : "Two muscular arms consisting of brilliant arcane energy appear on a willing creature that you touch. These arms are fully functional and can be used to hold weapons and shields (allowing the target to hold 2 two-handed weapons, or 4 one-handed weapons), perform somatic components of spells, and perform other actions, though the arms themselves don’t grant the target additional actions. For the duration, the target has advantage on Strength (Athletics) checks made using the additional arms. Also, if the arms are used to carry weapons, the target can use a bonus action to make an additional melee weapon attack using the arms."
- };
- SpellsList["prehensile hair"] = {
- name : "Prehensile Hair",
- classes : ["witch"],
- source : ["VSoS", 351],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A braided rope",
- duration : "1 h",
- ritual: true,
- description : "Grow prehensile hair; can do simple tasks within 10 ft; can deliver touch spells",
- descriptionFull : "You grow unduly long and tough hair (even from your eyebrows) which you can manipulate at will. You can use your hair to perform simple tasks within 10 feet of you, such as manipulating an object, opening an unlocked door or container, stowing or retrieving an item from an open container, or pouring the contents out of a vial. You can cast spells with a range of Touch using your hair, out to a range of 10 feet. Your hair returns to its normal length when this spell ends."
- };
- SpellsList["protection from ballistics"] = {
- name : "Protection from Ballistics",
- classes : ["martyr", "necromancer", "cleric", "druid", "paladin", "ranger", "warlock", "wizard"],
- source : ["VSoS", 351],
- level : 2,
- school : "Abjur",
- time : "1 a",
- range : "Touch",
- components : "V,S",
- duration : "Conc, 1 min",
- ritual: false,
- description : "Ranged firearm atks have disadv. vs. tgt; tgt resists firearm dmg",
- descriptionFull : "A shimmering shield of energy surrounds one willing creature you touch. For the duration, ranged attacks made by firearms have disadvantage against the target, and the target has resistance to any damage dealt by firearms."
- };
- SpellsList["protect threshold"] = {
- name : "Protect Threshold",
- classes : ["investigator", "necromancer", "witch", "sorcerer", "wizard"],
- source : ["VSoS", 352],
- level : 2,
- school : "Abjur",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "An ounce of salt for each foot of the warded portal's perimeter",
- duration : "10 min",
- save : "Wis",
- ritual: true,
- description : "Crea passing thru door/window/portal save or 4d6+1d6/SL psychic dmg; success: half dmg",
- descriptionFull : "Tracing arcane sigils along its boundary, you can ward a doorway, window, or other portal from entry. For the duration, an invisible eldritch creature stalks the warded portal. Any creature that attempts to pass through the portal must make a Wisdom saving throw or take 4d6 psychic damage, or half as much on a successful save." + AtHigherLevels + "When you cast this spell using a spell slot of 3rd level or higher, the damage increases by 1d6 for each slot level above 2nd."
- };
- SpellsList["psychedelics"] = {
- name : "Psychedelics",
- classes : ["witch", "bard", "druid", "ranger"],
- source : ["VSoS", 352],
- level : 1,
- school : "Illus",
- time : "1 a",
- range : "S:60-ft rad",
- components : "V,S,M",
- compMaterial : "A mushroom",
- duration : "1 rnd",
- save : "Dex",
- ritual: false,
- description : "Crea in area save or disadv on atks until end of its next turn; crea and obj are trippy for 1 h",
- descriptionFull : "For a moment, the colors around you shift in a rainbow swirl, before coming to rest far from their original hues. Each creature you choose within range must make a Dexterity saving throw. On a failed save, a creature has disadvantage on attack rolls until the end of its next turn. Additionally, the colors of all creatures and objects you choose within range change randomly and remain brightly and unnaturally colored for 1 hour."
- };
- SpellsList["quickstep"] = {
- name : "Quickstep",
- classes : ["warmage"],
- source : ["VSoS", 352],
- level : 0,
- school : "Trans",
- time : "1 bns",
- range : "Self",
- components : "V",
- duration : "1 rnd",
- ritual: false,
- description : "My walking speed increases by 10 ft until the start of my next turn",
- descriptionFull : "You call upon your inner reserves to give you a brief flash of speed. When you cast this spell, your walking speed increases by 10 feet until the start of your next turn."
- };
- SpellsList["recall"] = {
- name : "Recall",
- classes : ["sorcerer", "wizard"],
- source : ["VSoS", 352],
- level : 2,
- school : "Conj",
- time : "1 bns",
- range : "Self",
- components : "V,S",
- duration : "1 rnd",
- ritual: false,
- description : "Reaction to teleport to where I was when I cast this spell",
- descriptionFull : "Record where you are when you cast this spell. Until the end of your next turn, you can use your reaction to teleport back to that location, or to the nearest unoccupied space. If you use this reaction in response to an attack, spell, magical effect, or any other damaging effect, resolve the triggering effect before teleporting."
- };
- SpellsList["repulsor ring"] = {
- name : "Repulsor Ring",
- classes : ["cleric", "wizard"],
- source : ["VSoS", 352],
- level : 2,
- school : "Abjur",
- time : "1 a",
- range : "5 ft",
- components : "V,S,M",
- compMaterial : "A piece of chalk",
- duration : "Conc, 1 min",
- ritual: false,
- description : "Only crea I choose can enter; ranged atks vs. crea in area get disadv; melees push attacker 10 ft",
- descriptionFull : "You outline a 5-foot diameter circle on the ground, which is warded against intruders. Only creatures you choose can step within the circle. Any ranged attack roll made against a target within the circle has disadvantage. If a hostile creature makes a melee attack against a target within the circle, the attacker is pushed back 10 feet immediately after the attack."
- };
- SpellsList["ruby-eye curse"] = {
- name : "Ruby-Eye Curse",
- classes : ["necromancer", "witch"],
- source : ["VSoS", 353],
- level : 3,
- school : "Necro",
- time : "1 a",
- range : "Touch",
- components : "V,S",
- duration : "Conc, 10 min",
- save : "Con",
- ritual: false,
- description : "1 crea save or blind beyond 5 ft",
- descriptionFull : "A red haze clouds the eyes of a creature that meets your gaze. Choose one creature you can see within range to make a Constitution saving throw. On a failed save, the creature is cursed for the duration. A cursed target can see normally out to 5 feet, but is blind beyond this radius." + "\n " + "A remove curse spell ends this curse early."
- };
- SpellsList["rumbling charge"] = {
- name : "Rumbling Charge",
- classes : ["druid", "sorcerer", "wizard"],
- source : ["VSoS", 353],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A lump of granite",
- duration : "Instantaneous",
- save : "Str",
- ritual: false,
- description : "Move 30 ft; hit object/crea: it saves or 2d12+1d12/2SL Bludg. dmg; success: half dmg",
- descriptionFull : "You imbue yourself with the elemental power of a landslide. When you cast this spell, you immediately move 30 feet in a straight line without provoking opportunity attacks. If your path is blocked by a creature or object, you stop moving there, and that creature or object must make a Strength saving throw or take 2d12 bludgeoning damage, or half as much on a successful save." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d12 for every two slot levels above 1st."
- };
- SpellsList["rumor"] = {
- name : "Rumor",
- classes : ["investigator", "witch", "bard", "wizard"],
- source : ["VSoS", 353],
- level : 1,
- school : "Ench",
- time : "1 a",
- range : "S:100-ft rad",
- components : "V,S",
- duration : "1 min",
- ritual: true,
- description : "10 word or less rumor heard by all crea near three or more other crea that share a language",
- descriptionFull : "You magically spread a rumor of 10 words or less. Any creature within range that is near three or more other creatures which speak the same language as them believes that they hear the rumor being repeated by someone nearby. Different creatures hear the rumor from different people, so a concrete origin point is impossible to discern. Generally, creatures won’t be outright hostile upon hearing even the most vicious rumors, but hearing a rumor can affect their disposition positively or negatively."
- };
- SpellsList["rusting grasp"] = {
- name : "Rusting Grasp",
- classes : ["necromancer", "witch", "druid", "wizard"],
- source : ["VSoS", 353],
- level : 3,
- school : "Trans",
- time : "1 a",
- range : "Touch",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Melee spell atk for 6d4+2d4/SL Acid dmg and damage/destroy armor/shield; B",
- descriptionFull : "You conjure a potent acid at your fingertips, which can corrode metal and burn flesh. Make a melee spell attack against a creature or object within your reach. On a hit, a creature takes 6d4 acid damage and, if it is wearing nonmagical metal armor or wielding a nonmagical metal shield, you can corrode either its armor or shield. Corroded armor takes a permanent and cumulative -3 penalty to the AC it offers. Armor reduced to an AC of 10 is destroyed. A corroded shield is destroyed." + "\n " + "If you target a nonmagical metal object with this spell that isn’t being worn or carried, you corrode and destroy parts of the object you choose that can fit within a 1-foot cube." + AtHigherLevels + "When you cast this spell using a spell slot of 4th level or higher, the damage increases by 2d4 for each slot level above 3rd. Additionally, you can destroy one additional cubic foot of a nonmagical object for each slot level above 3rd."
- };
- SpellsList["scrutinize foe"] = {
- name : "Scrutinize Foe",
- classes : ["investigator", "necromancer", "cleric", "wizard"],
- source : ["VSoS", 353],
- level : 5,
- school : "Div",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Pick 1 crea, GM tells me 2 of: AC, curr HP, cond imms, dmg imms, dmg resists, dmg vulns, enchs/spells",
- descriptionFull : "You discern minute details concerning one creature you can see within range. You learn two of the following pieces of information of your choice about the target: its Armor Class, current hit points, condition immunities, damage immunities, damage resistances, damage vulnerabilities, and enchantments (which reveals any spells which are currently affecting it). The GM must share with you the requested information."
- };
- SpellsList["seance"] = {
- name : "S\u00e9ance",
- classes : ["investigator", "necromancer", "witch"],
- source : ["VSoS", 353],
- level : 3,
- school : "Necro",
- time : "10 min",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A crystal ball, deck of tarot cards, or ouija board",
- duration : "1 min",
- ritual: false,
- description : "Ask a familiar spirit 3 questions; 5% chance of reaching the wrong spirit; see book",
- descriptionFull : "You and at least three willing creatures lock hands in a moment of meditation to conjure a spirit from the afterlife to answer your questions. Describe or name a creature that is familiar to you. If the creature’s soul is free and willing, it manifests as a ghostly specter. This spell fails if the spirit was the target of this spell within the last 10 days." + "\n " + "Until the spell ends, you can ask up to three questions of the specter. The specter knows only what it knew in life, including the languages it knew. Answers are usually brief, cryptic, or repetitive, and the specter is under no compulsion to offer a truthful answer if you are hostile to it or it recognizes you as an enemy. There is a 5% chance that this spell contacts the wrong spirit, one which will answer questions untruthfully or ambiguously."
- };
- SpellsList["skirmish"] = {
- name : "Skirmish",
- classes : ["cleric", "ranger", "wizard"],
- source : ["VSoS", 354],
- level : 3,
- school : "Trans",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A branch from a tree",
- duration : "Conc, 10 min",
- save : "Wis",
- ritual: false,
- description : "1 crea speed is doubled, ignores diff. terrain, and doesn't provoke opportunity atks",
- descriptionFull : "You enhance the mobility of one willing creature you touch, enabling them to move easily through enemy formations. For the duration, the target’s speed is doubled, it is unaffected by nonmagical difficult terrain, and it doesn’t provoke opportunity attacks."
- };
- SpellsList["snakestaff"] = {
- name : "Snakestaff",
- classes : ["martyr", "cleric", "druid", "wizard"],
- source : ["VSoS", 354],
- level : 3,
- school : "Trans",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A quarterstaff",
- duration : "Conc, 1 h",
- ritual: false,
- description : "Turn staff into a Giant Constrictor Snake under my control; staff breaks if snake dies",
- descriptionFull : "You cast a staff to the ground, which writhes and grows into a giant constrictor snake under your control, which acts on its own initiative count. The snake is friendly to you and your companions. The snake will obey any verbal commands that you issue to it (no action required by you). If you don’t issue any commands, it defends itself from hostile creatures, but otherwise takes no actions. If the snake is reduced to 0 hit points, it dies and reverts to a broken staff. The GM has the creature’s statistics."
- };
- SpellsList["sonic pulse"] = {
- name : "Sonic Pulse",
- classes : ["warmage"],
- source : ["VSoS", 354],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- save : "Con",
- ritual: false,
- description : "1 crea save or 1d8 Thun dmg and deafened until my next turn; 1d10 within 10 ft; +1d8/1d10 CL5/11/17",
- descriptionCantripDie : "1 crea save or `CD`d8 Thun dmg and deafened until my next turn; `CD`d10 within 10 ft",
- descriptionFull : "You compress a thunderous boom into an invisible ball and project it at a creature you can see within range. The target must succeed on a Constitution saving throw, or it takes 1d8 thunder damage and is deafened until the start of your next turn." + "\n " + "If the spell’s target is within 10 feet of you, this spell’s damage becomes d10s, instead of d8s." + "\n " + "This spell’s damage increases by 1d8 when you reach 5th level (2d8), 11th level (3d8), and 17th level (4d8)."
- };
- SpellsList["spark of life"] = {
- name : "Spark of Life",
- classes : ["necromancer"],
- source : ["VSoS", 354],
- level : 0,
- school : "Necro",
- time : "1 a",
- range : "60 ft",
- components : "V,S",
- duration : "Instantaneous",
- ritual: false,
- description : "Nearby corpse briefly reanimates, moves, and makes an attack; see book",
- descriptionFull : "With a quick jolt of necromantic energy, the dead momentarily rise to obey you, if only for a few seconds. Choose the corpse of a Huge or smaller creature that has been dead for no more than an hour. When you cast this spell, the corpse stands up and can move up to 15 feet and make a single melee slam attack against a target of your choice within its reach, using your spell attack modifier. On a hit, this attack deals bludgeoning damage based on the corpse’s size: a Tiny corpse deals 1d4, a Small corpse deals 1d6, a Medium corpse deals 1d8, a Large corpse deals 1d10, and a Huge corpse deals 1d12. Once the corpse attacks, it once again crumples into a heap. A corpse targeted by this spell doesn’t become an undead creature." + "\n " + "This spell’s damage increases as you gain levels. At 5th level, the corpse deals two damage dice according to its size. At 11th level, it deals three damage dice, and at 17th level, it deals four damage dice."
- };
- SpellsList["springheel"] = {
- name : "Springheel",
- classes : ["springheel", "druid"],
- source : ["VSoS", 354],
- level : 0,
- school : "Trans",
- time : "1 bns",
- range : "Self",
- components : "V",
- duration : "1 rnd",
- ritual: false,
- description : "Jump speed increases by 10 ft., and can running high or long jump w/o running start",
- descriptionFull : "You flood magic into your legs, allowing you to bound high into the air from a standstill. When you cast this spell, your jump distance increases 10 feet until the start of your next turn, and you can make a running high jump or a running long jump without a running start."
- };
- SpellsList["stone bones"] = {
- name : "Stone Bones",
- classes : ["investigator", "martyr", "necromancer", "druid", "ranger", "sorcerer", "stone bones"],
- source : ["VSoS", 355],
- level : 2,
- school : "Trans",
- time : "1 bns",
- range : "30 ft",
- components : "V,S",
- duration : "1 rnd",
- ritual: false,
- description : "1 crea resists nonmagical Bludgeoning/Piercing/Slashing dmg until end of my next turn",
- descriptionFull : "You magically reinforce a creature you can see within range, granting it resistance to bludgeoning, piercing, and slashing damage from nonmagical attacks until the end of your next turn."
- };
- SpellsList["swift flight"] = {
- name : "Swift Flight",
- classes : ["witch", "sorcerer", "wizard"],
- source : ["VSoS", 355],
- level : 2,
- school : "Trans",
- time : "1 bns",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A wing feather from any bird",
- duration : "1 rnd",
- ritual: false,
- description : "1 crea gets fly speed of 30 ft",
- descriptionFull : "Streaks of energy flow from the back of a creature you touch, tracing the shapes of wings. Until the end of the target’s next turn, it has a flying speed of 30 feet. It falls if it ends its turn in the air and nothing else is holding it aloft."
- };
- SpellsList["tag"] = {
- name : "Tag",
- classes : ["bard", "sorcerer", "wizard"],
- source : ["VSoS", 355],
- level : 0,
- school : "Illus",
- time : "1 a",
- range : "Touch",
- components : "S,M",
- compMaterial : "A drop of paint",
- duration : "Instantaneous",
- ritual: false,
- description : "Create 10-ft image or message up to 3 words; lasts 7 days; nonmagical cleaning can't remove",
- descriptionFull : "You press your hand against a flat plane on an object and imprint an elaborate and vibrant image that can fit within a 10-foot square onto the surface. The image can contain a message up to three words in length, and can include art, caricatures, or identifying logos in any combination of colors, decided when you cast the spell. Nonmagical cleaning supplies can’t remove the image, which fades after seven days."
- };
- SpellsList["thunderous distortion"] = {
- name : "Thunderous Distortion",
- classes : ["warmage"],
- source : ["VSoS", 355],
- level : 0,
- school : "Evoc",
- time : "1 a",
- range : "S:10-ft cone",
- components : "V,S",
- duration : "Instantaneous",
- save : "Con",
- ritual: false,
- description : "Crea in area save or 1d6 Thun. dmg; if cast on prev. turn, 1d8 dmg; +1d6/1d8 CL 5/11/17",
- descriptionCantripDie : "Crea in area save or `CD`d6 Thun. dmg; if cast on prev. turn, `CD`d8 instead",
- descriptionFull : "You produce a distorted wave of noise in a 10-foot cone, which can be heard up to 100 feet away. Each creature in that area must succeed a Constitution saving throw, or take 1d6 thunder damage." + "\n " + "An echo of this noise persists until the end of your next turn. If you cast this spell again before the end of your next turn, its damage becomes d8s, instead of d6s." + "\n " + "This spell’s damage increases by 1d6 when you reach 5th level (2d6), 11th level (3d6), and 17th level (4d6)."
- };
- SpellsList["time hop"] = {
- name : "Time Hop",
- classes : ["sorcerer", "wizard"],
- source : ["VSoS", 355],
- level : 1,
- school : "Conj",
- time : "1 bns",
- range : "Self",
- components : "V,S,M",
- compMaterial : "The second hand of a clock",
- duration : "Varies",
- ritual: false,
- description : "Cease to exist for 1/2/3 rounds; 3rd level: 1 min, 5th level: 1 hour",
- descriptionFull : "You shunt yourself a few seconds into the future. Choose a duration: 1 round, 2 rounds, or 3 rounds. You vanish, reappearing after the duration at the start of your turn in the nearest unoccupied space to where you disappeared. While vanished, you are outside time; you can’t take actions or reactions, time doesn’t pass for you, your spell effects are suspended, and you can’t be affected by attacks or effects." + AtHigherLevels + "When you cast this spell using a spell slot of 3rd level or higher, you can choose a duration of 1 minute. If you cast this spell using a spell slot of 5th level or higher, you can choose a duration of 1 hour."
- };
- SpellsList["time's arrow"] = {
- name : "Time's Arrow",
- classes : ["ranger", "wizard"],
- source : ["VSoS", 355],
- level : 1,
- school : "Trans",
- time : "1 a",
- range : "Touch",
- components : "V,S,M",
- compMaterial : "A physical missile weighing a pound or less, such as an arrow, bolt, or sling bullet",
- duration : "1 h",
- ritual: false,
- description : "Freeze missile in midair until touched, wind blows, dispelled, or spell ends; see book",
- descriptionFull : "This spell enchants a missile so that it freezes in time and space. You may reposition the missile as part of the action to cast the spell." + "\n " + "The missile remains frozen in place until a creature passes within 120 feet in front of it, something touches it, a strong wind blows upon it, the effect is dispelled, or the duration ends. At that time, the missile moves suddenly, as if it was just fired or thrown with a range of 120 feet. If a creature is in the line of fire, the missile makes an attack which adds your spell attack bonus to the attack roll and does the basic damage of whatever missile type was used (missiles that vary by launcher use the highest possible damage dice)."
- };
- SpellsList["transient bulwark"] = {
- name : "Transient Bulwark",
- classes : ["investigator", "martyr", "wizard"],
- source : ["VSoS", 356],
- level : 1,
- school : "Abjur",
- time : "1 a",
- range : "Self",
- components : "V,S,M\u2020",
- compMaterial : "A pearl worth 10 gp, which the spell consumes",
- duration : "8 h",
- ritual: true,
- description : "Next attack against me has -10 to hit",
- descriptionFull : "The next attack made against you within the duration has a -10 penalty to hit."
- };
- SpellsList["tyra's coerced karaoke"] = {
- name : "Tyra's Coerced Karaoke",
- classes : ["bard", "wizard"],
- source : ["VSoS", 356],
- level : 2,
- school : "Ench",
- time : "1 a",
- range : "S:30-ft rad",
- components : "V,S",
- duration : "Conc, 1 min",
- save : "Wis",
- ritual: false,
- description : "Crea in range save or sing along with me; can Conc. with Irresistible Dance",
- descriptionFull : "As spectral instruments appear playing around you, you begin singing a well-known song, and others feel compelled to join in. For the duration, when a creature comes within 30 feet of you or begins its turn there, it must make a Wisdom saving throw or begin singing along with you. A singing creature matches the pitch and words of the song as closely as it can, even if it can’t speak the song’s language. Furthermore, it can’t speak normally (though it can still communicate telepathically), and it can’t perform the verbal components of spells. Creatures that can’t be charmed are immune to this spell." + "\n " + "Unlike other spells, you can concentrate on this spell and the spell irresistible dance at the same time. Losing your concentration on either spell ends both spells."
- };
- SpellsList["unseen accountant"] = {
- name : "Unseen Accountant",
- classes : ["investigator", "necromancer", "bard", "wizard"],
- source : ["VSoS", 356],
- level : 2,
- school : "Conj",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "An abacus",
- duration : "8 h",
- ritual: true,
- description : "Create invis. servant to do intellectual tasks; see book",
- descriptionFull : "This spell creates an invisible, shapeless force that performs intellectual tasks at your command until the spell ends. The servant springs into existence in an unoccupied space on the ground within range. It has AC 10, 1 hit point, an Intelligence of 12, and it can’t attack. If it drops to 0 hit points, the spell ends. Once on each of your turns as a bonus action, you can mentally command the servant to move up to 15 feet and interact with an object. The accountant can perform intellectual tasks that a human clerk could do, such as assessing prices, updating accounts, managing inventories, or computing interest. Once you give the command, the accountant performs the task to the best of its ability until it completes the task, then waits for your next command. The accountant can perform no physical labor, and is not able to lift any object heavier than a bottle of ink. If you command the accountant to perform a task that would move it more than 300 feet away from you, the spell ends."
- };
- SpellsList["watery tentacles"] = {
- name : "Watery Tentacles",
- classes : ["druid", "warlock", "wizard"],
- source : ["VSoS", 356],
- level : 4,
- school : "Conj",
- time : "1 a",
- range : "Self",
- components : "V,S,M",
- compMaterial : "An octopus tentacle",
- duration : "Conc, 1 min",
- save : "Str",
- ritual: false,
- description : "Gain 3+1/SL tentacles that can grapple within 30 ft and lift 100 pounds; see book",
- descriptionFull : "When you cast this spell, three tentacles made of water appear around your body for the duration. As part of the action used to cast the spell, and as a bonus action on subsequent turns until the spell ends, you can command one of these tentacles to grapple a Large or smaller creature that you can see within 30 feet of you. The target must make a Strength saving throw or be grappled and restrained by the tentacle. At the end of each of its turns, a restrained target can repeat the saving throw, freeing itself on a success." + "\n " + "You can grapple as many creatures as you have tentacles. You can use an action or bonus action on your turn to release a grappled creature, or to drag it up to 20 feet in a direction you choose." + "\n " + "You can also use the tentacles to manipulate objects as an action or a bonus action. Each tentacle can lift up to 100 pounds, and you can command multiple tentacles to work together to lift the same object as part of the same action or bonus action. The tentacles aren’t capable of detailed control—for example, they can’t open a chest or uncork a bottle. Burning objects are extinguished when a tentacle grabs them." + AtHigherLevels + "When you cast this spell using a spell slot of 5th level or higher, you gain an additional tentacle for every slot level above 4th."
- };
- SpellsList["whispering wind"] = {
- name : "Whispering Wind",
- classes : ["investigator", "witch", "bard", "cleric", "druid", "wizard"],
- source : ["VSoS", 356],
- level : 1,
- school : "Evoc",
- time : "1 a",
- range : "1 mile",
- components : "V,S,M",
- compMaterial : "A feather",
- duration : "1 rnd",
- ritual: false,
- description : "Whisper 25 words or less, to up to 6 crea in range/same gen. dir.; they can reply",
- descriptionFull : "You point your finger in a direction and whisper a message of twenty-five words or less, while specifying up to six creatures to be the targets. If a target is in range and in the approximate direction indicated, they (and only they) hear the message carried on the wind. They can reply in a whisper that only you can hear." + "\n " + "You can cast this spell only when there is a clear path for air to move between you and the targets. The spell doesn’t have to follow a straight line and can travel freely around corners or through openings, but is blocked by solid objects and areas of magical silence."
- };
- SpellsList["wildfire"] = {
- name : "Wildfire",
- classes : ["druid", "sorcerer", "wizard"],
- source : ["VSoS", 357],
- level : 8,
- school : "Evoc",
- time : "1 a",
- range : "60 ft",
- components : "V,S,M",
- compMaterial : "A piece of flint",
- duration : "Conc, 1 min",
- save : "Dex",
- ritual: false,
- description : "Create 10 5-ft cubes area; crea enter/start turn in area save or 8d8 Fire dmg; success: half; B",
- descriptionFull : "You create a magical fire that fills ten 5-foot cubes on the ground, which you can arrange as you wish within range. Each cube you place must have a face adjacent to the face of another cube. On each of your turns after you cast this spell, you can use a bonus action to expand the area of the fire by up to ten additional 5-foot cubes that each have a face adjacent to the face of another cube of fire. The fire damages objects in the area and ignites flammable objects that aren’t being worn or carried." + "\n " + "When a creature moves into the area of fire for the first time or starts its turn there, it must make a Dexterity saving throw. It takes 8d8 fire damage on a failed save, or half as much on a successful save."
- };
- SpellsList["winter flower"] = {
- name : "Winter Flower",
- classes : ["druid", "sorcerer", "wizard"],
- source : ["VSoS", 357],
- level : 6,
- school : "Evoc",
- time : "1 a",
- range : "120 ft",
- components : "V,S,M",
- compMaterial : "A crystal flower",
- duration : "24 h",
- save : "Dex",
- ritual: false,
- description : "Tiny 1 HP flower explodes as bns or at 0 HP; crea in 30 ft save or 10d8 Cold dmg; success: half",
- descriptionFull : "You cause a Tiny white flower to sprout at a point on the ground you can see within range. The flower has an AC of 15, 1 hit point, vulnerability to fire damage, and immunity to cold damage. During the spell’s duration, you can use a bonus action to command it to explode in a shower of ice. Alternatively, the flower will explode if it is reduced to 0 hit points. When the flower explodes, each creature within 30 feet of it must make a Dexterity saving throw. On a failed save, a creature takes 10d8 cold damage, or half as much on a successful one. The flower withers and dies if it doesn’t explode within 24 hours." + "\n " + "If you cast this spell again while it is active, you can maintain the flower’s existence for another 24 hours. You can create a permanent flower by casting this spell on the same flower for seven days."
- };
- SpellsList["zephyr's feather"] = {
- name : "Zephyr's Feather",
- classes : ["ranger", "sorcerer", "warlock", "wizard"],
- source : ["VSoS", 357],
- level : 1,
- school : "Conj",
- time : "1 a",
- range : "Self",
- components : "V,S,M",
- compMaterial : "A dove's feather",
- duration : "Conc, 1 min",
- ritual: false,
- description : "3 feathers; on cast/as action, ranged spell atk 120 ft for 2d8+1d8/SL Slash dmg; SL3:5,SL5:7 feathers",
- descriptionFull : "You wave your hand and three alabaster feathers, magically sharpened to a razor’s edge, appear and orbit around you. When you cast this spell, make a ranged spell attack using one of your feathers against a creature within 120 feet of you. On a hit, the target takes 2d8 slashing damage. Until the spell ends, while you have feathers remaining, you can make an attack using a feather on each of your turns as an action." + AtHigherLevels + "When you cast this spell using a spell slot of 2nd level or higher, the damage increases by 1d8 for each slot level above 1st, up to a maximum of 6d8. You gain an additional two feathers when you cast this spell using a spell slot of 3rd level or higher (5 feathers), and two more when you cast it using a spell slot of 5th level or higher (7 feathers)."
- };
- // Add weapons (attack cantrips)
- WeaponsList["arc blade"] = {
- regExpSearch : /^(?=.*arc)(?=.*blade).*$/i,
- name : "Arc Blade",
- source : ["VSoS", 330],
- list : "spell",
- ability : 0,
- type : "Cantrip",
- damage : ["Bd8/Cd6", "", "lightning"],
- range : "With melee wea",
- description : "Wea dmg is Ltng; 1st dmg added to the atk; 2nd to a tgt within 5 ft on hit",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["burning blade"] = {
- regExpSearch : /^(?=.*burning)(?=.*blade).*$/i,
- name : "Burning Blade",
- source : ["VSoS", 331],
- list : "spell",
- ability : 0,
- type : "Cantrip",
- damage : ["Bd6/Cd6", "", "fire"],
- range : "With melee wea",
- description : "Wea dmg is Fire; 1st dmg added to the atk; 2nd as rea to a tgt in the space; B",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["candy blast"] = {
- regExpSearch : /candy blast/i,
- name : "Candy Blast",
- source : ["VSoS", 332],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "bludgeoning"],
- range : "60 ft",
- description : "On hit, target space becomes difficult terrain; 1 action to clear",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["card trick"] = {
- regExpSearch : /card trick/i,
- name : "Card Trick",
- source : ["VSoS", 332],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 6, "force"],
- range : "60 ft",
- description : "Choose: spell attack, or target Dex save vs. spell save DC",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["caustic blade"] = {
- regExpSearch : /caustic blade/i,
- name : "Caustic Blade",
- source : ["VSoS", 332],
- list : "spell",
- ability : 0,
- type : "Cantrip",
- damage : ["Bd8/Cd8", "", "acid"],
- range : "With melee wea",
- description : "Wea dmg is Acid; 1st dmg on hit, 2nd on miss by 3 or less",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["eldritch orb"] = {
- regExpSearch : /eldritch orb/i,
- name : "Eldritch Orb",
- source : ["VSoS", 337],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "force"],
- range : "60 ft",
- description : "On hit, crea in 5 ft Dex save; success: nothing, fail: half dmg",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["eye of anubis"] = {
- regExpSearch : /eye of anubis/i,
- name : "Eye of Anubis",
- source : ["VSoS", 337],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "necrotic"],
- range : "60 ft",
- description : "On hit, tgt can't Disengage til end of my next turn; see book for scaling",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["eye of ra"] = {
- regExpSearch : /eye of ra/i,
- name : "Eye of Ra",
- source : ["VSoS", 338],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "radiant"],
- range : "60 ft",
- description : "On hit, tgt can't Hide til end of my next turn; see book for scaling",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["finger guns"] = {
- regExpSearch : /finger guns/i,
- name : "Finger Guns",
- source : ["VSoS", 338],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "force"],
- range : "60 ft",
- description : "1 action to attack for 1 minute; counts as firearm",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["flesh ripper"] = {
- regExpSearch : /flesh ripper/i,
- name : "Flesh Ripper",
- source : ["VSoS", 338],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "piercing"],
- range : "30 ft",
- description : "On hit, target can't move more than 30 ft away from me without a Str save",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["force dart"] = {
- regExpSearch : /force dart/i,
- name : "Force Dart",
- source : ["VSoS", 339],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 10, "force"],
- range : "120 ft",
- description : "Can target creatures or objects",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["force weapon"] = {
- regExpSearch : /force weapon/i,
- name : "Force Weapon",
- source : ["VSoS", 339],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 10, "Force"],
- range : "5 ft",
- description : "Can also make 1 opportunity attack before next turn; scaling adds atks, not dmg",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["frigid blade"] = {
- regExpSearch : /frigid blade/i,
- name : "Frigid Blade",
- source : ["VSoS", 340],
- list : "spell",
- ability : 0,
- type : "Cantrip",
- damage : ["Bd8/Cd8", "", "cold"],
- range : "With melee wea",
- description : "Wea dmg is Cold; 1st dmg add to atk; 2nd to tgt if it moves before my next turn",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["lightning surge"] = {
- regExpSearch : /lightning surge/i,
- name : "Lightning Surge",
- source : ["VSoS", 347],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 6, "lightning"],
- range : "S:5-ft rad",
- description : "Crea in range Dex save; success: nothing",
- abilitytodamage : false,
- dc : true
- };
- WeaponsList["magic daggers"] = {
- regExpSearch : /magic daggers/i,
- name : "Magic Daggers",
- source : ["VSoS", 348],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 6, "piercing"],
- range : "60 ft",
- description : "Each die is a separate dagger (scaling adds attacks, not damage)",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["minor lifesteal"] = {
- regExpSearch : /minor lifesteal/i,
- name : "Minor Lifesteal",
- source : ["VSoS", 349],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 4, "necrotic"],
- range : "60 ft",
- description : "Con save, success: nothing; fail: I gain damage dealt as Temporary HP",
- abilitytodamage : false,
- dc : true
- };
- WeaponsList["sonic pulse"] = {
- regExpSearch : /sonic pulse/i,
- name : "Sonic Pulse",
- source : ["VSoS", 354],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 8, "thunder"],
- range : "60 ft",
- description : "Con save, fail: deafened until my next turn; within 10 ft, d10s instead of d8s",
- abilitytodamage : false,
- dc : true
- };
- WeaponsList["spark of life"] = {
- regExpSearch : /spark of life/i,
- name : "Spark of Life",
- source : ["VSoS", 354],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["Special", "", "bludgeoning"],
- range : "60 ft",
- description : "Corpse in range moves up to 15 ft and attack for 1d4/1d6/1d8/1d10/1d12 dmg; see book",
- abilitytodamage : false,
- dc : false
- };
- WeaponsList["thunderous distortion"] = {
- regExpSearch : /thunderous distortion/i,
- name : "Thunderous Distortion",
- source : ["VSoS", 355],
- list : "spell",
- ability : 6,
- type : "Cantrip",
- damage : ["C", 6, "thunder"],
- range : "S:10-ft cone",
- description : "Crea in area Con save; cast again next turn for d8s instead of d6s",
- abilitytodamage : false,
- dc : true
- };
- //This section adds the magic items from Valda's Spire of Secrets
- MagicItemsList["adamantine polish"] = {
- name : "Adamantine Polish",
- sortname : "Adamantine Polish",
- source : ["VSoS", 302],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This paste can be applied as an action to a creature's natural weapons. For 8 hours, that creature gains a +1 to attack and damage rolls with its natural weapons, which count as adamantine for damage resistance and immunity.",
- descriptionFull : "This abrasive paste can be applied as an action to the claws, fangs, tusks, or spines of a creature to make them sharper, harder, or cleaner. For 8 hours after application, that creature gains a +1 to attack and damage rolls with its natural weapons, which count as being made of adamantine for the purposes of overcoming damage resistance and immunity.",
- };
- MagicItemsList["alchemical anesthetic"] = {
- name : "Alchemical Anesthetic",
- sortname : "Alchemical Anesthetic",
- source : ["VSoS", 303],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This syringe has 4 doses. Inject a willing crea as an action to make it insensate to pain for 1 hr (see book), over 1 minute to a willing/unconscious crea to render it unconscious for 1 hr, or over an 8 hour period to keep it unconscious. (>24 hrs = death)",
- descriptionFull : "This clear, odorless potion is housed in a wicked-looking syringe which contains 4 doses. You can administer the anesthetic to a willing creature as an action, dulling its nerves and making it impossible for them to feel pain for one hour. An anesthetized creature has advantage on Constitution checks and saving throws and can’t be incapacitated or have disadvantage on rolls due to being in pain. However, the creature is unaware of how much pain they are in or how many levels of exhaustion they have. If a player character is anesthetized, the GM tracks the character’s hit points and levels of exhaustion instead of the player for the duration.\n If you administer a dose over the course of a minute to a willing or unconscious creature, you can render the creature unconscious for one hour. If you continue to slowly administer anesthetic (one dose every eight hours), you can keep a creature unconscious for up to 24 hours; keeping a creature unconscious longer than this results in death.",
- };
- MagicItemsList["alchemical reactor"] = {
- name : "Alchemical Reactor",
- sortname : "Alchemical Reactor",
- source : ["VSoS", 303],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by an alchemist",
- prereqeval : function (v) { return classes.known.alchemist ? true : false; },
- allowDuplicates : false,
- description : "I can regain 2 reagent dice when I finish a short rest. I can also use an action to begin producing a potion (see book), which takes 12 hours. When finished, I can use an action to pour the potion out of the reactor. The potion lasts 24 hours.",
- descriptionFull : "This stupendously complex vessel the size of a cask is festooned with valves and dials. While attuned to the reactor, you can use an action to adjust its settings and begin producing any of the following potions: potion of flying, potion of hill giant strength, potion of invisibility, potion of superior healing, sovereign glue (1 ounce), or universal solvent.\n The reactor rumbles and whirs for the next 12 hours as it produces the specified potion. Once it is finished, you can use your action to pour the potion from the top of the reactor. This potion loses its potency and becomes nonmagical if it is not consumed within 24 hours.\n Additionally, while attuned to the reactor, you can regain 2 expended reagent dice whenever you finish a short rest.",
- };
- MagicItemsList["ankh of anubis"] = {
- name : "Ankh of Anubis",
- sortname : "Ankh, Anubis",
- source : ["VSoS", 303],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a martyr",
- prereqeval : function (v) { return classes.known.martyr ? true : false; },
- allowDuplicates : false,
- description : "While I have 10 or fewer hit points, I have adv. on attack rolls, checks, and saving throws. I have a damage pool of all damage I take, which resets at the end of my turn. When I spend hit points to cast martyr spells, I can subtract this pool from the cost.",
- descriptionFull : "While attuned to this wrought iron holy symbol, you have advantage on attack rolls, ability checks, and saving throws while you have 10 hit points or less.\n Additionally, whenever you take damage, record the damage you take in a damage pool, which resets to 0 at the end of your turn. When you lose hit points to cast a martyr spell, you subtract the number in the damage pool from the spell’s hit point cost, to a minimum of 0 hit points lost.",
- };
- MagicItemsList["antimagic bell"] = {
- name : "Antimagic Bell",
- sortname : "Antimagic Bell",
- source : ["VSoS", 303],
- type : "wondrous item",
- rarity : "common",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This round bell is enchanted to be perfectly silent. It only rings when its magic is disrupted, such as within an antimagic field.",
- descriptionFull : "This round bell is enchanted to be perfectly silent. It only rings when its magic is disrupted, such as within an antimagic field.",
- };
- MagicItemsList["aqua fortis"] = {
- name : "Aqua Fortis",
- sortname : "Aqua Fortis",
- source : ["VSoS", 303],
- type : "potion",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "As an action, I can make a ranged attack (20 ft) against a creature or object as an improvised weapon. Against a creature, it deals 3d6 acid damage, then 2d6 at the end of its next turn, then 1d6 at the end of the next turn, unless washed off early.",
- descriptionFull : "This transparent acid constantly bubbles within its sealed vial. As an action, you can throw the vial up to 20 feet, shattering it on impact. Make a ranged attack, treating the vial as an improvised weapon.\n If the target is an object that isn’t being worn or carried, the acid dissolves a 1-foot cube of the object. If splashed on a suit of armor or a shield, the object takes a permanent and cumulative −1 penalty to the AC it offers. A suit of armor reduced to an AC of 10 or a shield that drops to a +0 bonus is destroyed. If splashed on a weapon, it takes a permanent and cumulative −1 penalty to damage rolls. A weapon reduced to a −5 penalty is destroyed. It has no effect on magic items and objects made of gold, glass, stone, or adamantine.\n If the target is a creature, it takes 3d6 acid damage, followed by an extra 2d6 acid damage at the end of its next turn and another 1d6 acid damage at the end of the turn after that. The acid can be washed off with one gallon of water, ending the effect early.",
- };
- MagicItemsList["arrow of explosions"] = {
- name : "Arrow of Explosions",
- sortname : "Arrow, Explosions",
- source : ["VSoS", 304],
- type : "weapon (arrow)",
- rarity : "very rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "When this arrow hits a surface, it explodes and is destroyed. All creatures within 20 feet must make a DC 17 Dexterity save, taking 8d6 fire damage on a failed save or half on a success.",
- descriptionFull : "When this arrow strikes a solid surface, be it a creature, object, wall, or floor, it explodes with a fiery blast. Each creature within 20 feet of the point of impact must make a DC 17 Dexterity saving throw. A creature takes 8d6 fire damage on a failed save, or half as much on a successful one. The arrow is destroyed in the blast.",
- };
- MagicItemsList["arrow of glue"] = {
- name : "Arrow of Glue",
- sortname : "Arrow, Glue",
- source : ["VSoS", 304],
- type : "weapon (arrow)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "When this arrow hits a surface, it covers a 1-foot square area with hardened glue. A creature hit by this arrow must make a DC 15 Dexterity saving throw or be stuck to a nearby surface until it makes a DC 15 Strength(Athletics) check.",
- descriptionFull : "An arrow of glue is one of a few arrows known as trick arrows. When you fire an arrow of glue, the arrow’s shaft becomes pliant on impact and hardens immediately after. You can fire this arrow at any point you can see within range to cover a 1-foot square area with hardened glue. The GM may rule that especially challenging shots are made with disadvantage. A creature hit by this arrow must succeed a DC 15 Dexterity saving throw or be glued to a nearby surface, unable to move. It can break free with a successful DC 15 Strength (Athletics) check.",
- };
- MagicItemsList["arrow of piercing"] = {
- name : "Arrow of Piercing",
- sortname : "Arrow, Piercing",
- source : ["VSoS", 304],
- type : "weapon (arrow)",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "An attack with this arrow becomes a 5-ft wide line as long as the weapon's normal range. Creatures in the area must make a DC 15 Dexterity save, taking the weapon's normal damage on a failed save, or half on a success. The arrow is then destroyed.",
- descriptionFull : "An arrow of piercing is one of a few arrows known as trick arrows. When you make an attack with this arrow, it becomes a 5-foot-wide line of magical energy that extends out from you to the weapon’s normal range. Each creature in that line must make a DC 15 Dexterity saving throw. A creature takes the weapon’s normal damage on a failed save, or half as much damage on a successful one. The arrow is then destroyed.",
- };
- MagicItemsList["arrow of teleportation"] = {
- name : "Arrow of Teleportation",
- sortname : "Arrow, Teleportation",
- source : ["VSoS", 305],
- type : "weapon (arrow)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "An arrow of teleportation is one of a few arrows known as trick arrows. When this arrow is fired from a bow at an unoccupied space within 100 feet of the archer, the archer immediately teleports to its location. The arrow is destroyed on impact.",
- descriptionFull : "An arrow of teleportation is one of a few arrows known as trick arrows. When this arrow is fired from a bow at an unoccupied space within 100 feet of the archer, the archer immediately teleports to its location. The arrow is destroyed on impact.",
- };
- MagicItemsList["aura lenses"] = {
- name : "Aura Lenses",
- sortname : "Aura Lenses",
- source : ["VSoS", 305],
- type : "wondrous item",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "A set of colored lenses, each associated with a school of magic. I can hold a lens up to my eye, and everything will be tinted in that color, except for spell effects of the associated school, which aren't colored at all.",
- descriptionFull : "A set of these large glass lenses is contained in a single cylindrical case. Each is four inches across, tinted in a different hue, and associated with a particular school of magic, as shown on the following table. When you hold a lens up to your eye and look through it, the world appears to be tinted in the appropriate color, except for creatures and objects which are under the effect of a spell from the lens’s associated school of magic, which aren’t colored at all.\n A complete set of aura lenses contains all 8 individual lenses, but most are found as an incomplete set, containing only 1d8 of them.",
- choices : ["Complete", "Incomplete"],
- "complete" : {
- rarity : "rare",
- description : "A set of 8 colored lenses, each associated with a school of magic. I can hold a lens up to my eye, and everything will be tinted in that color, except for spell effects of the associated school, which aren't colored at all.",
- descriptionFull : "A set of these large glass lenses is contained in a single cylindrical case. Each is four inches across, tinted in a different hue, and associated with a particular school of magic, as shown on the following table. When you hold a lens up to your eye and look through it, the world appears to be tinted in the appropriate color, except for creatures and objects which are under the effect of a spell from the lens’s associated school of magic, which aren’t colored at all.\n A complete set of aura lenses contains all 8 individual lenses, but most are found as an incomplete set, containing only 1d8 of them.",
- },
- "incomplete" : {
- rarity : "uncommon",
- description : "A set of 1d8 colored lenses, each associated with a school of magic. I can hold a lens up to my eye, and everything will be tinted in that color, except for spell effects of the associated school, which aren't colored at all.",
- descriptionFull : "A set of these large glass lenses is contained in a single cylindrical case. Each is four inches across, tinted in a different hue, and associated with a particular school of magic, as shown on the following table. When you hold a lens up to your eye and look through it, the world appears to be tinted in the appropriate color, except for creatures and objects which are under the effect of a spell from the lens’s associated school of magic, which aren’t colored at all.\n A complete set of aura lenses contains all 8 individual lenses, but most are found as an incomplete set, containing only 1d8 of them.",
- },
- };
- MagicItemsList["bag of cheer"] = {
- name : "Bag of Cheer",
- sortname : "Bag, Cheer",
- source : ["VSoS", 305],
- type : "wondrous item",
- rarity : "legendary",
- notLegalAL : true,
- attunement : false,
- weight : 30,
- prerequisite : "",
- allowDuplicates : true,
- description : "As an action, 3/dawn, I can pull out a gift tailored to another creature. The DM chooses or rolls (d10): 1-weapon/shield, 2-gold, 3-art object, 4-clothing, 5-tool/instrument, 6-healing potion, 7-gems, 8-exotic food, 9-book, 10-toy/game.",
- descriptionFull : "This large sack, which weighs 30 pounds and is made from red velvet, appears to be full of presents in colorful wrapping. As an action, you can pull a present from the bag and give it to another creature. The gift is tailored specifically to the recipient; the GM determines its nature or rolls on the table on the following page. The value of the gift can’t exceed 100 gp. Once three presents have been pulled from the bag, the bag can’t be used again until the next dawn. Any additional presents removed from the bag are empty but well-decorated boxes.\n\n" + toUni("d10\tGift") + "\n 1\tA weapon or shield\n 2\tGold\n 3\tAn art object\n 4\tA clothing item\n 5\tA tool or musical instrument\n 6\tA Potion of Healing\n 7\tGems\n 8\tAn exotic food\n 9\tA book\n 10\tA toy or gaming set",
- };
- MagicItemsList["bedroll of rest"] = {
- name : "Bedroll of Rest",
- sortname : "Bedroll, Rest",
- source : ["VSoS", 306],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "Sleeping in this bedroll during a long rest removes all exhaustion and restores all Hit Dice. After sleeping in it, I don't need rest for 48 hours, though I can still benefit from rests if I choose.",
- descriptionFull : "This enchanted, silken bedroll is immensely comfortable. Sleeping in it during a long rest removes all levels of exhaustion and restores all expended Hit Dice. After sleeping in it, you do not require rest for 48 hours, though you can still choose to take a long rest during that time.",
- };
- MagicItemsList["bells of due alarm"] = {
- name : "Bells of Due Alarm",
- sortname : "Bells, Due Alarm",
- source : ["VSoS", 306],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- spellcastingBonus : {
- name : "Between Bells",
- spells : ["alarm"],
- selection : ["alarm"],
- firstCol : "atwill"
- },
- spellChanges : {
- "alarm" : {
- changes : "The spell's area is defined by the position of the bells."
- },
- },
- description : "This trio of bells warns you of intruders. You can arrange the bells up to 500 feet apart from each other, and can use your action to speak a command word to cast the alarm spell, warding the area between the bells.",
- descriptionFull : "This trio of bells warns you of intruders. You can arrange the bells up to 500 feet apart from each other, and can use your action to speak a command word to cast the alarm spell, warding the area between the bells.",
- };
- MagicItemsList["blindfold of true darkness"] = {
- name : "Blindfold of True Darkness",
- sortname : "Blindfold, True Darkness",
- source : ["VSoS", 306],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- cursed : true,
- vision : ["Blindsight", 10],
- description : "I have blindsight out to 10 feet. Once attuned to this blindfold, I am blinded whether I'm wearing it or not, until targeted by Remove Curse or similar magic.",
- descriptionFull : "You have blindsight with a range of 10 feet. Within that range, you can effectively see anything that isn’t behind total cover. Moreover, you can see an invisible creature within that range, unless the creature successfully hides from you.\n " + toUni("Curse") + ". This blindfold is cursed. Attuning to it curses you until you are targeted by the remove curse spell or similar magic. While cursed, you are blinded, whether you are wearing the blindfold or not.",
- };
- MagicItemsList["bonze's bokken"] = {
- name : "Bonze's Bokken",
- sortname : "Bonze's Bokken",
- source : ["VSoS", 307],
- type : "weapon (katana)",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- weaponsAdd : ["Bonze's Bokken"],
- weaponOptions : {
- baseWeapon : "katana",
- regExpSearch : /^(?=.*bonze)(?=.*bokken).*$/i,
- name : "Bonze's Bokken",
- source : ["VSoS", 307],
- damage : [1, 8, "bludgeoning"],
- description : "Finesse, versatile (1d10), can make concussive ranged attack (see magic item description)",
- },
- description : "This katana deals bludgeoning damage. I can use an action to disperse nearby gases. With the Attack action, I can replace attacks with a ranged spell attack: 30/60 ft, +7 to hit, 1d10+3 thunder damage, deafened on critical hit, audible 100 ft away.",
- descriptionFull : "This magic weapon deals bludgeoning damage instead of its normal slashing damage. As an action, you can use the bokken to blow a strong wind, dispersing any gases within a 15-foot cube adjacent to you.\n When you take the Attack action while holding this weapon, you can replace one or more of your attacks with concussive waves of sound. Make a ranged spell attack roll with a range of 30/60 feet and a +7 bonus to hit. On a hit, the target takes 1d10 + 3 thunder damage, and on a critical hit, the target is deafened. This attack is audible out to 100 feet.",
- };
- MagicItemsList["boots of the hare"] = {
- name : "Boots of the Hare",
- sortname : "Boots, Hare",
- source : ["VSoS", 307],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- cursed : true,
- speed : {
- walk : { spd : "fixed 15", enc : "fixed 5" },
- },
- description : "When I Dash, I gain 90 feet of extra movement instead of the usual amount. However, my speed is 15 and can't be increased except by Dashing, until I am targeted by Remove Curse or similar magic.",
- descriptionFull : "While attuned to these boots, whenever you use your action to Dash, you gain 90 feet of extra movement instead of the usual amount.\n " + toUni("Curse") + ". These boots are cursed, a fact that is revealed only when an identify spell is cast on the boots or you attune to them. Attuning to the boots curses you until you are targeted by the remove curse spell or similar magic. While cursed, your speed is 15 feet and can’t be increased by any means other than taking the Dash action.",
- };
- MagicItemsList["boots of the trail"] = {
- name : "Boots of the Trail",
- sortname : "Boots, Trail",
- source : ["VSoS", 307],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "I don't leave traces of passage and can't be tracked except by magic. I can march twice as long without exhaustion. I can take them off and speak a command word to make them walk alone, leaving tracks for up to a mile, then teleport back to my feet.",
- descriptionFull : "Until they are worn, the boots of the trail appear to be in grave disrepair. When you lace them up, the illusion fades: they are immaculate hiking boots with gold clasps and silk laces. While wearing these boots, you leave behind no tracks or other traces of your passage, and can’t be tracked except by magical means. You can march for twice as long before suffering levels of exhaustion.\n Additionally, you can remove the boots and speak a command word as an action to cause the boots to walk alone, leaving a false trail in any direction for up to one mile. The boots then teleport back to your feet.",
- };
- MagicItemsList["brawling gloves"] = {
- name : "Brawling Gloves",
- sortname : "Brawling Gloves",
- source : ["VSoS", 307],
- type : "wondrous item",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a barbarian, captain, craftsman, fighter, rogue, or warden",
- prereqeval : function(v) { return classes.known.barbarian || classes.known.captain || classes.known.craftsman || classes.known.fighter || classes.known.rogue || classes.known.warden ? true : false; },
- allowDuplicates : false,
- description : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a bonus to attack and damage rolls made using them. The bonus is determined by the gloves’ rarity.",
- descriptionFull : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a bonus to attack and damage rolls made using them. The bonus is determined by the gloves’ rarity.",
- weaponProfs : [false, false, "Improvised Weapons"],
- choices : ["+1 (uncommon)", "+2 (rare)", "+3 (very rare)"],
- "+1 (uncommon)" : {
- rarity : "uncommon",
- weaponsAdd : ["Brawling Weapon"],
- weaponOptions : {
- baseWeapon : "improvised weapon",
- regExpSearch : /^(?=.*brawling)(?=.*weapon).*$/i,
- name : "Brawling Weapon",
- source : ["VSoS", 307],
- modifiers : [1, 1],
- },
- description : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a +1 bonus to attack and damage rolls made using them.",
- descriptionFull : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a +1 bonus to attack and damage rolls made using them.",
- },
- "+2 (rare)" : {
- rarity : "rare",
- weaponsAdd : ["Brawling Weapon"],
- weaponOptions : {
- baseWeapon : "improvised weapon",
- regExpSearch : /^(?=.*brawling)(?=.*weapon).*$/i,
- name : "Brawling Weapon",
- source : ["VSoS", 307],
- modifiers : [2, 2],
- },
- description : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a +2 bonus to attack and damage rolls made using them.",
- descriptionFull : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a +2 bonus to attack and damage rolls made using them.",
- },
- "+3 (very rare)" : {
- rarity : "very rare",
- weaponsAdd : ["Brawling Weapon"],
- weaponOptions : {
- baseWeapon : "improvised weapon",
- regExpSearch : /^(?=.*brawling)(?=.*weapon).*$/i,
- name : "Brawling Weapon",
- source : ["VSoS", 307],
- modifiers : [3, 3],
- },
- description : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a +3 bonus to attack and damage rolls made using them.",
- descriptionFull : "While attuned to these fingerless magical gloves, you have proficiency with all improvised weapons and gain a +3 bonus to attack and damage rolls made using them.",
- },
- };
- MagicItemsList["burning knuckles"] = {
- name : "Burning Knuckles",
- sortname : "Burning Knuckles",
- source : ["VSoS", 307],
- type : "weapon (cestus)",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- weaponsAdd : ["Burning Knuckles"],
- weaponOptions : {
- baseWeapon : "cestus",
- regExpSearch : /^(?=.*burning)(?=.*knuckles).*$/i,
- name : "Burning Knuckles",
- source : ["VSoS", 307],
- damage : [2, 6, "fire"],
- },
- description : "While attuned to these magical gauntlets, your unarmed strikes deal 2d6 fire damage instead of their usual damage.",
- descriptionFull : "While attuned to these magical gauntlets, your unarmed strikes deal 2d6 fire damage instead of their usual damage.",
- };
- MagicItemsList["cane of youth"] = {
- name : "Cane of Youth",
- sortname : "Cane, Youth",
- source : ["VSoS", 307],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "While attuned to this cane, you suffer none of the frailty of old age and can't be aged magically. You can still die of old age, however.",
- descriptionFull : "While attuned to this cane, you suffer none of the frailty of old age and can't be aged magically. You can still die of old age, however.",
- };
- MagicItemsList["chameleon concoction"] = {
- name : "Chameleon Concoction",
- sortname : "Chameleon Concoction",
- source : ["VSoS", 307],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "After drinking this potion, I have advantage on Dexterity(Stealth) checks I make to avoid being seen for 1 hour.",
- descriptionFull : "When you drink this potion, your skin camouflages to match the color and texture of your surroundings, granting you advantage on Dexterity (Stealth) checks you make to avoid being seen for 1 hour. This liquid’s hue rapidly shifts to match whatever material it is nearest to.",
- };
- MagicItemsList["coil of strength storing"] = {
- name : "Coil of Strength Storing",
- sortname : "Coil, Strength Storing",
- source : ["VSoS", 307],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "When I attack a creature with a melee weapon and exceed the AC by 5 or more, gain 1 charge, up to 5, for 1 minute. On a melee weapon attack, I can spend any number of charges to gain a bonus to the attack roll equal to that number.",
- descriptionFull : "This metallic coil is usually worn on an arm or leg. While attuned to it, whenever you make a melee weapon attack against a hostile creature that exceeds the target’s AC by 5 or more, the coil gains 1 stored charge. It can hold up to 5 charges at a time. When you make an attack with a melee weapon, you can expend any number of stored charges to gain a bonus on the attack roll equal to the number of charges expended. You can wait until after you roll the d20 before deciding to expend charges, but must decide before the GM says whether the attack hits or misses. Unused charges disappear 1 minute after being stored.",
- };
- MagicItemsList["cure-all"] = {
- name : "Cure-All",
- sortname : "Cure-All",
- source : ["VSoS", 308],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This potion has 1d4 + 1 doses. I can drink 1 dose as an action to cure myself of any diseases and poison, and become immune to poison for 1 hour.",
- descriptionFull : "The cure-all contains 1d4 + 1 doses of potent medicine. As an action, you can drink a dose, curing you of any disease, ending your poisoning, and causing you to be immune to being poisoned for 1 hour. A complex swirl of red liquid in the potion’s center resembles a snake on a pole. Shaking the bottle fails to mix the potion’s contents.",
- };
- MagicItemsList["dowsing rod"] = {
- name : "Dowsing Rod",
- sortname : "Dowsing Rod",
- source : ["VSoS", 308],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 3,
- recovery: "dawn",
- additional : "regains 1d3",
- description : "3 charges; expend 1 charge as an action to cause the rod to point to the largest source of water in a 10-mile radius. If there is little or no water in range, it points vaguely downward due to underground water. Regains 1d3 charges at dawn.",
- descriptionFull : "This forked stick is used to discover water. It has 3 charges and regains 1d3 expended charges daily at dawn. While holding this rod, you can use your action and expend a charge to cause the rod to point to the largest source of water in a 10-mile radius. The rod doesn’t indicate the distance or quantity of water. If there is little to no water to be found, the rod indicates vaguely downward, for there is always some amount of water underground.",
- };
- MagicItemsList["drum of blasted beats"] = {
- name : "Drum of Blasted Beats",
- sortname : "Drum of Blasted Beats",
- source : ["VSoS", 308],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- usages : 6,
- recovery : "dawn",
- additional : "regains 1d6",
- fixedDC : 15,
- spellFirstColTitle : "Ch",
- spellcastingBonus : [{
- name : "1 charge",
- spells : ["thunderwave"],
- selection : ["thunderwave"],
- firstCol : "1"
- }, {
- name : "2 charges",
- spells : ["shatter"],
- selection : ["shatter"],
- firstCol : "2"
- }],
- description : "6 charges; Strike the drum as an action and expend 1 charge to cast Thunderwave, or 2 charges to cast Shatter (DC 15). Regains 1d6 charges at dawn. On expending the last charge, roll a d20. On a 1, the drum ruptures and becomes nonmagical.",
- descriptionFull : "This drum has 6 charges. While attuned to it, you can use an action to strike it and expend one charge to cast the thunderwave spell, or two charges to cast the shatter spell (save DC 15).\n The drum regains 1d6 expended charges daily at dusk. If you expend the drum’s last charge, roll a d20. On a 1, the drum ruptures and loses its magic.",
- };
- MagicItemsList["emigre manuscript"] = {
- name : "Emigre Manuscript",
- sortname : "Emigre Manuscript",
- source : ["VSoS", 308],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 1,
- recovery : "dawn",
- spellcastingBonus : [{
- name : "Once per dawn",
- spells : ["resurrection"],
- selection : ["resurrection"],
- firstCol : "oncelr"
- }],
- description : "Once per dawn, I can cast Resurrection without material components. However, the manuscript is cursed to bring misery to those who use it, and when I use it to raise the dead, I must roll a d20 to determine the result (see book).",
- descriptionFull : "This ancient tome is shaped like a skull and smells either of violets or tiger lilies. While holding the tome, you can cast the spell resurrection without using material components. Once the manuscript is used, it can’t be used again until the next dawn.\n " + toUni("Curse") + ". The \u00e9migr\u00e9 manuscript is cursed to bring nothing but misery to those who use it. Whenever you use it to raise the dead, roll a d20 to determine the result according to the following table.\n\n" + toUni("d20\tEffect") + "\n 1-2\tThe spell fails and the caster immediately dies.\n 3-4\tThe target is resurrected as a revenant, seeking revenge against the caster.\n 5-6\tThe target is resurrected as a ghost, but otherwise retains their memories and personality.\n 7-8\tThe spell works, but 100 humanoids nearest to the target (excluding the caster) immediately die.\n 9-10\tThe spell works, but the caster must roll twice on the Indefinite Madness table, suffering both results. If the same result is rolled twice, the caster immediately dies.\n 11-12\tThe spell works, but the target loses all of their memories, class levels, proficiencies (including languages), and personality traits.\n 13-14\tThe spell appears to work, but the target dies again after 1d10 minutes. No magic short of a wish spell can revive them from this death.\n 15-20\tThe spell works as normal.",
- //The name of this magic item has a special character right at the beginning, which causes it to be sorted at the very end of the dropdown list. The following choices option allows it to display using the special characters once selected (although the dropdown will still show it with no special characters, for the sake of sorting properly).
- choices : ["Default"],
- "default" : {
- name : "\u00c9migr\u00e9 Manuscript",
- },
- };
- MagicItemsList["exploding armor"] = {
- name : "Exploding Armor",
- sortname : "Exploding Armor",
- source : ["VSoS", 308],
- type : "armor (light, medium, heavy)",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- chooseGear : {
- type : "armor",
- prefixOrSuffix : "brackets"
- },
- usages : 1,
- recovery : "dawn",
- spellcastingBonus : [{
- name : "Once per dawn",
- spells : ["fireball"],
- selection : ["fireball"],
- firstCol : "oncelr"
- }],
- fixedDC : 15,
- spellChanges : {
- "fireball" : {
- changes: "The spell must be centered on me, and I take no damage from it."
- }
- },
- description : "While wearing this armor, you can use your action to cast fireball (save DC 15), centered on yourself. You take no damage from this spell. The armor can’t be used this way again until the next dawn.",
- descriptionFull : "While wearing this armor, you can use your action to cast fireball (save DC 15), centered on yourself. You take no damage from this spell. The armor can’t be used this way again until the next dawn.",
- };
- MagicItemsList["flutterby rod"] = {
- name : "Flutterby Rod",
- sortname : "Flutterby Rod",
- source : ["VSoS", 308],
- type : "rod",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 7,
- recovery : "dawn",
- additional : "regains 1d6+1",
- action : ["action", ""],
- spellcastingBonus : [{
- name : "At will",
- spells : ["light"],
- selection : ["light"],
- firstCol : "atwill"
- }],
- spellChanges : {
- "light": {
- changes: "The spell must target the rod itself."
- }
- },
- weaponOptions : {
- regExpSearch : /^(?=.*flutterby)(?=.*rod).*$/i,
- name : "Flutterby Rod",
- source : ["VSoS", 308],
- ability : 0,
- type : "Magic Item",
- damage : [1, 4, "force"],
- range : "60 ft",
- description : "On hit, until end of my next turn, tgt can't benefit from invis. and next atk against it has adv.",
- abilitytodamage : false,
- modifiers : [5, 1],
- },
- description : "7 charges; Cast Light on the rod at will. Spend 1 charge as an action to make a ranged spell attack, 60 ft, +5 to hit. On hit, 1d4+1 force damage, and until end of my next turn, next attack against the target has adv. and it can't benefit from being invisible. Regains 1d6+1 charges at dawn.",
- descriptionFull : "This rod has 7 charges and regains 1d6 + 1 expended charges daily at dawn. While holding the rod, you can use it to cast the light cantrip on itself at will.\n As an action, you can expend a charge to shoot a shimmering, green, butterfly-shaped flutterbolt at a target within 60 feet. Make a ranged spell attack with a +5 attack bonus. On a hit, the target takes 1d4 + 1 force damage and is outlined in sparkling green butterflies. The next attack roll made against this target before the end of your next turn has advantage, and the target can’t benefit from being invisible until the end of your next turn.",
- };
- MagicItemsList["folding ladder"] = {
- name : "Folding Ladder",
- sortname : "Folding Ladder",
- source : ["VSoS", 309],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 4,
- prerequisite : "",
- allowDuplicates : true,
- description : "Two wooden rods, 12 inches long, 1 inch diameter, connected side by side. Three command words: 1 - 2 ft wide 20-ft long ladder. 2 - 30 ft high stepladder with 5 by 10 ft base. 3 - Collapse back to folded form. Can support 500 pounds.",
- descriptionFull : "This item appears as two short wooden rods, 12 inches long and 1 inch in diameter, connected side by side. It weighs four pounds. It has three command words.\n When you speak the ladder’s first command word, it expands into a ladder, 2 feet wide and 20 feet long. If you speak the second command word, it extends into a freestanding stepladder, 30 feet high with a base that is 5 feet by 10 feet. The third command word causes the ladder to collapse back into its folded form.\n The ladder can support 500 pounds of weight in either of its extended configurations.",
- };
- MagicItemsList["frog prince statuette"] = {
- name : "Frog Prince Statuette",
- sortname : "Frog Prince Statuette",
- source : ["VSoS", 309],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 1,
- recovery : "5 days",
- description : "As an action, I can speak the command word and kiss the statuette to transform it into a humanoid as per the spell Mandy's Feral Follower (except it speaks my languages and is finely dressed) until midnight or for 24 hours.",
- descriptionFull : "This clay statuette of a crown-wearing frog transforms into a humanoid if you speak its command word and kiss it as an action. It gains the statistics of a commoner, as per the spell Mandy’s feral follower, except that the humanoid can speak the languages you speak and is adorned in fine clothes. Furthermore, the humanoid created by the statuette retains the memories of each time it is transformed, no matter what appearance you ascribe to it.\n The transformation lasts until the twelfth stroke of midnight, unless cast in a location where time doesn’t pass normally, in which case it lasts for 24 hours. The humanoid then reverts back to its statuette form. It also reverts early if it drops to 0 hit points or if you speak the command word again while touching it.\n Once it has been used, the statuette can’t transform again until 5 days have passed.",
- };
- MagicItemsList["gambler's coin"] = {
- name : "Gambler's Coin",
- sortname : "Gambler's Coin",
- source : ["VSoS", 309],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- usages : 3,
- recovery : "dawn",
- description : "3 charges, regains all charges at dawn; When I make an ability check, attack roll, or saving throw, I can expend 1 charge to make it a 50/50 chance of rolling 20 or 1 (but no critical hits or other effects of a 20).",
- descriptionFull : "This ordinary looking gold piece has deep scratches on one side. It has 3 charges. When you make an ability check, attack roll, or saving throw while holding it, you can expend 1 charge to replace the d20 roll with a coin flip. On heads, the roll is treated as a 20 (though you do not score a critical hit with an attack roll or activate any other effects which trigger on the roll of a 20), and on tails, the roll is treated as a 1. The coin regains all expended charges at dawn.",
- };
- MagicItemsList["gaol net"] = {
- name : "Gaol Net",
- sortname : "Gaol Net",
- source : ["VSoS", 309],
- type : "weapon (net)",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- weaponsAdd : ["Gaol Net"],
- weaponOptions : {
- baseWeapon : "net",
- regExpSearch : /^(?=.*gaol)(?=.*net).*$/i,
- name : "Gaol Net",
- source : ["VSoS", 309],
- description : "Thrown, only 1 attack, up to large crea hit is restrained, can then transform net into a cage",
- },
- usages : 1,
- recovery : "dawn",
- action: [["bonus action", " (net to cage)"], ["action", " (cage to net)"]],
- description : "1/dawn, when a Large or smaller creature is restrained with this net, I can speak its command word as a bonus action to transform the net into a Large iron cage. The lock can be picked (DC 15) or the bars bent (DC 25 Strength).",
- descriptionFull : "When a Large or smaller creature is restrained with this magical net, you can use your bonus action to speak its command word, causing the net to transform into a Large iron cage that encloses the target. The enclosed creature is no longer restrained.\n The cage weighs 500 pounds and is fitted with a locked door (DC 15 to pick the lock). A creature, including the one enclosed in the cage, can use an action to make a DC 25 Strength check to bend the bars enough to let a creature out. If the cage is empty, you can use an action to speak a command word, causing it to transform back into a net.\n Once the net transforms into a cage, it can’t do so again until the next dawn.",
- };
- MagicItemsList["gauntlet of the grandmaster"] = {
- name : "Gauntlet of the Grandmaster",
- sortname : "Gauntlet, Grandmaster",
- source : ["VSoS", 310],
- type : "wondrous item",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a warmage",
- prereqeval : function (v) { return classes.known.warmage ? true : false; },
- allowDuplicates : false,
- description : "I can use this gauntlet as a focus for warmage spells, and I get a bonus to save DCs/attack/damage rolls of warmage spells. It counts as a gauntlet for spells like force buckler. I also learn force buckler/dart/weapon.",
- descriptionFull : "While wearing this gauntlet, you can use it as a spellcasting focus for your warmage spells, and you gain a bonus to spell attack and damage rolls and to the saving throw DCs of your warmage spells. This bonus is determined by the gauntlet’s rarity. This gauntlet counts as a specially prepared gauntlet for cantrips such as force buckler.\n In addition, you gain one of the following cantrips of your choice: force buckler, force dart, or force weapon. The cantrip doesn’t count against your number of cantrips known. Whenever you finish a long rest, you can change your selection.",
- choices : ["+1 (uncommon)", "+2 (rare)", "+3 (very rare)"],
- "+1 (uncommon)" : {
- name : "Gauntlet of the Grandmaster +1",
- rarity : "uncommon",
- description : "I can use this gauntlet as a focus for warmage spells, and I get a +1 bonus to save DCs/attack/damage rolls of warmage spells. It counts as a gauntlet for spells like force buckler. I also learn force buckler/dart/weapon.",
- descriptionFull : "While wearing this gauntlet, you can use it as a spellcasting focus for your warmage spells, and you gain a +1 bonus to spell attack and damage rolls and to the saving throw DCs of your warmage spells. This gauntlet counts as a specially prepared gauntlet for cantrips such as force buckler.\n In addition, you gain one of the following cantrips of your choice: force buckler, force dart, or force weapon. The cantrip doesn’t count against your number of cantrips known. Whenever you finish a long rest, you can change your selection.",
- calcChanges : {
- atkCalc : [
- function (fields, v, output) {
- if (v.thisWeapon[4].indexOf("warmage") !== -1 && SpellsList[v.thisWeapon[3]]) {
- output.extraDmg += 1;
- }
- },
- "While wearing the Gauntlet of the Grandmaster, I add +1 to the damage of any warmage spell I cast."
- ],
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('warmage') !== -1) return 1;
- },
- "While wearing the Gauntlet of the Grandmaster, I gain a +1 bonus to spell attack rolls, and to the saving throw DCs of my warmage spells."
- ]
- }
- },
- "+2 (rare)" : {
- name : "Gauntlet of the Grandmaster +2",
- rarity : "rare",
- description : "I can use this gauntlet as a focus for warmage spells, and I get a +2 bonus to save DCs/attack/damage rolls of warmage spells. It counts as a gauntlet for spells like force buckler. I also learn force buckler/dart/weapon.",
- descriptionFull : "While wearing this gauntlet, you can use it as a spellcasting focus for your warmage spells, and you gain a +2 bonus to spell attack and damage rolls and to the saving throw DCs of your warmage spells. This gauntlet counts as a specially prepared gauntlet for cantrips such as force buckler.\n In addition, you gain one of the following cantrips of your choice: force buckler, force dart, or force weapon. The cantrip doesn’t count against your number of cantrips known. Whenever you finish a long rest, you can change your selection.",
- calcChanges : {
- atkCalc : [
- function (fields, v, output) {
- if (v.thisWeapon[4].indexOf("warmage") !== -1 && SpellsList[v.thisWeapon[3]]) {
- output.extraDmg += 2;
- }
- },
- "While wearing the Gauntlet of the Grandmaster, I add +2 to the damage of any warmage spell I cast."
- ],
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('warmage') !== -1) return 2;
- },
- "While wearing the Gauntlet of the Grandmaster, I gain a +2 bonus to spell attack rolls, and to the saving throw DCs of my warmage spells."
- ]
- }
- },
- "+3 (very rare)" : {
- name : "Gauntlet of the Grandmaster +3",
- rarity : "very rare",
- description : "I can use this gauntlet as a focus for warmage spells, and I get a +3 bonus to save DCs/attack/damage rolls of warmage spells. It counts as a gauntlet for spells like force buckler. I also learn force buckler/dart/weapon.",
- descriptionFull : "While wearing this gauntlet, you can use it as a spellcasting focus for your warmage spells, and you gain a +3 bonus to spell attack and damage rolls and to the saving throw DCs of your warmage spells. This gauntlet counts as a specially prepared gauntlet for cantrips such as force buckler.\n In addition, you gain one of the following cantrips of your choice: force buckler, force dart, or force weapon. The cantrip doesn’t count against your number of cantrips known. Whenever you finish a long rest, you can change your selection.",
- calcChanges : {
- atkCalc : [
- function (fields, v, output) {
- if (v.thisWeapon[4].indexOf("warmage") !== -1 && SpellsList[v.thisWeapon[3]]) {
- output.extraDmg += 3;
- }
- },
- "While wearing the Gauntlet of the Grandmaster, I add +3 to the damage of any warmage spell I cast."
- ],
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('warmage') !== -1) return 3;
- },
- "While wearing the Gauntlet of the Grandmaster, I gain a +3 bonus to spell attack rolls, and to the saving throw DCs of my warmage spells."
- ]
- }
- },
- };
- MagicItemsList["glimmerbolt"] = {
- name : "Glimmerbolt",
- sortname : "Glimmerbolt",
- source : ["VSoS", 310],
- type : "weapon (any crossbow)",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 10,
- recovery : "dawn",
- additional : "regains 1d6+4",
- fixedDC : 17,
- description : "+1 to attack/damage rolls. 10 charges, regains 1d6+4 at dawn. With Attack action, can expend 1 charge to make the bolt deal +1d6 damage and deal radiant damage instead of piercing. Can also make a blinding effect; see book",
- descriptionFull : "You have a +1 bonus to attack and damage rolls made with this magic weapon.\n This weapon has 10 charges and regains 1d6 + 4 charges daily at dawn. As part of your Attack action, you can expend a charge to create and load a piece of radiant ammunition into the crossbow. This bolt deals an extra 1d6 damage on a hit and deals radiant damage, instead of its normal piercing damage.\n Additionally, as an action, you can expend 3 charges to load a blinding bolt of light into the crossbow and fire it at a point you can see within 60 feet, where it detonates in a flash. Each creature within 20 feet of that point must succeed on a DC 17 Constitution saving throw or be blinded until the end of your next turn. Motes of light hang in the air around that point for the next minute, shedding bright light in a 20-foot radius and dim light for an additional 20 feet.",
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "brackets",
- descriptionChange : ["replace", "crossbow"],
- excludeCheck : function (inObjKey, inObj) {
- var testRegex = /crossbow|ballista/i;
- return !(testRegex).test(inObjKey) && (!inObj.baseWeapon || !(testRegex).test(inObj.baseWeapon));
- }
- },
- calcChanges : {
- atkAdd : [
- function (fields, v) {
- if (!v.theWea.isMagicWeapon && v.isRangedWeapon && (/crossbow|ballista/i).test(v.baseWeaponName) && (/glimmerbolt/i).test(v.WeaponTextName)) {
- v.theWea.isMagicWeapon = true;
- fields.Description = fields.Description.replace(/(, |; )?Counts as magical/i, '');
- fields.Description += (fields.Description ? '; ' : '') + 'see magic item desc.';
- }
- },
- ],
- atkCalc : [
- function (fields, v, output) {
- if (v.isRangedWeapon && (/crossbow|ballista/i).test(v.baseWeaponName) && (/glimmerbolt/i).test(v.WeaponTextName)) {
- output.magic = v.thisWeapon[1] + 1;
- }
- },
- ]
- }
- };
- MagicItemsList["gloves of skill"] = {
- name : "Gloves of Skill",
- sortname : "Gloves, Skill",
- source : ["VSoS", 310],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- toolProfs : ["Tool or instrument", 1],
- description : "While attuned to these gloves, I have proficiency with one tool or instrument. The DM chooses the profiency or determines it randomly from a list.",
- descriptionFull : "While attuned to these gloves, you have proficiency with one tool or instrument. The DM chooses the proficiency or determines it randomly from the options below.\n\n" + toUni("d10\tProficiency") + "\n 1\tDrum\n 2\tFlute\n 3\tHorn\n 4\tLute\n 5\tLyre\n 6\tCarpenter's Tools\n 7\tCobbler's Tools\n 8\tJeweler's Tools\n 9\tMason's Tools\n 10\tSmith's Tools",
- };
- MagicItemsList["graverobber's spade"] = {
- name : "Graverobber's Spade",
- sortname : "Graverobber's Spade",
- source : ["VSoS", 310],
- type : "weapon (shovel)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a necromancer",
- prereqeval : function (v) { return classes.known.necromancer ? true : false; },
- allowDuplicates : false,
- description : "This shovel gets a bonus to its attack/damage rolls, and a bonus to the attack rolls and save DCs of my Necromancer spells, determined by rarity. I can use it as a focus for necromancer spells, and cast Exhume at will.",
- descriptionFull : "You can use this magic weapon as a spellcasting focus for your necromancer spells. While holding this magic weapon, you gain a bonus to attack and damage rolls made with it, and you gain a bonus to spell attack rolls and the saving throw DCs of your necromancer spells. The bonus is determined by the weapon’s rarity.\n Additionally, you can cast the Exhume spell at will without using a spell slot or material components.",
- spellcastingBonus : [{
- name : "At will",
- spells : ["exhume"],
- selection : ["exhume"],
- firstCol : "atwill"
- }],
- choices : ["+1 (uncommon)", "+2 (rare)", "+3 (very rare)"],
- "+1 (uncommon)" : {
- name : "Graverobber's Spade +1",
- rarity : "uncommon",
- description : "This shovel gets a +1 bonus to its attack/damage rolls, and a +1 bonus to the attack rolls and save DCs of my Necromancer spells. I can use it as a focus for necromancer spells, and cast Exhume at will.",
- descriptionFull : "You can use this magic weapon as a spellcasting focus for your necromancer spells. While holding this magic weapon, you gain a +1 bonus to attack and damage rolls made with it, and you gain a +1 bonus to spell attack rolls and the saving throw DCs of your necromancer spells.\n Additionally, you can cast the Exhume spell at will without using a spell slot or material components.",
- weaponsAdd : ["Graverobber's Spade +1"],
- weaponOptions : {
- baseWeapon : "shovel",
- regExpSearch : /^(?=.*graverobber)(?=.*spade).*$/i,
- name : "Graverobber's Spade +1",
- source : ["VSoS", 310],
- modifiers : [1,1],
- },
- calcChanges : {
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('necromancer') !== -1) return 1;
- },
- "While holding the Graverobber's Spade, I gain a +1 bonus to spell attack rolls and saving throw DCs of my necromancer spells."
- ]
- }
- },
- "+2 (rare)" : {
- name : "Graverobber's Spade +2",
- rarity : "rare",
- description : "This shovel gets a +2 bonus to its attack/damage rolls, and a +2 bonus to the attack rolls and save DCs of my Necromancer spells. I can use it as a focus for necromancer spells, and cast Exhume at will.",
- descriptionFull : "You can use this magic weapon as a spellcasting focus for your necromancer spells. While holding this magic weapon, you gain a +2 bonus to attack and damage rolls made with it, and you gain a +2 bonus to spell attack rolls and the saving throw DCs of your necromancer spells.\n Additionally, you can cast the Exhume spell at will without using a spell slot or material components.",
- weaponsAdd : ["Graverobber's Spade +2"],
- weaponOptions : {
- baseWeapon : "shovel",
- regExpSearch : /^(?=.*graverobber)(?=.*spade).*$/i,
- name : "Graverobber's Spade +2",
- source : ["VSoS", 310],
- modifiers : [2,2],
- },
- calcChanges : {
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('necromancer') !== -1) return 2;
- },
- "While holding the Graverobber's Spade, I gain a +2 bonus to spell attack rolls and saving throw DCs of my necromancer spells."
- ]
- }
- },
- "+3 (very rare)" : {
- name : "Graverobber's Spade +3",
- rarity : "very rare",
- description : "This shovel gets a +3 bonus to its attack/damage rolls, and a +3 bonus to the attack rolls and save DCs of my Necromancer spells. I can use it as a focus for necromancer spells, and cast Exhume at will.",
- descriptionFull : "You can use this magic weapon as a spellcasting focus for your necromancer spells. While holding this magic weapon, you gain a +3 bonus to attack and damage rolls made with it, and you gain a +3 bonus to spell attack rolls and the saving throw DCs of your necromancer spells.\n Additionally, you can cast the Exhume spell at will without using a spell slot or material components.",
- weaponsAdd : ["Graverobber's Spade +3"],
- weaponOptions : {
- baseWeapon : "shovel",
- regExpSearch : /^(?=.*graverobber)(?=.*spade).*$/i,
- name : "Graverobber's Spade +3",
- source : ["VSoS", 310],
- modifiers : [3,3],
- },
- calcChanges : {
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('necromancer') !== -1) return 3;
- },
- "While holding the Graverobber's Spade, I gain a +3 bonus to spell attack rolls and saving throw DCs of my necromancer spells."
- ]
- }
- },
- };
- MagicItemsList["hand of glory"] = {
- name : "Hand of Glory",
- sortname : "Hand, Glory",
- source : ["VSoS", 311],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "While attuned to the hand, I have two additional attunement slots for magic rings, which are worn on the hand's digits.",
- //I'm pretty sure the automation doesn't interact with attunement slots at all (you can attune as many items as you want with no issue or even a warning)
- descriptionFull : "This mummified hand is worn around the neck with a leather cord. While attuned to the hand, you gain two additional attunement slots for magic rings, which are placed on the hand’s digits. If your attunement with the hand ends, your attunement with the magic rings worn on it also ends.",
- };
- MagicItemsList["invisible ink"] = {
- name : "Invisible Ink",
- sortname : "Invisible Ink",
- source : ["VSoS", 311],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Enough ink to write 250 words or draw a picture/diagram. Anything wirtten is invis., except to truesight or See Invis. Dispel Magic reveals. DC 25 Int(Investigation) to reveal that there is writing, but not what it says.",
- descriptionFull : "Anything written in this ink is invisible. A DC 25 Intelligence (Investigation) check reveals that there is writing present, but not what it says. Only creatures that have truesight or are under the effect of the see invisibility spell can read text written in this ink, though the invisibility effect can be removed using dispel magic. One pot is sufficient to write 250 words or draw one picture or diagram.",
- };
- MagicItemsList["jax"] = {
- name : "Jax",
- sortname : "Jax",
- source : ["VSoS", 311],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Inject as an action to increase Strength, Dexterity, and Constitution scores and maximums by 4 for 1 hour, and permanently decrease hit point maximum by 1d12. Only wish or greater restoration can restore this.",
- descriptionFull : "Rather than drinking this vial of orange, brackish liquid, you inject into your body as an action. Once injected, for 1 hour, your Strength, Dexterity, and Constitution scores each increase by 4, and the maximum for these scores is increased to 24. However, your maximum hit points are permanently reduced by 1d12. No means short of a greater restoration or wish spell can restore hit points lost in this way.\n You can use more than one dose of jax at once, and its ability score increases stack for the 1-hour duration. However, you still suffer the reduction to your maximum hit points each time you take an additional dose, and you must succeed a DC 20 Constitution saving throw or suffer an overdose. When you overdose, you are reduced to 0 hit points and can’t regain hit points for 1 hour.",
- };
- MagicItemsList["khaliber's iron"] = {
- name : "Khaliber's Iron",
- sortname : "Khaliber's Iron",
- source : ["VSoS", 311],
- type : "weapon (any one-handed firearm)",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a gunslinger",
- prereqeval : function (v) { return classes.known.gunslinger ? true : false; },
- allowDuplicates : false,
- description : "This weapon doesn't require ammunition, and has a rarity-dependent bonus to attack and damage rolls. When I land a crit, creatures w/in 5 feet of the tgt Dex save or take half the attack's damage. DC depends on rarity.",
- descriptionFull : "This magic weapon, which is blessed by Khaliber, the goddess of gunpowder, magically produces its own ammunition immediately after it is fired. You have a bonus to attack and damage rolls made with this magic firearm. The bonus is determined by the weapon’s rarity.\n When you score a critical hit with this firearm, the bullet explodes on impact. Each creature you choose other than the target within 5 feet of it must make a Dexterity saving throw, taking fire damage equal to half the damage dealt on a failure. The DC for this saving throw is determined by the weapon’s rarity.",
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "brackets",
- descriptionChange : ["replace", "firearm"],
- excludeCheck : function (inObjKey, inObj) {
- var testRegex = /flintlock|duck|parlor|revolver|harpoon gun|handgun|submachine|magnum|briefcase/i;
- return !(testRegex).test(inObjKey) && (!inObj.baseWeapon || !(testRegex).test(inObj.baseWeapon));
- }
- },
- calcChanges : {
- atkAdd : [
- function (fields, v) {
- if (!v.theWea.isMagicWeapon && (/khaliber/i).test(v.WeaponTextName)) {
- v.theWea.isMagicWeapon = true;
- fields.Description = fields.Description.replace(/(, |; )?Counts as magical/i, '');
- fields.Description += (fields.Description ? '; ' : '') + 'see magic item desc.';
- }
- },
- ],
- },
- choices : ["+1 (uncommon)", "+2 (rare)", "+3 (very rare)"],
- "+1 (uncommon)" : {
- rarity : "uncommon",
- fixedDC : 13,
- description : "This weapon doesn't require ammunition, and has a +1 bonus to attack and damage rolls. When I land a crit, creatures w/in 5 feet of the tgt DC 13 Dex save or take half the attack's damage.",
- descriptionFull : "This magic weapon, which is blessed by Khaliber, the goddess of gunpowder, magically produces its own ammunition immediately after it is fired. You have a +1 bonus to attack and damage rolls made with this magic firearm.\n When you score a critical hit with this firearm, the bullet explodes on impact. Each creature you choose other than the target within 5 feet of it must make a Dexterity saving throw, taking fire damage equal to half the damage dealt on a failure. The DC for this saving throw is 13.",
- calcChanges : {
- atkCalc : [
- function (fields, v, output) {
- if (v.isRangedWeapon && (/khaliber/i).test(v.WeaponTextName)) {
- output.magic = v.thisWeapon[1] + 1;
- }
- }, ''
- ]
- }
- },
- "+2 (rare)" : {
- rarity : "rare",
- fixedDC : 15,
- description : "This weapon doesn't require ammunition, and has a +2 bonus to attack and damage rolls. When I land a crit, creatures w/in 5 feet of the tgt DC 15 Dex save or take half the attack's damage.",
- descriptionFull : "This magic weapon, which is blessed by Khaliber, the goddess of gunpowder, magically produces its own ammunition immediately after it is fired. You have a +2 bonus to attack and damage rolls made with this magic firearm.\n When you score a critical hit with this firearm, the bullet explodes on impact. Each creature you choose other than the target within 5 feet of it must make a Dexterity saving throw, taking fire damage equal to half the damage dealt on a failure. The DC for this saving throw is 15.",
- calcChanges : {
- atkCalc : [
- function (fields, v, output) {
- if (v.isRangedWeapon && (/khaliber/i).test(v.WeaponTextName)) {
- output.magic = v.thisWeapon[1] + 2;
- }
- }, ''
- ]
- }
- },
- "+3 (very rare)" : {
- rarity : "very rare",
- fixedDC : 17,
- description : "This weapon doesn't require ammunition, and has a +3 bonus to attack and damage rolls. When I land a crit, creatures w/in 5 feet of the tgt DC 17 Dex save or take half the attack's damage.",
- descriptionFull : "This magic weapon, which is blessed by Khaliber, the goddess of gunpowder, magically produces its own ammunition immediately after it is fired. You have a +3 bonus to attack and damage rolls made with this magic firearm.\n When you score a critical hit with this firearm, the bullet explodes on impact. Each creature you choose other than the target within 5 feet of it must make a Dexterity saving throw, taking fire damage equal to half the damage dealt on a failure. The DC for this saving throw is 17.",
- calcChanges : {
- atkCalc : [
- function (fields, v, output) {
- if (v.isRangedWeapon && (/khaliber/i).test(v.WeaponTextName)) {
- output.magic = v.thisWeapon[1] + 3;
- }
- }, ''
- ]
- }
- },
- };
- MagicItemsList["lady and lord rings"] = {
- name : "Lady and Lord Rings",
- sortname : "Lady, Lord Rings",
- source : ["VSoS", 311],
- type : "rings",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by two creatures",
- allowDuplicates : true,
- dmgres : [ ["All", "All (30 ft ring)"] ],
- description : "While within 30 feet of a creature wearing the matching ring, we both have resistance to all damage, and whenever one of us takes damage, the other loses the same amount of hit points. If either attunement ends, so does the other.",
- descriptionFull : "These two rings, one engraved with the image of a mighty lord and the other with a stately lady, are part of a matched set. Two creatures can attune to the rings, each wearing one of the rings. While within 30 feet of each other, both attuned creatures have resistance to all damage. Additionally, while both creatures are within 30 feet of each other, each time an attuned creature takes damage, the other creature loses the same number of hit points. Attunement to these rings breaks if either attuned creature drops to 0 hit points or breaks attunement.",
- };
- MagicItemsList["leaden manacles"] = {
- name : "Leaden Manacles",
- sortname : "Leaden Manacles",
- source : ["VSoS", 311],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 6,
- prerequisite : "",
- allowDuplicates : true,
- description : "When a creature wearing these manacles tries to cast a spell, DC 12 ability check with its spellcasting ability. Failure: 1d6/SL fire damage and the spell fails and is wasted; Success: half damage, but the spell is cast successfully.",
- descriptionFull : "These manacles behave the same as normal manacles with the following addition: a creature that attempts to cast a spell while wearing the manacles must make a DC 12 ability check using its spellcasting ability. On a failure, the spell fails and has no effect; the spell slot is expended, the action is wasted, and the manacled creature takes 1d6 fire damage per level of the spell slot expended. On a success, the creature takes half as much damage and the spell is cast successfully.",
- };
- MagicItemsList["leonora's throne of indolence"] = {
- name : "Leonora's Throne of Indolence",
- sortname : "Leonora's Throne, Indolence",
- source : ["VSoS", 311],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 100,
- prerequisite : "",
- allowDuplicates : false,
- description : "While I'm sitting in it, this throne has a flying speed of 50 ft. I can use it as an action to cast Unseen Servant. 1/dawn, I can also magically create up to 10 pounds of delicious food and up to four bottles of wine, but only I can enjoy it.",
- descriptionFull : "This high-backed armchair made of oak and gold weighs 100 pounds and functions like an ordinary chair, until you sit in it and speak its command word as an action. It then hovers beneath you and can fly through the air. The throne has a flying speed of 50 feet and can carry up to 400 pounds. The throne stops hovering when you speak its command word again.\n By speaking another command word, you can use your action to cast the unseen servant spell using the throne. The servant can conjure a spectral trumpet to announce your arrival, in addition to its usual tasks.\n Lastly, while attuned to the throne, you can speak a third command word to magically create up to 10 pounds of delicious food of your choice and up to four bottles of wine. Only you can partake of this meal and drink; it instantly becomes stale and sickening in another creature’s mouth. Once you have spoken this command word, you can’t do so again until the next dawn.",
- usages : 1,
- recovery : "dawn",
- limfeaname : "Create Food and Wine",
- action: [["action", "Create Food and Wine"]],
- spellcastingBonus : [{
- name : "At will",
- spells : ["unseen servant"],
- selection : ["unseen servant"],
- firstCol : "atwill"
- }],
- };
- MagicItemsList["locket of remembrance"] = {
- name : "Locket of Remembrance",
- sortname : "Locket, Remembrance",
- source : ["VSoS", 312],
- type : "wondrous item",
- rarity : "common",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This locket is engraved with the name and likeness of a dead creature. As long as it's worn by a living creature, the creature commemorated can't become undead, and its soul can't linger as an undead.",
- descriptionFull : "When a locket of remembrance is created, it is engraved with the name and likeness of a creature that has died. It is then dedicated to this creature. As long as the locket is worn by a living creature, the remembered creature’s remains can’t become undead, and its soul can’t linger as an undead creature.",
- };
- MagicItemsList["loincloth of oni magic"] = {
- name : "Loincloth of Oni Magic",
- sortname : "Loincloth, Oni Magic",
- source : ["VSoS", 312],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a barbarian",
- allowDuplicates : false,
- usages : 6,
- recovery : "dusk",
- additional : "regains 1d6",
- fixedDC : 17,
- spellFirstColTitle : "Ch",
- spellcastingBonus : [{
- name : "1 charge",
- spells : ["charm person"],
- selection : ["charm person"],
- firstCol : "1"
- }, {
- name : "1 charge",
- spells : ["sleep"],
- selection : ["sleep"],
- firstCol : "1"
- }, {
- name : "2 charges",
- spells : ["darkness"],
- selection : ["darkness"],
- firstCol : "2"
- }, {
- name : "2 charges",
- spells : ["invisibility"],
- selection : ["invisibility"],
- firstCol : "2"
- }, {
- name : "3 charges",
- spells : ["gaseous form"],
- selection : ["gaseous form"],
- firstCol : "3"
- }, {
- name : "4 charges",
- spells : ["cone of cold"],
- selection : ["cone of cold"],
- firstCol : "4"
- }],
- description : "While wearing this loincloth, I can cast and concentrate on spells I know while raging. It has 6 charges I can use to cast spells (DC 17), and regains 1d6 charges at dusk: charm person (1 charge), sleep (1), darkness (2), invisibility (2), gaseous form (3), cone of cold (4).",
- descriptionFull : "While attuned to this blood-red loincloth, you can cast and concentrate on any spells you know, even while you are raging.\n Furthermore, the loincloth has 6 charges. While attuned to it, you can use an action to expend 1 or more charges to cast one of the following spells (save DC 17): charm person (1 charge), sleep (1 charge), darkness (2 charges), invisibility (2 charges), gaseous form (3 charges), or cone of cold (4 charges). The loincloth regains 1d6 expended charges daily at dusk.",
- };
- MagicItemsList["marvelous painted world"] = {
- name : "Marvelous Painted World",
- sortname : "Marvelous Painted World",
- source : ["VSoS", 312],
- type : "wondrous item",
- rarity : "legendary",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This painting, at least 5-foot square, is a portal to a demiplane where the painted world exists. While inside, a misty archway is a portal out of the painting. If the painting is rolled up or placed against a solid surface, the portal in the painting disappears. Time moves at 1/2 speed inside, and you don't need food/drink.",
- descriptionFull : "This masterful painting, at least a 5-foot square in area, was crafted by a master painter using at least ten pots of marvelous pigments. It depicts a serene painted world. The painting itself acts as a portal to a demiplane in which the painted world exists, and is large enough to allow Medium creatures to pass through unhindered. Inside the painted world, a misty archway is a portal to the real world. If the painting is rolled up or faced toward a solid surface, the portal disappears inside the painted world.\n The location, objects, and creatures depicted within the painted world are determined by the painting’s creator, but such objects and creatures can’t leave the painted world, as they can’t pass through the portal, and disappear into smoke if removed from the demiplane by other means. Time passes at half speed within the painted world, and you don’t need to eat or drink while within it.",
- };
- MagicItemsList["magehunter blade"] = {
- name : "Magehunter Blade",
- sortname : "Magehunter Blade",
- source : ["VSoS", 312],
- type : "weapon (any sword)",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "On a hit, this +3 weapon can dispel a spell on the target of level 5 or lower and deal 1d8 extra force damage per level of the spell. Then roll a d6; on a roll of less than the spell level, this property doesn't work again until dawn.",
- descriptionFull : "You have a +2 bonus to attack and damage rolls made with this magic weapon. If you use this weapon to hit a creature that is under the effect of a spell, one spell of your choice affecting the target is dispelled if it is 5th-level or lower, and the target takes an extra 1d8 force damage for the level of the dispelled spell (dispelled cantrips deal no extra damage). Once a spell is dispelled, roll a d6. If the number is less than or equal to the level of dispelled spell, the sword loses this trait until the following dawn.",
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "prefix",
- descriptionChange : ["replace", "sword"],
- excludeCheck : function (inObjKey, inObj) {
- var testRegex = /sword|scimitar|rapier|blade/i;
- return !(testRegex).test(inObjKey) && (!inObj.baseWeapon || !(testRegex).test(inObj.baseWeapon));
- }
- },
- calcChanges : {
- atkAdd : [
- function (fields, v) {
- if (!v.theWea.isMagicWeapon && v.isMeleeWeapon && (/magehunter/i).test(v.WeaponTextName) && (/sword|scimitar|rapier|blade/i).test(v.baseWeaponName)) {
- v.theWea.isMagicWeapon = true;
- fields.Description = fields.Description.replace(/(, |; )?Counts as magical/i, '');
- fields.Description += (fields.Description ? '; ' : '') + 'On hit, dispel one spell on target of 5th lvl/lower, +1d8/SL force dmg';
- }
- },
- "If I include the word 'Magehunter' in a the name of a sword, it will be treated as the magic weapon Magehunter Blade. On a hit with this weapon, one spell on the target of 5th level or lower is dispelled, and the target then takes an additional 1d8 force damage per level of the dispelled spell. I then roll a d6, and if I roll less than the spell's level, this property stops working until dawn."
- ],
- atkCalc : [
- function (fields, v, output) {
- if (v.isMeleeWeapon && (/magehunter/i).test(v.WeaponTextName) && (/sword|scimitar|rapier|blade/i).test(v.baseWeaponName)) {
- output.magic = v.thisWeapon[1] + 2;
- }
- }, ''
- ]
- }
- };
- MagicItemsList["magehunter plate"] = {
- name : "Magehunter Plate",
- sortname : "Magehunter Plate",
- source : ["VSoS", 313],
- type : "armor (breastplate, half plate, or plate)",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "3 charges: When subjected to a save for half damage, expend a charge to take no damage on success and only half on fail. Regain all charges at dusk. Reduce magical acid/cold/fire/lightning/thunder dmg taken by 3. When damaged by a magic melee wea., attacker rolls d20; on 10 or less, the wea. becomes mundane for 1 hr.",
- descriptionFull : "This magical armor has 3 charges. When you are subjected to a magical effect that allows you to make a saving throw to take only half damage, you can expend a charge to instead take no damage on a success and only half as much damage on a failure. The armor regains all expended charges at dusk.\n Additionally, while you are attuned to this armor and wearing it, acid, cold, fire, lightning, and thunder damage you take from magical sources, as well as magical healing you receive, is reduced by 3. When you take damage from a magical melee weapon, the attacker must roll a d20. On a 10 or lower, the weapon’s magic is suppressed for 1 hour, causing it to temporarily become mundane.",
- chooseGear : {
- type : "armor",
- prefixOrSuffix : "suffix",
- excludeCheck : function (inObjKey, inObj) {
- return !(/breastplate|plate/i).test(inObj.name);
- },
- descriptionChange : ["prefix", "armor"]
- },
- usages : 3,
- recovery : "dusk",
- };
- MagicItemsList["memento mori"] = {
- name : "Memento Mori",
- sortname : "Memento Mori",
- source : ["VSoS", 313],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This sealed letter contains a specific description of how the first creature to read it will die. Afterward, the creature has adv. on death saves and must fail 5 throws instead of 3 in order to die. However, when the moment comes, the creature dies without any death saves.",
- descriptionFull : "This sealed letter, infused with chronomancy magic, contains a written description of how the creature that reads it shall die. The letter always contains specific descriptions, such as “The red-eyed orc drove its scimitar through Faizon the Blue’s heart,” but may also use cryptic or vague language. It never specifies an exact time. Once a creature has read the letter, it has advantage on death saving throws, and dies only after gaining five death saving throw failures, instead of three. However, when the creature arrives at the moment of their death described in the letter, it dies without making death saving throws.\n The effects of the letter end only if the character dies and is revived. Once a memento mori is read, it loses all magic and becomes an ordinary letter.",
- };
- MagicItemsList["morbid makeup"] = {
- name : "Morbid Makeup",
- sortname : "Morbid Makeup",
- source : ["VSoS", 313],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This makeup works as a disguise kit to appear as Fey, Fiend, or Undead. It gives advantage on Cha(Intimidation) checks vs. Humanoids. It lasts 8 hours, has enough for 10 applications, and can be washed off as an action.",
- descriptionFull : "This makeup kit contains only red, white, and black paint. It functions as a disguise kit which lets you convincingly appear as a Fey, Fiend, or Undead creature. While wearing the makeup, you have advantage on Charisma (Intimidation) checks you make against Humanoids.\n The kit contains enough makeup for 10 applications. Each application lasts up to 8 hours, and can be washed off as an action.",
- usages: 10,
- };
- MagicItemsList["mouse of cowardice"] = {
- name : "TEMPLATE",
- sortname : "TEMPLATE",
- source : ["VSoS", 313],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "1/dawn, speak a command word and set this wind-up mouse rolling toward a Large or larger creature within 15 feet as an action to cast Phantasmal Killer using the mouse.",
- descriptionFull : "This wind-up clockwork mouse terrifies even the largest beasts. When you speak its command word and set it rolling toward a Large or larger creature within 15 feet of you as an action, you cast the spell phantasmal killer (save DC 15) using the mouse. The mouse can’t be used this way again until the next dawn.",
- usages : 1,
- recovery : "dawn",
- spellcastingBonus : {
- name : "Once per dawn",
- spells : ["phantasmal killer"],
- selection : ["phantasmal killer"],
- firstCol : "oncelr"
- },
- fixedDC : 15,
- spellChanges : {
- "conjure elemental" : {
- components : "V,M\u0192",
- compMaterial : "The mouse must be set rolling toward a Large or larger creature within 15 feet to cast this spell with a command word.",
- changes : "The spell must target a Large or larger creature within 15 feet of me when I set the mouse rolling."
- }
- }
- };
- MagicItemsList["necromantic draught"] = {
- name : "Necromantic Draught",
- sortname : "Necromantic Draught",
- source : ["VSoS", 313],
- type : "potion",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "I can pour this potion on a Medium or Small Humanoid corpse to animate and command it as per Animate Dead for 24 hours.",
- descriptionFull : "Pouring this potion on a Medium or Small Humanoid corpse causes the effect of the animate dead spell for 24 hours. You command Undead animated in this way. This brightly glowing neon-yellow goo is repelled away from living things which touch its container.",
- };
- MagicItemsList["ooze bottle"] = {
- name : "Ooze Bottle",
- sortname : "Ooze Bottle",
- source : ["VSoS", 313],
- type : "potion",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "I can throw this potion up to 20 feet as an action to create a Gray Ooze that is friendly to me and my allies, and will otherwise attack the nearest creature it detects. It dissolves after 1 hour.",
- descriptionFull : "As an action, you can throw this vial up to 20 feet, shattering it on impact and releasing a gray ooze. This ooze is friendly to you and your allies, and will otherwise attack the nearest creature it can detect. If there is no creature to attack, the ooze will follow you. However, the biochemistry of this ooze is unstable, and the ooze dissolves into a lifeless sludge after 1 hour. The charcoal-colored liquid inside this bottle seems to lunge about with unnatural momentum.",
- };
- MagicItemsList["parchment of sending"] = {
- name : "Parchment of Sending",
- sortname : "Parchment, Sending",
- source : ["VSoS", 314],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "If I write a message of up to 25 words on this parchment and address it to a familiar creature, the parchment folds itself and flies to the creature within 24 hours, if it is on the same plane of existence. The creature can respond in kind, and the parchment can make 4 such round trips.",
- descriptionFull : "This parchment can hold a message of twenty-five words or less; additional text is magically erased. When addressed with the name of a creature with which you are familiar, the parchment folds itself into the shape of a glider and flutters on the wind, magically seeking out the creature within 24 hours if the recipient is on the same plane of existence as you. The recipient can write an additional twenty-five word message, and cause the parchment to fold itself and return to you by addressing it to your name. The parchment can make four such trips, and then becomes mundane parchment.",
- };
- MagicItemsList["peacekeeper"] = {
- name : "Peacekeeper",
- sortname : "Peacekeeper",
- source : ["VSoS", 314],
- type : "weapon (any firearm)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- allowDuplicates : false,
- description : "+1 weapon. Action: I can force a Medium or smaller crea within 60 feet to make a Dex save (DC 13) or be knocked prone and restrained. It can escape with a DC 13 Str check, but takes 1d8 radiant dmg if it fails. After using this ability, 1/3 chance it doesn't work again until dawn.",
- descriptionFull : "You have a +1 bonus to attack and damage rolls made with this magic weapon.\n As an action, you can charge the firearm’s alternate firing mode, causing a bright light to leak through the weapon’s joints, and fire a magical bolas at a creature within 60 feet of you. The creature must succeed on a DC 13 Dexterity saving throw or be knocked prone and restrained by the bolas. A Huge or larger creature automatically succeeds on this saving throw. A creature can use its action to make a DC 13 Strength check, breaking the bolas and freeing itself on a success. Each time a creature fails this check, the bolas tightens, dealing 1d8 radiant damage to the restrained creature.\n After you activate this property, roll a d6. On a 1 or 2, you can’t activate it again until the following dawn.",
- action : ["action", " (Bolas)"],
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "brackets",
- descriptionChange : ["replace", "firearm"],
- excludeCheck : function (inObjKey, inObj) {
- return !(/^(?=.*firearm).*$/i.test(inObj.list));
- }
- },
- calcChanges : {
- atkAdd : [
- function (fields, v) {
- if (!v.theWea.isMagicWeapon && (/peacekeeper/i).test(v.WeaponTextName)) {
- v.theWea.isMagicWeapon = true;
- fields.Description = fields.Description.replace(/(, |; )?Counts as magical/i, '');
- fields.Description += (fields.Description ? '; ' : '') + 'see magic item desc.';
- }
- },
- ],
- atkCalc : [
- function (fields, v, output) {
- if ((/peacekeeper/i).test(v.WeaponTextName)) {
- output.magic = v.thisWeapon[1] + 1;
- }
- }, ''
- ]
- },
- };
- MagicItemsList["pentacle of woe"] = {
- name : "Pentacle of Woe",
- sortname : "Pentacle, Woe",
- source : ["VSoS", 314],
- type : "wondrous item",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a witch",
- prereqeval : function(v) { return classes.known.witch; },
- allowDuplicates : false,
- description : "I get a bonus (+1, +2, or +3 depending on rarity) to the save DCs and attack rolls of my witch hexes and spells. 3 charges, spend 1: Use a bonus action to cast a hex that normally takes an action. Regains all charges at dusk.",
- descriptionFull : "While attuned to this medallion, you gain a bonus to spell attack rolls and to the saving throw DCs of your witch hexes and spells. This bonus is determined by the pentacle’s rarity.\n In addition, this pentacle has 3 charges. You can expend a charge to cast a hex that usually takes an action as a bonus action instead. The pentacle regains all expended charges daily at dusk.",
- usages : 3,
- recovery : "dusk",
- action : [["bonus action", ""]],
- choices : ["+1 Pentacle (uncommon)", "+2 Pentacle (rare)", "+3 Pentacle (very rare)"],
- "+1 pentacle (uncommon)" : {
- name : "Pentacle of Woe +1",
- rarity : "uncommon",
- description : "I gain a +1 bonus to spell attack rolls and saving throw DCs of my witch hexes and spells. It has 3 charges; spend a charge to cast a hex that would normally take 1 action using a bonus action. Regain all charges at dusk.",
- calcChanges : {
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('witch') !== -1) return 1;
- },
- "I gain a +1 bonus to spell attack rolls and to the saving throw DCs of my witch hexes and spells."
- ]
- }
- },
- "+2 pentacle (rare)" : {
- name : "Pentacle of Woe +2",
- rarity : "rare",
- description : "I gain a +2 bonus to spell attack rolls and saving throw DCs of my witch hexes and spells. It has 3 charges; spend a charge to cast a hex that would normally take 1 action using a bonus action. Regain all charges at dusk.",
- calcChanges : {
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('witch') !== -1) return 2;
- },
- "I gain a +2 bonus to spell attack rolls and to the saving throw DCs of my witch hexes and spells."
- ]
- }
- },
- "+3 pentacle (very rare)" : {
- name : "Pentacle of Woe +3",
- rarity : "very rare",
- description : "I gain a +3 bonus to spell attack rolls and saving throw DCs of my witch hexes and spells. It has 3 charges; spend a charge to cast a hex that would normally take 1 action using a bonus action. Regain all charges at dusk.",
- calcChanges : {
- spellCalc : [
- function (type, spellcasters, ability) {
- if (type !== "prepare" && spellcasters.indexOf('witch') !== -1) return 3;
- },
- "I gain a +2 bonus to spell attack rolls and to the saving throw DCs of my witch hexes and spells."
- ]
- }
- }
- };
- MagicItemsList["phase arrow"] = {
- name : "Phase Arrow",
- sortname : "Phase Arrow",
- source : ["VSoS", 314],
- type : "weapon (arrow)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This arrow can pass through all matter except its intended target. It ignores all cover, including total. It can target creatures on the Ethereal Plane as though on the Material, and vice versa. Once it hits a target, it becomes mundane.",
- descriptionFull : "This ethereal arrow passes through all matter except the intended target. You ignore all cover, including total cover, when making an attack with this arrow. This arrow can target creatures on the Ethereal Plane as if they were on the Material Plane, and vice versa. Once it hits a target, the arrow is no longer magical.",
- };
- MagicItemsList["polymorph potion"] = {
- name : "Polymorph Potion",
- sortname : "Polymorph Potion",
- source : ["VSoS", 314],
- type : "potion",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Upon drinking this potion, transform into a random form for 1 hour per the effects of the Polymorph spell. See table in book for possible forms.",
- descriptionFull : "When you drink this potion, which is a purple liquid derived from mimic blood, you gain the effects of the polymorph spell for an hour. Roll a d20 and consult the following table to determine the form you are transformed into.\n\n" + toUni("d20\tForm\td20\tForm") + "\n 1\tRat\t11\tConstrictor Snake\n 2\tRabbit\t12\tWolf\n 3\tCat\t13\tApe\n 4\tOctopus\t14\tCrocodile\n 5\tWeasel\t15\tGiant Toad\n 6\tGoat\t16\tCommoner\n 7\tOwl\t17\tBrown Bear\n 8\tHorse\t18\tTiger\n 9\tEagle\t19\tElephant\n 10\tMastiff\t20\tTyrannosaurus Rex",
- };
- MagicItemsList["portable cannonballs"] = {
- name : "Portable Cannonballs",
- sortname : "Portable Cannonballs",
- source : ["VSoS", 314],
- type : "weapon (cannonballs)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 5,
- prerequisite : "",
- allowDuplicates : true,
- description : "Speak a command word to cause 1/4-inch iron balls to expand into full-sized cannonballs. Use as a bag of ball bearings, or fire at disadv. from a sling or firearm and expand in midair to deal 2d12 bludg. dmg. See book for more details.",
- descriptionFull : "This bag contains twenty iron balls, each one inch in diameter and weighing 1/4 of a pound. As a bonus action, the command word can be spoken, which causes any number of the balls to expand into fullsize cannonballs weighing 10 pounds each, suitable for firing from a cannon.\n The bag can be poured out on the ground as an action, in which case it functions exactly as a bag of ball bearings. If the command word is spoken after the bag is poured out, all the balls expand at once. If a bag full of expanded balls is set to rolling, such as by being poured down a hill, any creature in the path of the balls must make a DC 13 Dexterity saving throw or take 11 (2d10) bludgeoning damage.\n Individual iron balls can be fired from a sling or firearm and expanded in midair, dealing 2d12 bludgeoning damage on a hit, though any attacks made in this fashion have disadvantage.",
- };
- MagicItemsList["portal chalk blue"] = {
- name : "Portal Chalk (Blue)",
- sortname : "Portal Chalk Blue",
- source : ["VSoS", 315],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 10,
- action : ["action", ""],
- description : "2 pieces of chalk, one orange, one blue, 10 uses each. Draw a Medium portal to instantly link to the last portal drawn with the other color, unlinking any previous portals. Portals are connected as though adjacent.",
- descriptionFull : "Each of these two pieces of chalk radiate a different luminescent aura: one orange, the other blue. Each piece of chalk has 10 uses. As an action, you can expend one use of a piece of chalk to draw a circular or rectangular portal on a solid stone surface large enough for a Medium creature. This portal instantly becomes linked to the most recent portal drawn with the other color of chalk, unlinking any portals created by these pieces of chalk other than these two. A linked portal is a glowing ring or rectangle filled with opaque mist; an unlinked portal is simply mundane chalk. A pair of linked portals acts as a magical gate. Any creature or object entering a linked portal exits from the other portal as if the two were adjacent to each other.",
- };
- MagicItemsList["portal chalk orange"] = {
- name : "Portal Chalk (Orange)",
- sortname : "Portal Chalk Orange",
- source : ["VSoS", 315],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 10,
- action : ["action", ""],
- description : "2 pieces of chalk, one orange, one blue, 10 uses each. Draw a Medium portal to instantly link to the last portal drawn with the other color, unlinking any previous portals. Portals are connected as though adjacent.",
- descriptionFull : "Each of these two pieces of chalk radiate a different luminescent aura: one orange, the other blue. Each piece of chalk has 10 uses. As an action, you can expend one use of a piece of chalk to draw a circular or rectangular portal on a solid stone surface large enough for a Medium creature. This portal instantly becomes linked to the most recent portal drawn with the other color of chalk, unlinking any portals created by these pieces of chalk other than these two. A linked portal is a glowing ring or rectangle filled with opaque mist; an unlinked portal is simply mundane chalk. A pair of linked portals acts as a magical gate. Any creature or object entering a linked portal exits from the other portal as if the two were adjacent to each other.",
- };
- MagicItemsList["potion of mirrored eyes"] = {
- name : "Potion of Mirrored Eyes",
- sortname : "Potion, Mirrored Eyes",
- source : ["VSoS", 315],
- type : "potion",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "For 1 minute after drinking this potion, gain immunity to any effect caused by looking at something (e.g. a medusa's petrifying gaze).",
- descriptionFull : "For 1 minute after you drink this potion, you gain immunity to any effect which can normally be avoided by averting your gaze from it, such as a medusa’s petrifying gaze. While under the influence of this potion, you can safely look at such creatures without being subjected to their abilities.",
- };
- MagicItemsList["puzzle box"] = {
- name : "Puzzle Box",
- sortname : "Puzzle Box",
- source : ["VSoS", 315],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This 1 cubic foot box conceals its interior from divination spells and their effects. Can only be opened with 24 hours of focus and a DC 23 Int check. Close as an action, automatically locking it.",
- descriptionFull : "Though a magic item in and of itself, this cubic box often contains far more powerful and destructive items. The puzzle box can hold one cubic foot of contents, which can’t be targeted by divination spells or perceived through scrying sensors created by divination spells.\n Once the box is closed, it can only be opened by solving the box’s puzzle. You can attempt to solve it by spending 24 hours working on the puzzle mechanism, after which you must succeed a DC 23 Intelligence check to open the box. You can close the box as an action, automatically scrambling the puzzle.",
- };
- MagicItemsList["reaper's bullet"] = {
- name : "Reaper's Bullet",
- sortname : "Reaper's Bullet",
- source : ["VSoS", 315],
- type : "weapon (any firearm ammunition)",
- rarity : "legendary",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This bullet, forged by the reaper and engraved with insidious runes, brings inevitable death on its target. A creature hit by this bullet dies.",
- descriptionFull : "This bullet, forged by the reaper and engraved with insidious runes, brings inevitable death on its target. A creature hit by this bullet dies.",
- };
- MagicItemsList["replacement man"] = {
- name : "Replacement Man",
- sortname : "Replacement Man",
- source : ["VSoS", 315],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "If damage would reduce me to 0 hit points, I drop to 1 hit point instead and this Humanoid figurine fades away with a sad smile on his face.",
- descriptionFull : "If damage would reduce you to 0 hit points while you are attuned to this Humanoid figurine, you drop to 1 hit point instead and the figurine fades away with a sad smile on his face.",
- };
- MagicItemsList["replica clay"] = {
- name : "Replica Clay",
- sortname : "Replica Clay",
- source : ["VSoS", 315],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Touch this lump of clay to an object that fits in a 5-ft. cube, and it becomes a perfect nonmagical replica, even mimicking magical elements like glowing runes. Touching it instantly reveals it as a replica, as it is soft clay.",
- descriptionFull : "When you touch this lump of clay to an object that can fit within a 5-foot cube, the clay shifts and molds into an exact replica with the same color and texture. The replica even mimics visual magical elements, such as glowing runes. Touching the replica reveals it to be made of clay, as it yields under any significant force, but it is impossible to distinguish with a visual inspection. Once the clay is shaped into a replica, it becomes nonmagical.",
- };
- MagicItemsList["reverberating shield"] = {
- name : "Reverberating Shield",
- sortname : "Reverberating Shield",
- source : ["VSoS", 316],
- type : "armor (shield)",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- shieldAdd : ["Reverberating Shield", 3, 6],
- description : "+1 bonus to AC. While holding, whenever a crea. misses me with a melee wea. atk., it must make a DC 15 Dex save or drop its wea. 15 ft from me. If it can't be dropped, instead, disadv. on all wea. atks until end of its turn.",
- descriptionFull : "While holding this shield, you have a +1 bonus to AC. This bonus is in addition to the shield’s normal bonus to AC. Whenever a creature misses you with a melee weapon attack while you are holding this shield, it must succeed a DC 15 Dexterity saving throw. On a failure, the creature drops its weapon, which is thrown 15 feet away from you. If the weapon can’t be dropped, such as a dragon’s bite or claws, the attacker instead has disadvantage on all weapon attacks until the end of its turn.",
- };
- MagicItemsList["ring of barrels"] = {
- name : "Ring of Barrels",
- sortname : "Ring, Barrels",
- source : ["VSoS", 316],
- type : "ring",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- usages : 6,
- action : ["action", ""],
- recovery : "dawn",
- additional : "regains 1d6",
- description : "6 charges, use an action and spend 1-3 charges: Summon 1-3 barrels adjacent to me. Barrels can be moved as an action and/or used as 3/4 cover by Medium crea. Can summon around a Medium or smaller crea.; DC 22 Str check to escape; see book.",
- descriptionFull : "This ring has 6 charges and regains 1d6 expended charges daily at dawn. While wearing the ring, you can use an action and expend 1 to 3 of its charges to summon a number of empty barrels in spaces adjacent to you equal to the number of charges expended. The barrels are large, fully 6-feet high and 4-feet in diameter, occupying the same space as a Medium creature and providing three-quarters cover from ranged attacks. Barrels weigh 150 pounds and can be moved with an action.\n You can summon the barrel around incapacitated Medium creatures, restraining them, or around Small or smaller creatures, trapping them inside. A creature can break free of a barrel by making a DC 22 Strength check.",
- };
- MagicItemsList["ring of icebergs"] = {
- name : "Ring of Icebergs",
- sortname : "Ring, Icebergs",
- source : ["VSoS", 316],
- type : "ring",
- rarity : "very rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 1,
- recovery : "dawn",
- action : [["bonus action", ""],["bonus action", " (dismiss)"],["reaction",""]],
- description : "1 bonus action, or reaction to being hit by an attacker I can see: I'm encased alone in an iceberg with AC 10 and 100 HP for 1 min. Takes as much of triggering dmg. as possible. Imm. to cold/poison/psy, vuln. to fire. Dismiss as bonus action.",
- descriptionFull : "As a bonus action, or a reaction to being hit by an attacker you can see, you can spin the ring’s jewel, causing it to expand into a hollow block of clear ice that completely surrounds you. This iceberg occupies your space and pushes creatures within your space to the nearest unoccupied area, ending any grapple in which you are involved. There is enough room within the iceberg to move around, but you can’t move more than 6 inches in any direction. Spells and other magical effects can’t extend through the iceberg or be cast through it.\n The iceberg is an object with AC 10 and 100 HP. If it was activated as a reaction, it takes as much of the triggering damage as possible. The iceberg has immunity to cold, poison, and psychic damage, and vulnerability to fire damage. The icy tomb lasts for up to 1 minute, until it is destroyed, or until you use a bonus action to cease the jewel’s spinning.\n Once you spin the ring to create an iceberg, you can’t do so again until the following dawn.",
- };
- MagicItemsList["ring of salvation"] = {
- name : "Ring of Salvation",
- sortname : "Ring, Salvation",
- source : ["VSoS", 316],
- type : "ring",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- usages : 1,
- recovery : "dawn",
- description : "If I fail a saving throw while attuned to this ring, I can choose to succeed on it instead. Once I use this ability, I can’t do so again until the next dawn.",
- descriptionFull : "If you fail a saving throw while attuned to this ring, you can choose to succeed it instead. Once you use this ability, you can’t do so again until the next dawn.",
- };
- MagicItemsList["sandstone solution"] = {
- name : "Sandstone Solution",
- sortname : "Sandstone Solution",
- source : ["VSoS", 316],
- type : "potion",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Pour out to turn 10-ft. rad. area of stone to 10-ft. deep mud, or mud/sand/quicksand into solid stone, for 1 hr. Stone has AC 17, 75 HP, imm. to poison/psy. dmg. Crea. in mud when it changes, DC 14 Dex save or restrained; DC 20 Str check or 25 dmg. to escape.",
- descriptionFull : "You can pour this substance on the ground as an action. If poured onto stone, a 10-foot deep, 10-foot radius portion of the stone becomes mud for 1 hour.\n When poured into mud, sand, or quicksand, a 10-foot deep, 10-foot-radius region of the material become solid stone for 1 hour. The stone has AC 17, 75 HP, and immunity to psychic and poison damage. Any creature inside it when it becomes stone must make a DC 14 Dexterity saving throw or be restrained. The restrained creature can break free by succeeding on a DC 20 Strength check or by dealing 25 damage to the stone. This sandlike substance flows about its container like a fluid.",
- };
- MagicItemsList["scroll of duplication"] = {
- name : "Scroll of Duplication",
- sortname : "Scroll, Duplication",
- source : ["VSoS", 316],
- type : "scroll",
- rarity : "common",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Use an action and touch this scroll to an object with writing to instantly copy up to 500 nonmagical words of my choice. Does not copy images, and does not trigger traps normally triggered by reading the material.",
- descriptionFull : "This blank scroll is imbued with enchantments that enable it to copy text from another source. As an action, you can touch the scroll of duplication to an object that contains writing. The scroll instantaneously copies up to 500 consecutive words from the source material (you can choose which section if the source material is longer than this), creating a perfect duplicate of the original text. The scroll only copies nonmagical text, not illustrations or magical writings (such as the contents of a spellbook or a glyph of warding). If the source contains a mixture of magical writing, illustrations, and nonmagical text, only the nonmagical text is copied, leaving blank space where illustrations and magical writing would be expected. Using the scroll doesn’t activate magical traps that trigger upon reading the source material.",
- };
- MagicItemsList["skitterlegs"] = {
- name : "Skitterlegs",
- sortname : "Skitterlegs",
- source : ["VSoS", 317],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "When I'm knocked out or paralyzed, these legs will extend and keep me upright. Attacks against me don't auto-crit. They make Str/Dex checks/saves with a +5. They have a walking speed of 30 feet and will either Defend or Eliminate on my turn (see book).",
- descriptionFull : "Worn like a backpack, these brass and mithral legs deploy when you’re knocked out or paralyzed. A series of switches allows you to program the legs with either the “Defend” or “Eliminate” setting, as well as a list of friendly creatures in order of priority.\n Whenever you are paralyzed or knocked unconscious (except when unconscious due to nonmagical sleep), the skitterlegs deploy, lifting your body from the ground. While the legs are deployed, you don’t count as being prone. Attacks made against you while the legs are deployed aren’t critical hits, even though you are paralyzed or unconscious. The legs make Strength and Dexterity checks and saving throws with a +5 modifier.\n The legs have a walking speed of 30 feet. On each of your turns while you are paralyzed or unconscious, the legs behave according to their settings:\n DEFEND: The legs take the Dodge or Disengage action (your choice when you program the legs) and move toward the highest-priority friendly creature who is still conscious.\n ELIMINATE: The legs move toward the nearest hostile creature and make two melee attacks with an attack bonus of +7. On a hit, the legs deal 1d8 + 2 piercing damage. If you regain consciousness or recover from paralysis, the legs set you back on your feet before retracting. The legs can function for one cumulative hour each day. If this duration is exceeded, the legs collapse and drop you prone.",
- };
- MagicItemsList["smoking pipe of dragon's breath"] = {
- name : "Smoking Pipe of Dragon's Breath",
- sortname : "Smoking Pipe, Dragon's Breath",
- source : ["VSoS", 317],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- action : ["action", "Dragon's Breath"],
- usages : 2,
- recovery : "dawn",
- additional : "regains 1",
- description : "2 charges; while it has 1 ounce of smoking herb, spend 1 charge and use 1 action to breathe fire. Creatures in a 30-ft. cone: DC 15 Dex save or 8d6 fire dmg, success: half dmg. Regains 1 charge at dawn.",
- descriptionFull : "This pipe has 2 charges and regains 1 expended charge daily at dawn. If the pipe is full of one ounce of smoking herb, you can use an action and expend 1 charge to inhale deeply from it and exhale dragon’s flame. Each creature in a 30-foot-radius cone must make a DC 15 Dexterity saving throw or take 8d6 fire damage, or half as much on a successful one.",
- };
- MagicItemsList["sorting beast"] = {
- name : "Sorting Beast",
- sortname : "Sorting Beast",
- source : ["VSoS", 317],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- action : ["action", " (Identify)"],
- usages : 1,
- recovery : "dawn",
- description : "Activate as an action: Machine will sort loose valuables within 100 feet until finished or deactivated as a bonus action. It can appraise items and print values on a paper strip. 1/day, it can cast Identify on an object, using no M components.",
- descriptionFull : "The sorting beast is a six-legged machine with eyes, legs, and antennae at both ends, as well as an array of measuring devices near its center. It can manipulate and hold objects up to 30 pounds in weight.\n When activated as an action, the sorting beast sets about collecting and sorting all loose valuable items within 100 feet. It sorts all gold pieces, silver pieces, and copper pieces into neat stacks of 10. For material goods, such as precious stones, the sorting beast can appraise value by weight and quality, before sorting the goods appropriately and printing the results on a fine paper strip. The sorting beast continues sorting until finished or deactivated as an action.\n Additionally, the sorting beast can cast the spell identify, without using material components, on one object you designate each day.",
- };
- MagicItemsList["switch amalgam"] = {
- name : "Switch Amalgam",
- sortname : "Switch Amalgam",
- source : ["VSoS", 318],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "Requires attunement by a craftsman",
- prereqeval : function(v) { return classes.known.craftsman; },
- allowDuplicates : false,
- /* NOTE:
- Not sure how to automate this or if it's even worth trying. I suggest just adding +1 to the name of weapons if they get the bonus, which should auto-calculate the proper bonus. The Switch property shouldn't affect the automation, so just make a note of which weapons are granted it.
- */
- description : "Spend 1 minute to attach to a weapon, or remove from one, up to two at a time. While attached to two, both become magical, and each gains +1 unless already magical with a bonus. Each also becomes a Switch weapon; swap freely which weapon is being used, even between attacks.",
- descriptionFull : "This mixture of mithral, quicksilver, and platinum molds easily and adheres to steel, allowing a trained craftsman to make unique compound weapons. While attuned to the amalgam, you can spend a minute heating the amalgam and carefully attaching it to a weapon or removing it from one. The amalgam can be attached to two weapons at a time. Once attached to two weapons, the weapons become magical, and each gains a +1 bonus to its attack and damage rolls, unless it is a magic weapon that already has a bonus to those rolls.\n Additionally, each weapon gains the Switch property. A switch weapon has two forms; you can swap between which weapon is being used at any time, even between attacks. Unlike other switch weapons, weapons unified with the amalgam do not become exotic weapons.",
- };
- MagicItemsList["thornbow"] = {
- name : "Thornbow",
- sortname : "Thornbow",
- source : ["VSoS", 318],
- type : "weapon (any bow)",
- rarity : "rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- usages : 6,
- recovery : "dawn",
- additional : "regains 1d4+2",
- action : [["bonus action", "Bramblestrike"],["bonus action","Splinterstrike"],["action","Overgrowth Volley (3 chgs)"]],
- description : "6 charges, regain 1d4+2 at dawn. Use bonus action and spend 1 charge to create Bramblestrike or Splinterstrike arrow, or use action and spend 3 charges to fire Overgrowth Volley. See book for details.",
- descriptionFull : "This magic weapon has 6 charges and regains 1d4 + 2 charges daily at dawn. As a bonus action, you can expend a charge to cause a thorny arrow to grow from the bow, choosing whether it is a Bramblestrike or Splinterstrike arrow. You can also spend three charges as an action to fire an Overgrowth Volley.\n BRAMBLESTRIKE: On a hit, this magic arrow deals the weapon’s normal damage, and the target must succeed on a DC 15 Strength saving throw or become restrained by magical vines for up to 1 minute. A restrained creature can use its action to make a DC 15 Strength check, freeing itself on a success.\n SPLINTERSTRIKE: On a hit, this magic arrow deals the weapon’s normal damage, and then erupts in a storm of splinters and thorns. Each creature within 5 feet of the target must succeed on a DC 15 Dexterity saving throw or take 1d10 piercing damage.\n OVERGROWTH VOLLEY: Three thick-limbed, thorny arrows grow from the bow and fire at a point you choose that you can see within 120 feet of you. Where the arrows land, a mass of syklthorn brambles grow, creating an effect identical to the wall of thorns spell, dealing 4d8 damage instead of 7d8.",
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "prefix",
- descriptionChange : ["replace", "bow"],
- excludeCheck : function (inObjKey, inObj) {
- var testRegex = /bow/i;
- return !(testRegex).test(inObjKey) && (!inObj.baseWeapon || !(testRegex).test(inObj.baseWeapon));
- }
- },
- };
- MagicItemsList["tome of tongues"] = {
- name : "Tome of Tongues",
- sortname : "Tome, Tongues",
- source : ["VSoS", 318],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This book concerns a specific language. Spend 8 hours over 2 or fewer days studying and practicing with the book to learn to read, write, and speak the language. The book then loses its magic forever.",
- descriptionFull : "This book contains grammar and vocabulary for a specific language, and its words are charged with magic. If you spend 8 hours over a period of 2 days or fewer studying the book’s contents and practicing its guidelines, you learn to read, write, and speak whatever language it concerns. The tome then loses its magic forever.",
- };
- MagicItemsList["totem of enmity"] = {
- name : "Totem of Enmity",
- sortname : "Totem, Enmity",
- source : ["VSoS", 318],
- type : "wondrous item",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Use an action to break this rod while speaking the name of a creature I am familiar with: Permanently gain advantage on attack rolls against that creature. Effects ends if the creature dies or I break another Totem of Enmity.",
- descriptionFull : "This wooden rod is engraved with evil symbols and hateful curses in all languages. As an action, you can break the rod while speaking the name of a creature you are familiar with to swear vengeance against that creature. You indefinitely have advantage on attack rolls against the named creature. This effect ends if you break another totem of enmity or the creature dies.",
- };
- MagicItemsList["treant's bane"] = {
- name : "Treant's Bane",
- sortname : "Treant's Bane",
- source : ["VSoS", 318],
- type : "weapon (any axe or sword)",
- rarity : "rare",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "This weapon deals an extra 2d6 damage to Plants, and ignores the damage threshold of objects made of wood, vines, and other naturally-grown materials.",
- descriptionFull : "If you hit a Plant with this weapon, the Plant takes an extra 2d6 damage of the weapon’s type. This weapon ignores the damage threshold of objects made of wood, vines, or other naturally grown materials.",
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "prefix",
- descriptionChange : ["replace", "weapon"],
- excludeCheck : function (inObjKey, inObj) {
- var testRegex = /sword|scimitar|rapier|axe|zweihander|cleaver|blade|foil|dervish|cutlass|estoc|katana|khopesh|machete/i;
- return !(testRegex).test(inObjKey) && (!inObj.baseWeapon || !(testRegex).test(inObj.baseWeapon));
- }
- },
- calcChanges : {
- atkAdd : [
- function (fields, v) {
- if (!v.theWea.isMagicWeapon && v.isMeleeWeapon && (/sword|scimitar|rapier|axe|zweihander|cleaver|blade|foil|dervish|cutlass|estoc|katana|khopesh|machete/i).test(v.baseWeaponName) && (/treant/i).test(v.WeaponTextName)) {
- v.theWea.isMagicWeapon = true;
- fields.Description = fields.Description.replace(/(, |; )?Counts as magical/i, '');
- fields.Description += (fields.Description ? '; ' : '') + '+2d6 to Plants';
- }
- },
- "If I include the word 'Treant' in the name of a sword or axe, it will be treated as the magic weapon Treant's Bane. It deals an extra 2d6 damage to Plants."
- ],
- }
- };
- MagicItemsList["troll rod"] = {
- name : "Troll Rod",
- sortname : "Troll Rod",
- source : ["VSoS", 318],
- type : "weapon (mace)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- weaponsAdd : ["Mace +1"],
- action : [["bonus action", " (pick up item)"],["bonus action", " (drop item)"],["bonus action", " (make fist)"]],
- description : "As a bonus action, use a command word to cause this troll arm to pick up items, drop them, or make a fist. As a fist, it acts as a +1 mace",
- descriptionFull : "This uncouth pommel has a troll’s arm attached—still living—to one end. As a bonus action, you can issue it commands in the troll dialect of Giant to pick up items, drop them, or make a fist (typical command words include “grabbit,” “leggo,” and “maik’a’fist.”) If closed into a fist, the rod acts as a magic mace, and you have a +1 bonus to attack and damage rolls made using it.",
- };
- MagicItemsList["universal knocker"] = {
- name : "Universal Knocker",
- sortname : "Universal Knocker",
- source : ["VSoS", 319],
- type : "wondrous item",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : false,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- action : ["action", ""],
- usages : 1,
- recovery : "dawn",
- description : "I can use my action to hold this brass door knocker against an object to cast the knock spell targeting the object. The knocker can’t be used this way again until the next dawn.",
- descriptionFull : "You can use your action to hold this brass door knocker against an object to cast the knock spell targeting the object. The knocker can’t be used this way again until the next dawn.",
- };
- MagicItemsList["weapon charm"] = {
- name : "Weapon Charm",
- sortname : "Weapon Charm",
- source : ["VSoS", 319],
- type : "wondrous item",
- notLegalAL : true,
- attunement : true,
- /* NOTE:
- This item does not actually require attunement as written, but attaches to a weapon and makes the weapon require attunement if it didn't already. Rules issues will arise if used with a magical weapon that already requires attunement.
- */
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- description : "Use an action to attach a charm to a weapon, causing the weapon to become magical and require attunement. Even if I was already attuned, I must attune again. Each charm gives unique effects.",
- descriptionFull : "A weapon charm is a small ornament fixed on a loop of string or chain. You can use your action to attach the charm on a weapon, usually on the weapon’s pommel, causing the weapon to become a magic weapon that requires attunement. Even if the weapon was already magical, you must attune to it again to gain the charm’s magical benefits, which are listed in the charm’s description. A weapon can only have one charm attached at a time.",
- choices : ['bat (uncommon)', 'blade (uncommon)', 'die (uncommon)', 'feather (common)', 'ghost (common)', 'hook (common)', 'lance (uncommon)', 'lightning bolt (uncommon)', 'mirror (rare)'],
- "bat (uncommon)" : {
- name : "Bat (Uncommon)",
- description : "While attached to a weapon, damage the weapon deals to a creature also reduces the creature's maximum hit points. If this reduces the hit point maximum to 0, the creature dies.",
- descriptionFull : "This obsidian charm appears like a shrieking bat. While attached, when you deal damage to a creature with this weapon, its hit point maximum is reduced by an amount equal to the damage taken. This reduction lasts until the creature finishes a long rest. The creature dies if this effect reduces its hit point maximum to 0.",
- },
- "blade (uncommon)" : {
- name : "Blade (Uncommon)",
- description : "While attached to a weapon, the weapon gets a +1 bonus to attack and damage rolls unless it was already a magic weapon with a bonus to those rolls.",
- descriptionFull : "This adamantine charm is shaped like a miniature longsword. While attached, you have a +1 bonus to attack and damage rolls made with this magic weapon. This bonus doesn’t apply to magical weapons that already have a bonus to attack and damage rolls.",
- },
- "die (uncommon)" : {
- name : "Die (Uncommon)",
- description : "While attached to a weapon, on a critical hit with it, damage dice that roll their maximum values are rolled again and added to the total, up to twice the number of dice initially rolled.",
- descriptionFull : "This silver charm depicts a six-sided die. While attached, the weapon deals more potent critical hits. When you score a critical hit, if you roll the maximum number on any damage die, you can roll an extra damage die and add its damage to the total, rolling again if this die is also the maximum number, and so on. You can roll a total number of damage dice for this critical hit equal to twice the number of damage dice you initially rolled.",
- },
- "feather (common)" : {
- name : "Feather (Common)",
- description : "While attached to a weapon, the weapon's weight is halved, and SMall creatures can use it effectively even if it has the Heavy property.",
- descriptionFull : "This gold charm of a feather feels unusually light. While attached, this weapon weighs half as much as usual. Small creatures can effectively use the weapon, even if it has the Heavy property.",
- },
- "ghost (common)" : {
- name : "Ghost (Common)",
- description : "While attached to a weapon, the weapon can affect creatures on the Ethereal Plane as if on the Material, and vice versa.",
- descriptionFull : "This crystal charm is carved into the shape of a wispy spirit. While attached, the weapon can affect creatures on the Ethereal Plane as if they were on the Material Plane, and vice versa.",
- },
- "hook (common)" : {
- name : "Hook (Common)",
- action : ["bonus action", ""],
- description : "While attached to a weapon, if the weapon and I are on the same plane of existence, I can use a bonus action to teleport it to my hand.",
- descriptionFull : "This bronze charm is shaped like a fishing hook. When attached, if the weapon is on the same plane of existence, you can use your bonus action to teleport it to your hand.",
- },
- "lance (uncommon)" : {
- name : "Lance (Uncommon)",
- description : "While attached to a weapon, once on each of my turns when using the weapon to make a melee attack, I can lunge forward up to 15 feet first without provoking opportunity attacks. I can do this even through the air, though I fall afterward if not on solid ground.",
- descriptionFull : "This copper charm depicts a short lance. While attached, once on each of your turns when you make a melee attack with this weapon against a creature you can see, you can lunge up to 15 feet toward your target before making the attack. This movement doesn’t provoke opportunity attacks. You can perform this movement even if it causes you to travel through the air, though you fall after making the attack if you do not land on solid ground.",
- },
- "lightning bolt (uncommon)" : {
- name : "Lightning Bolt (Uncommon)",
- //Not at all sure how to automate this, or if it's even possible?
- description : "While attached to a weapon, the weapon deals an extra 1d6 lightning damage on a hit.",
- descriptionFull : "This mithral charm depicts a wild lightning bolt. While attached, this weapon deals an extra 1d6 lightning damage to any target it hits.",
- },
- "mirror (rare)" : {
- name : "Mirror (Rare)",
- description : "Can only be attached to Light weapons. While attached, when I draw the weapon with one hand, a spectral copy appears in my other hand. The copy doesn't have ammunition but is otherwise identical, including magic effects. If either weapon leaves my hand, the duplicate vanishes.",
- descriptionFull : "This shiny platinum charm depicts an elegant hand mirror. This charm can only be attached to a weapon with the Light property. When attached, when you draw the weapon with one hand, a spectral duplicate of the weapon appears in your other hand. This spectral duplicate has identical statistics to the original weapon, including its magical effects, but doesn’t include ammunition. When the attached weapon or its spectral duplicate leaves your hand, the duplicate vanishes.",
- },
- };
- MagicItemsList["weapon for dummies"] = {
- name : "Weapon for Dummies",
- sortname : "Weapon, Dummies",
- source : ["VSoS", 319],
- type : "weapon (any martial)",
- rarity : "uncommon",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : true,
- usages : 3,
- recovery : "dawn",
- description : "I am proficient with this weapon. 3 charges, regains all at dawn. When I miss with an attack with this weapon, spend a charge to add +5 to the attack roll, potentially causing it to hit. The weapon congratulates me when I hit, and berates me when I miss.",
- descriptionFull : "While attuned to this magic weapon, you have proficiency in it. This weapon has 3 charges and regains all expended charges daily at dawn. When you miss an attack with this weapon, you can expend a charge to gain a +5 bonus to the attack roll, potentially causing the attack to hit. The weapon congratulates you when you hit an enemy, and condescendingly berates you when you miss.",
- calcChanges : {
- atkAdd : [
- function (fields, v) {
- if (((v.theWea.isMagicWeapon || v.thisWeapon[1]) && (/^(?=.*dummies).*$/i).test(v.WeaponTextName))) {
- fields.Proficiency = true;
- }
- },
- 'If I include the word "Dummies" in the name of a weapon, it will be treated as the magic weapon Weapon for Dummies. I am automatically proficient in it.'
- ]
- },
- chooseGear : {
- type : "weapon",
- prefixOrSuffix : "prefix",
- descriptionChange : ["replace", "weapon"],
- itemName1stPage : ["prefix", "for Dummies"],
- excludeCheck : function (inObjKey, inObj) {
- return !(/martial/i).test(inObj.type);
- },
- },
- };
- MagicItemsList["wooden coin of lies"] = {
- name : "Wooden Coin of Lies",
- sortname : "Wooden Coin, Lies",
- source : ["VSoS", 319],
- type : "wondrous item",
- rarity : "very rare",
- notLegalAL : true,
- attunement : true,
- weight : 0,
- prerequisite : "",
- allowDuplicates : false,
- description : "I am constantly under the effect of the Glibness spell, but the coin is cursed and can only be unattuned with Remove Curse or similar magic. While attuned, I can't deliberately speak truth. I don't have to lie outright, as long as my words are deceptive (e.g. lie by omission, half-truths, etc.).",
- descriptionFull : "While attuned to this coin, you are constantly under the effect of the Glibness spell.\n CURSE: This coin is cursed; attuning to it extends its curse to you. You can only break attunement to the coin with the remove curse spell or similar magic. While attuned to the coin, you can’t deliberately speak the truth. You can be evasive in your wording, lie by omission, or speak half-truths, as long as your words remain within the boundaries of deception.",
- };
Add Comment
Please, Sign In to add comment