from .spells import Spell class GaseousForm(Spell): """You transform a willing creature you touch, along with everything it’s wearing and carrying, into a misty cloud for the duration. The spell ends if the creature drops to 0 hit points. An incorporeal creature isn’t affected. While in this form, the target’s only method of movement is a flying speed of 10 feet. The target can enter and occupy the space of another creature. The target has resistance to nonmagical damage, and it has advantage on Strength, Dexterity, and Constitution saving throws. The target can pass through small holes, narrow openings, and even mere cracks, though it treats liquids as though they were solid surfaces. The target can’t fall and remains hovering in the air even when stunned or otherwise incapacitated. While in the form of a misty cloud, the target can’t talk or manipulate objects, and any objects it was carrying or holding can’t be dropped, used, or otherwise interacted with. The target can’t attack or cast spells. """ name = "Gaseous Form" level = 3 casting_time = "1 action" casting_range = "Touch" components = ('V', 'S', 'M') materials = """A bit of gauze and a wisp of smoke""" duration = "Concentration, up to 1 hour" ritual = False magic_school = "Transmutation" classes = ('Sorcerer', 'Warlock', 'Wizard') class Gate(Spell): """You conjure a portal linking an unoccupied space you can see within range to a precise location on a different plane of existence. The portal is a circular opening, which you can make 5 to 20 feet in diameter. You can orient the portal in any direction you choose. The portal lasts for the duration. The portal has a front and a back on each plane where it appears. Travel through the portal is possible only by moving through its front. Anything that does so is instantly transported to the other plane, appearing in the unoccupied space nearest to the portal. Deities and other planar rulers can prevent portals created by this spell from opening in their presence or anywhere within their domains. When you cast this spell, you can speak the name of a specific creature (a pseudonym, title, or nickname doesn’t work). If that creature is on a plane other than the one you are on, the portal opens in the named creature’s immediate vicinity and draws the creature through it to the nearest unoccupied space on your side of the portal. You gain no special power over the creature, and it is free to act as the Dm deems appropriate. It might leave, attack you, or help you. """ name = "Gate" level = 9 casting_time = "1 action" casting_range = "60 feet" components = ('V', 'S', 'M') materials = """A diamond worth at least 5,000 gp""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Conjuration" classes = ('Cleric', 'Sorcerer', 'Wizard') class Geas(Spell): """You place a magical command on a creature that you can see within range, forcing it to carry out some service or refrain from some action or course of actiity as you decide. If the creature can understand you, it must succeed on a Wisdom saving throw or become charmed by you for the duration. While the creature is charmed by you, it takes 5d10 psychic damage each time it acts in a manner directly counter to your instructions, but no more than once each day. A creature that can’t understand you is unaffected by the spell. You can issue any command you choose, short of an activity that would result in certain death. Should you issue a suicidal command, the spell ends. You can end the spell early by using an action to dismiss it. A remove curse, greater restoration, or wish spell also ends it. At Higher Levels: When you cast this spell usinga spell slot of 7th or 8th level, the duration is 1 year. When you cast this spell using a spell slot of 9th level, the spell lasts until it is ended by one of the spells mentioned above. """ name = "Geas" level = 5 casting_time = "1 minute" casting_range = "60 feet" components = ('V',) materials = """""" duration = "30 days" ritual = False magic_school = "Enchantment" classes = ('Bard', 'Cleric', 'Druid', 'Paladin', 'Wizard') class GentleRepose(Spell): """You touch a corpse or other remains. For the duration, the target is protected from decay and can’t become undead. The spell also effectively extends the time limit on raising the target from the dead, since days spent under the influence of this spell don’t count against the time limit of spells such as raise dead. """ name = "Gentle Repose" level = 2 casting_time = "1 action" casting_range = "Touch" components = ('V', 'S', 'M') materials = """A pinch of salt and one copper piece placed on each of the corpse’s eyes, which must remain there for the duration""" duration = "10 days" ritual = True magic_school = "Necromancy" classes = ('Cleric', 'Wizard') class GiantInsect(Spell): """You transform up to ten centipedes, three spiders, five wasps, or one scorpion within range into giant versions of their natural forms for the duration. A centipede becomes a giant centipede, a spider becaomes a giant spider, a wasp becomes a giant wasp, and a scorpion becomes a giant scorpion. Each creature obeys your verbal commands, and in combat, they act on your turn each round. The DM has the statistics for these creatures and resolves their actions and movement. A creature remains in its giant size for the duration, until it drops to 0 hit points, or until you use an action to dismiss the effect on it. The DM might allow you to choose different targets. For example, if you transform a bee, its giant version might have the same statistics as a giant wasp. """ name = "Giant Insect" level = 4 casting_time = "1 action" casting_range = "30 feet" components = ('V', 'S') materials = """""" duration = "Concentration, up to 10 minutes" ritual = False magic_school = "Transmutation" classes = ('Druid',) class Glibness(Spell): """Until the spell ends, when you make a Charisma check, you can replace the number you roll with a 15. Additionally, no matter what you say, magic that would determine if you are telling the truth indicates that you are being truthful. """ name = "Glibness" level = 8 casting_time = "1 action" casting_range = "Self" components = ('V',) materials = """""" duration = "1 hour" ritual = False magic_school = "Transmutation" classes = ('Bard', 'Warlock') class GlobeOfInvulnerability(Spell): """An immobile, faintly shimmering barrier springs into existence in a 10-foot radius around you and remains for the duration. Any spell of 5th level or lower cast from outside the barrier can’t affect creatures or objects within it, even if the spell is cast using a higher level spell slot. Such a spell can target creatures and objects within the barrier, but the spell has no effect on them. Similarly, the area within the barrier is excluded from the areas affected by such spells. At Higher Levels: When you cast this spell using a spell slot of 7th level or higher, the barrier blocks spells of one level higher for each slot level above 6th. """ name = "Globe Of Invulnerability" level = 6 casting_time = "1 action" casting_range = "Self (10-foot radius)" components = ('V', 'S', 'M') materials = """A glass or crystal bead that shatters when the spell ends""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Abjuration" classes = ('Sorcerer', 'Wizard') class GlyphOfWarding(Spell): """When you cast this spell, you inscribe a glyph that harms other creatures, either upon a surface (such as a table or a section of floor or wall) or within an object that can be closed (such as a book, a scroll, or a treasure chest) to conceal the glyph. If you choose a surface, the glyph can cover an area of the surface no larger than 10 feet in diameter. If you choose an object, that object must remain in its place; if the object is moved more than 10 feet from where you cast this spell, the glyph is broken, and the spell ends without being triggered. The glyph is nearly invisible and requires a successful Intelligence (Investigation) check against your spell save DC to be found. You decide what triggers the glyph when you cast the spell. For glyphs inscribed on a surface, the most typical triggers include touching or standing on the glyph, removing another object covering the glyph, approaching within a certain distance of the glyph, or manipulating the object on which the glyph is inscribed. For glyphs inscribed within an object, the most common triggers include opening that object, approaching within a certain distance of the object, or seeing or reading the glyph. Once a glyph is triggered, this spell ends. You can further refine the trigger so the spell activates only under certain circumstances or according to physical characteristics (such as height or weight), creature kind (for example, the ward could be set to affect aberrations or drow), or alignment. You can also set conditions for creatures that don’t trigger the glyph, such as those who say a certain password. When you inscribe the glyph, choose explosive runes or a spell glyph. Explosive Runes When triggered, the glyph erupts with magical energy in a 20-foot-radius sphere centered on the glyph. The sphere spreads around corners. Each creature in the area must make a Dexterity saving throw. A creature takes 5d8 acid, cold, fire, lightning, or thunder damage on a failed saving throw (your choice when you create the glyph), or half as much damage on a successful one. Spell Glyph You can store a prepared spell of 3rd level or lower in the glyph by casting it as part of creating the glyph. The spell must target a single creature or an area. The spell being stored has no immediate effect when cast in this way. When the glyph is triggered, the stored spell is cast. If the spell has a target, it targets the creature that triggered the glyph. If the spell affects an area, the area is centered on that creature. If the spell summons hostile creatures or creates harmful objects or traps, they appear as close as possible to the intruder and attack it. If the spell requires concentration, it lasts until the end of its full duration. At Higher Levels: """ name = "Glyph Of Warding" level = 3 casting_time = "1 hour" casting_range = "Touch" components = ('V', 'S', 'M') materials = """Incense and powdered diamond worth at least 200 gp, which the spell consumes""" duration = "Until dispelled or triggered" ritual = False magic_school = "Abjuration" classes = ('you', 'cast', 'this', 'spell', 'using', 'a', 'spell', 'slot', 'of', '4th', 'level', 'or', 'higher', 'the', 'damage', 'of', 'an', 'explosive', 'runes', 'glyph', 'increases', 'by', '1d8', 'for', 'each', 'slot', 'level', 'above', '3rd.', 'If', 'you', 'create', 'a', 'spell', 'glyph', 'you', 'can', 'store', 'any', 'spell', 'of', 'up', 'to', 'the', 'same', 'level', 'as', 'the', 'slot', 'you', 'use', 'for', 'the', 'glyph', 'of') class Goodberry(Spell): """Up to ten berries appear in your hand and are infused with magic for the duration. A creature can use its action to eat one berry. Eating a berry restores 1 hit point, and the berry provides enough nourishment to sustain a creature for one day. The berries lose their potency if they have not been consumed within 24 hours of the casting of this spell. """ name = "Goodberry" level = 1 casting_time = "1 action" casting_range = "Touch" components = ('V', 'S', 'M') materials = """A sprig of mistletoe""" duration = "Instantaneous" ritual = False magic_school = "Transmutation" classes = ('Druid', 'Ranger') class GraspingVine(Spell): """You conjure a vine that sprouts from the ground in an unoccupied space of your choice that you can see within range. When you cast this spell, you can direct the vine to lash out at a creature within 30 feet of it that you can see. That creature must succeed on a Dexterity saving throw or be pulled 20 feet directly toward the vine. Until the spell ends, you can direct the vine to lash out at the same creature or another one as a bonus action on each of your turns. """ name = "Grasping Vine" level = 4 casting_time = "1 bonus action" casting_range = "30 feet" components = ('V', 'S') materials = """""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Conjuration" classes = ('Druid', 'Ranger') class Grease(Spell): """Slick grease covers the ground in a 10-foot square centered on a point within range and turns it into difficult terrain for the duration. When the grease appears, each creature standing in its area must succeed on a Dexterity saving throw or fall prone. A creature that enters the area or ends its turn there must also succeed on a Dexterity saving throw or fall prone. """ name = "Grease" level = 1 casting_time = "1 action" casting_range = "60 feet" components = ('V', 'S', 'M') materials = """A bit of pork rind or butter""" duration = "1 minute" ritual = False magic_school = "Conjuration" classes = ('Wizard',) class GreaterInvisibility(Spell): """You or a creature you touch becomes invisible until the spell ends. Anything the target is wearing or carrying is invisible as long as it is on the target’s person. """ name = "Greater Invisibility" level = 4 casting_time = "1 action" casting_range = "Touch" components = ('V', 'S') materials = """""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Illusion" classes = ('Bard', 'Sorcerer', 'Wizard') class GreaterRestoration(Spell): """You imbue a creature you touch with positive energy to undo a debilitating effect. You can reduce the target’s exhaustion level by one, or end one of the following effects on the target: * One effect that charmed or petrified the target * One curse, including the target’s attunement to a cursed magic item * Any reduction to one of the target’s ability scores * One effect reducing the target’s hit point maximum """ name = "Greater Restoration" level = 5 casting_time = "1 action" casting_range = "Touch" components = ('V', 'S', 'M') materials = """Diamond dust worth at least 100 gp, which the spell consumes""" duration = "Instantaneous" ritual = False magic_school = "Abjuration" classes = ('Bard', 'Cleric', 'Druid') class GreenFlameBlade(Spell): """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 attack's normal effects, and green fire leaps from the target to a different creature of your choice that you can see within 5 feet of it. The second creature takes fire damage equal to your spellcasting ability modifier. This spell's damage increases when you reach higher levels. At Higher Levels: At 5th level, the melee attack deals an extra 1d8 fire damage to the target, and the fire damage to the second creature increases to 1d8 + your spellcasting ability modifier. Both damage rolls increase by 1d8 at 11th level and 17th level. """ name = "Green-Flame Blade" level = 0 casting_time = "1 action" casting_range = "5 feet" components = ('V', 'M') materials = """A weapon""" duration = "Instantaneous" ritual = False magic_school = "Evocation" classes = ('Sorcerer', 'Warlock', 'Wizard') class GuardianOfFaith(Spell): """A Large spectral guardian appears and hovers for the duration in an unoccupied space of your choice that you can see within range. The guardian occupies that space and is indistinct except for a gleaming sword and shield emblazoned with the symbol of your deity. Any creature hostile to you that moves to a space within 10 feet of the guardian for the firs time on a turn must succeed on a Dexterity saving throw. The creature takes 20 radiant damage on a failed save, or half as much damage on a successful one. The guardian vanishes when it has dealt a total of 60 damage. """ name = "Guardian Of Faith" level = 4 casting_time = "1 action" casting_range = "30 feet" components = ('V',) materials = """""" duration = "8 hours" ritual = False magic_school = "Conjuration" classes = ('Cleric',) class GuardianOfNature(Spell): """A nature spirit answers your call and transforms you into a powerful guardian. The transformation lasts until the spell ends. You choose one of the following forms to assume: Primal Beast or Great Tree. Primal Beast. Bestial fur covers your body, your facial features become feral, and you gain the following benefits: - Your walking speed increases by 10 feet. - You gain darkvision with a range of 120 feet. - You make Strength—based attack rolls with advantage. - Your melee weapon attacks deal an extra 1d6 force damage on a hit. Great Tree. Your skin appears barky, leaves sprout from your hair, and you gain the following benefits: . You gain 10 temporary hit points. - You make Constitution saving throws with advantage. - You make Dexterity- and Wisdom-based attack rolls with advantage. - While you are on the ground, the ground within 15 feet of you is difficult terrain for your enemies. """ name = "Guardian Of Nature" level = 4 casting_time = "1 bonus action" casting_range = "Self" components = ('V',) materials = """""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Transmutation" classes = ('Druid', 'Ranger') class GuardsAndWards(Spell): """You create a ward that protects up to 2,500 square feet of floor space (an area 50 feet square, or one hundred 5-foot squares or twenty-five 10-foot squares). The warded area can be up to 20 feet tall, and shaped as you desire. You can ward several stories of a stronghold by dividing the area among them, as long as you can walk into each contiguous area while you are casting the spell. When you cast this spell, you can specify individuals that are unaffected by any or all of the effects that you choose. You can also specify a password that, when spoken aloud, makes the speaker immune to these effects. Guards and wards creates the following effects within the warded area. Corridors Fog fills all the warded corridors, making them heavily obscured. In addition, at each intersection or branching passage offering a choice of direction, there is a 50 percent chance that a creature other than you will believe it is going in the opposite direction from the one it chooses. Doors All doors in the warded area are magically locked, as if sealed by an arcane lock spell. In addition, you can cover up to ten doors with an illusion (equivalent to the illusory object function of the m inor illusion spell) to make them appear as plain sections of wall. Stairs Webs fill all stairs in the warded area from top to bottom, as the web spell. These strands regrow in 10 minutes if they are burned or torn away while guards and wards lasts. Other Spell Effect You can place your choice of one of the following magical effects within the warded area of the stronghold. • Place dancing lights in four corridors. You can designate a simple program that the lights repeat as long as guards and wards lasts. • Place magic mouth in two locations. • Place stinking cloud in two locations. The vapors appear in the places you designate; they return within 10 minutes if dispersed by wind while guards and wards lasts. • Place a constant gust of wind in one corridor or room. • Place a suggestion in one location. You select an area of up to 5 feet square, and any creature that enters or passes through the area receives the suggestion mentally. The whole warded area radiates magic. A dispel magic cast on a specific effect, if successful, removes only that effect. You can create a permanently guarded and warded structure by casting this spell there every day for one year. """ name = "Guards And Wards" level = 6 casting_time = "10 minutes" casting_range = "Touch" components = ('V', 'S', 'M') materials = """Burning incense, a small measure of brimstone and oil, a knotted string, a small amount of umber hulk blood, and a small silver rod worth at least 10 gp""" duration = "24 hours" ritual = False magic_school = "Abjuration" classes = ('Bard', 'Wizard') class Guidance(Spell): """You touch one willing creature. Once before the spell ends, the target can roll a d4 and add the number rolled to one ability check of its choice. It can roll the die before or after making the ability check. The spell then ends. """ name = "Guidance" level = 0 casting_time = "1 action" casting_range = "Touch" components = ('V', 'S') materials = """""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Divination" classes = ('Cleric', 'Druid') class GuidingBolt(Spell): """A flash of light streaks toward a creature of your choice within range. Make a ranged spell attack against the target. On a hit, the target takes 4d6 radiant damage, and the next attack roll made against this target before the end of your next turn has advantage, thanks to the mystical dim light glittering on the target until then. At Higher Levels: 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. """ name = "Guiding Bolt" level = 1 casting_time = "1 action" casting_range = "120 feet" components = ('V', 'S') materials = """""" duration = "1 round" ritual = False magic_school = "Evocation" classes = ('Cleric',) class Gust(Spell): """You seize the air and compel it to create one of the following effects at a point you can see within range: • One Medium or smaller creature that you choose must succeed on a Strength saving throw or be pushed up to 5 feet away from you. • You create a small blast of air capable of moving one object that is neither held nor carried and that weighs no more than 5 pounds. The object is pushed up to 10 feet away from you. It isn’t pushed with enough force to cause damage. • You create a harmless sensory affect using air, such as causing leaves to rustle, wind to slam shutters shut, or your clothing to ripple in a breeze. """ name = "Gust" level = 0 casting_time = "1 action" casting_range = "30 feet" components = ('V', 'S') materials = """""" duration = "Instantaneous" ritual = False magic_school = "Transmutation" classes = ('Druid', 'Sorcerer', 'Wizard') class GustOfWind(Spell): """A line of strong wind 60 feet long and 10 feet wide blasts from you in a direction you choose for the spell’s duration. Each creature that starts its turn in the line must succeed on a Strength saving throw or be pushed 15 feet away from you in a direction following the line. Any creature in the line must spend 2 feet of movement for every 1 foot it moves when moving closer to you. The gust disperses gas or vapor, and it extinguishes candles, torches, and similar unprotected flames in the area. It causes protected flames, such as those of lanterns, to dance wildly and has a 50 percent chance to extinguish them. As a bonus action on each of your turns before the spell ends, you can change the direction in which the line blasts from you. """ name = "Gust Of Wind" level = 2 casting_time = "1 action" casting_range = "Self (60-foot line)" components = ('V', 'S', 'M') materials = """A legume seed""" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Evocation" classes = ('Druid', 'Sorcerer', 'Wizard')