from dungeonsheets.spells.spells import Spell class OtilukesFreezingSphere(Spell): """A frigid globe of cold energy streaks from your fingertips to a point of your choice within range, where it explodes in a 60-foot-radius sphere. Each creature within the area must make a Constitution saving throw. On a failed save, a creature takes 10d6 cold damage. On a successful save, it takes half as much damage. If the globe strikes a body of water or a liquid that is principally water (not including water-based creatures), it freezes the liquid to a depth of 6 inches over an area 30 feet square. This ice lasts for 1 minute. Creatures that were swimming on the surface of frozen water are trapped in the ice. A trapped creature can use an action to make a Strength check against your spell save DC to break free. You can refrain from firing the globe after completing the spell, if you wish. A small globe about the size of a sling stone, cool to the touch, appears in your hand. At any time, you or a creature you give the globe to can throw the globe (to a range of 40 feet) or hurl it with a sling (to the sling's normal range). It shatters on impact, with the same effect as the normal casting of the spell. You can also set the globe down without shattering it. After 1 minute, if the globe hasn't already shattered, it explodes. At Higher Levels: When you cast this spell using a spell slot of 7th level or higher, the damage increases by 1d6 for each slot level above 6th """ name = "Otilukes Freezing Sphere" level = 6 casting_time = "1 action" casting_range = "300 feet" components = ("V", "S", "M") materials = "A small crystal sphere" duration = "Instantaneous" ritual = False magic_school = "Evocation" classes = ("Wizard",) class OtilukesResilientSphere(Spell): """A sphere of shimmering force encloses a creature or object of Large size or smaller within range. An unwilling creature must make a Dexterity saving throw. On a failed save, the creature is enclosed for the duration. Nothing---not physical objects, energy, or other spell effects---can pass through the barrier, in or out, though a creature in the sphere can breathe there. The sphere is immune to all damage, and a creature or object inside can't be damaged by attacks or effects originating from outside, nor can a creature inside the sphere damage anything outside it. The sphere is weightless and just large enough to contain the creature or object inside. An enclosed creature can use its action to push against the sphere's walls and thus roll the sphere at up to half the creature's speed. Similarly, the globe can be picked up and moved by other creatures. A disintegrate spell targeting the globe destroys it without harming anything inside it. """ name = "Otilukes Resilient Sphere" level = 4 casting_time = "1 action" casting_range = "30 feet" components = ("V", "S", "M") materials = ( "A hemispherical piece of clear crystal and a matching hemispherical piece of" " gum arabic" ) duration = "Concentration, up to 1 minute" ritual = False magic_school = "Evocation" classes = ("Wizard",) class OttosIrresistibleDance(Spell): """Choose one creature that you can see within range. The target begins a comic dance in place: shuffling, tapping its feet, and capering for the duration. Creatures that can't be charmed are immune to this spell. A dancing creature must use all its movement to dance without leaving its space and has disadvantage on Dexterity saving throws and attack rolls. While the target is affected by this spell, other creatures have advantage on attack rolls against it. As an action, a dancing creature makes a Wisdom saving throw to regain control of itself. On a successful save, the spell ends. """ name = "Ottos Irresistible Dance" level = 6 casting_time = "1 action" casting_range = "30 feet" components = ("V",) materials = "" duration = "Concentration, up to 1 minute" ritual = False magic_school = "Enchantment" classes = ("Bard", "Wizard")