Difference between revisions of "Module:Table of spells"

From CrawlWiki
Jump to: navigation, search
(0.19.0, new script, new format: https://github.com/plampila/crawl-wiki-modules)
(Add summons limits.)
Line 382: Line 382:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 1
 
   },
 
   },
 
   ["Call Imp"] = {
 
   ["Call Imp"] = {
Line 404: Line 405:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 3
 
   },
 
   },
 
   ["Cause Fear"] = {
 
   ["Cause Fear"] = {
Line 1,788: Line 1,790:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 3
 
   },
 
   },
 
   Necromutation = {
 
   Necromutation = {
Line 2,244: Line 2,247:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 4
 
   },
 
   },
 
   Shatter = {
 
   Shatter = {
Line 2,449: Line 2,453:
 
       Conjuration = true,
 
       Conjuration = true,
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 1
 
   },
 
   },
 
   ["Spider Form"] = {
 
   ["Spider Form"] = {
Line 2,662: Line 2,667:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 8
 
   },
 
   },
 
   ["Summon Demon"] = {
 
   ["Summon Demon"] = {
Line 2,685: Line 2,691:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 3
 
   },
 
   },
 
   ["Summon Forest"] = {
 
   ["Summon Forest"] = {
Line 2,727: Line 2,734:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 3
 
   },
 
   },
 
   ["Summon Guardian Golem"] = {
 
   ["Summon Guardian Golem"] = {
Line 2,746: Line 2,754:
 
       Hexes = true,
 
       Hexes = true,
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 1
 
   },
 
   },
 
   ["Summon Horrible Things"] = {
 
   ["Summon Horrible Things"] = {
Line 2,768: Line 2,777:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 8
 
   },
 
   },
 
   ["Summon Hydra"] = {
 
   ["Summon Hydra"] = {
Line 2,789: Line 2,799:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 3
 
   },
 
   },
 
   ["Summon Ice Beast"] = {
 
   ["Summon Ice Beast"] = {
Line 2,810: Line 2,821:
 
       Ice = true,
 
       Ice = true,
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 3
 
   },
 
   },
 
   ["Summon Lightning Spire"] = {
 
   ["Summon Lightning Spire"] = {
Line 2,838: Line 2,850:
 
       Air = true,
 
       Air = true,
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 1
 
   },
 
   },
 
   ["Summon Mana Viper"] = {
 
   ["Summon Mana Viper"] = {
Line 2,860: Line 2,873:
 
       Hexes = true,
 
       Hexes = true,
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 2
 
   },
 
   },
 
   ["Summon Small Mammal"] = {
 
   ["Summon Small Mammal"] = {
Line 2,879: Line 2,893:
 
     schools = {
 
     schools = {
 
       Summoning = true
 
       Summoning = true
     }
+
     },
 +
    ["summons limit"] = 4
 
   },
 
   },
 
   Swiftness = {
 
   Swiftness = {

Revision as of 13:04, 23 November 2016

Module:Table of spells is a Lua module which contains information used by Module:Spell. If you want to add new Lua functions to process this page, write them in Module:Spell.

To generate this script, see https://github.com/jkornelsen/crawl-wiki-modules. Or, update it by hand.


-- Table of spells (0.19.0-2-gae57169)
return {
  Agony = {
    books = {
      ["book of Death"] = true
    },
    description = "Cuts the resilience of a target creature in half. This damage is never directly lethal.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 5,
    name = "Agony",
    noise = {
      casting = 4,
      effect = 2
    },
    ["power cap"] = 50,
    quote = "“Unbearable, isn't it? The suffering of strangers, the agony of friends. There is a secret song at the center of the world, Joey, and its sound is like razors through flesh.”\n    -Pinhead, _Hellraiser 3: Hell on Earth_. 1992.",
    range = {
      max = 7,
      min = 7
    },
    rarity = 11,
    schools = {
      Necromancy = true
    }
  },
  Airstrike = {
    books = {
      ["book of the Sky"] = true
    },
    description = "Causes the air around a creature to twist itself into a whirling vortex of meteorological fury. It is especially effective against flying enemies.",
    flags = {
      NOT_SELF = true,
      TARGET = true
    },
    level = 4,
    name = "Airstrike",
    noise = {
      casting = 2,
      effect = 4
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    rarity = 10,
    schools = {
      Air = true
    }
  },
  ["Alistair's Intoxication"] = {
    books = {
      ["book of Alchemy"] = true,
      ["book of Party Tricks"] = true,
      ["Young Poisoner's Handbook"] = true
    },
    description = "Converts a small portion of the brain matter of those around you into alcohol, confusing all intelligent humanoids within view (although poison-resistant creatures may resist the effects). The caster may experience vertigo briefly as a result of making contact with other minds. It is frequently used as an icebreaker at wizard parties.",
    flags = {},
    level = 5,
    name = "Alistair's Intoxication",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 5,
    schools = {
      Poison = true,
      Transmutation = true
    }
  },
  ["Animate Dead"] = {
    books = {
      ["book of Necromancy"] = true,
      ["book of Unlife"] = true
    },
    description = "Reanimates all corpses and skeletons in the vicinity as followers. This magic is unstable, so eventually those reanimated will crumble to dust. Zombies and skeletons cannot leave the level they were created on.",
    flags = {
      AREA = true,
      CORPSE_VIOLATING = true,
      NEUTRAL = true,
      UTILITY = true
    },
    level = 4,
    name = "Animate Dead",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 3,
    schools = {
      Necromancy = true
    }
  },
  ["Animate Skeleton"] = {
    books = {
      ["book of Cantrips"] = true,
      ["book of Necromancy"] = true
    },
    description = "Reanimates a single skeleton as a follower, even if that skeleton is still encased in flesh. This magic is unstable, so eventually those reanimated will crumble to dust. Skeletons cannot leave the level they were created on.",
    flags = {
      CORPSE_VIOLATING = true,
      UTILITY = true
    },
    level = 1,
    name = "Animate Skeleton",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 1,
    schools = {
      Necromancy = true
    }
  },
  Apportation = {
    books = {
      ["book of Cantrips"] = true,
      ["book of Party Tricks"] = true
    },
    description = "Pulls the top item or group of similar items from a distant pile to the floor near the caster. With low power, items might not be moved all the way to the caster's position.\n\nExtremely powerful magical items, such as the Orb of Zot, may actively resist the pull of this spell.",
    flags = {
      NOT_SELF = true,
      OBJ = true,
      TARGET = true
    },
    level = 1,
    name = "Apportation",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 1000,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Translocation = true
    }
  },
  ["Aura of Abjuration"] = {
    books = {
      ["book of Summonings"] = true
    },
    description = "Continuously abjures hostile summoned creatures in the vicinity of the caster. This reduces their remaining time before being sent back where they came from.",
    flags = {
      AREA = true,
      ESCAPE = true,
      NEUTRAL = true
    },
    level = 5,
    name = "Aura of Abjuration",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 11,
    schools = {
      Summoning = true
    }
  },
  ["Beastly Appendage"] = {
    books = {
      ["book of Changes"] = true
    },
    description = "Temporarily replaces one or a pair of the caster's appendages with an animal counterpart, giving them an extra attack. It is not powerful enough to meld armour or enhance appendages that are already nonhuman.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true
    },
    level = 1,
    name = "Beastly Appendage",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 50,
    rarity = 2,
    schools = {
      Transmutation = true
    }
  },
  ["Blade Hands"] = {
    books = {
      ["book of Changes"] = true
    },
    description = "Causes long, scythe-shaped blades to grow from the caster's hands. It makes spellcasting somewhat difficult.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true,
      UTILITY = true
    },
    level = 5,
    name = "Blade Hands",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 2,
    schools = {
      Transmutation = true
    }
  },
  Blink = {
    books = {
      ["book of Minor Magic"] = true,
      ["book of Spatial Translocations"] = true
    },
    description = "Randomly translocates the caster a short distance.",
    flags = {
      EMERGENCY = true,
      ESCAPE = true,
      SELFENCH = true,
      UTILITY = true
    },
    level = 2,
    name = "Blink",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 1,
    schools = {
      Translocation = true
    }
  },
  ["Bolt of Cold"] = {
    books = {
      ["book of Ice"] = true
    },
    description = "Fires a penetrating bolt of frost.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 6,
    name = "Bolt of Cold",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 5
    },
    rarity = 10,
    schools = {
      Conjuration = true,
      Ice = true
    }
  },
  ["Bolt of Draining"] = {
    books = {
      ["book of Death"] = true
    },
    description = "Fires a penetrating bolt of negative energy, which drains any living creature it strikes.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 5,
    name = "Bolt of Draining",
    noise = {
      casting = 2,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 5
    },
    rarity = 11,
    schools = {
      Conjuration = true,
      Necromancy = true
    }
  },
  ["Bolt of Fire"] = {
    books = {
      ["book of Fire"] = true,
      ["book of the Dragon"] = true
    },
    description = "Fires a penetrating bolt of flames.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 6,
    name = "Bolt of Fire",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 6,
      min = 6
    },
    rarity = 10,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Bolt of Magma"] = {
    books = {
      ["book of Power"] = true,
      ["book of the Earth"] = true
    },
    description = "Fires a penetrating bolt of molten rock. A portion of its damage bypasses fire resistance.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 5,
    name = "Bolt of Magma",
    noise = {
      casting = 5,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    rarity = 6,
    schools = {
      Conjuration = true,
      Earth = true,
      Fire = true
    }
  },
  ["Borgnjor's Revivification"] = {
    books = {
      Necronomicon = true
    },
    description = "Instantly heals any and all wounds suffered by the caster, but also permanently lessens their resilience to injury, to a degree dependent on (and inversely related to) power.\n\nIt is powerful enough to literally pull someone out of Death's Door, although the shock will briefly confuse and paralyse the caster. It has no effect on the undead.",
    flags = {
      UTILITY = true
    },
    level = 8,
    name = "Borgnjor's Revivification",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = -1,
    schools = {
      Necromancy = true
    }
  },
  ["Call Canine Familiar"] = {
    books = {
      ["book of Beasts"] = true,
      ["book of Callings"] = true
    },
    description = "Summons a solitary canine to the caster's aid.",
    flags = {},
    level = 3,
    name = "Call Canine Familiar",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    quote = "“There seemed a strange stillness over everything. But as I listened, I heard as if from down below in the valley the howling of many wolves. The Count's eyes gleamed, and he said.\n\n‘Listen to them, the children of the night. What music they make!’ Seeing, I suppose, some expression in my face strange to him, he added, ‘Ah, sir, you dwellers in the city cannot enter into the feelings of the hunter.’”\n    -Bram Stoker, _Dracula_. 1897.",
    rarity = 3,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 1
  },
  ["Call Imp"] = {
    books = {
      ["book of Callings"] = true,
      ["book of Minor Magic"] = true
    },
    description = "Calls forth a minor demon from the pits of Hell.",
    flags = {
      SELFENCH = true,
      UNHOLY = true
    },
    level = 2,
    name = "Call Imp",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 1,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 3
  },
  ["Cause Fear"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Enchantments"] = true,
      ["book of the Dragon"] = true
    },
    description = "Causes fear in those near to the caster. Adventurers suffering from this effect find that extremely loud noises, such as those produced by lightning or scrolls of noise, will disrupt it, as will leaving the caster's line of sight.",
    flags = {
      AREA = true,
      MR_CHECK = true
    },
    level = 4,
    name = "Cause Fear",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    quote = "“And when Miranda sang\n Everyone turned away\n Used to the noose, they obey”\n    -The Mars Volta, “Miranda That Ghost Just Isn't Holy Anymore”. 2005.",
    range = {
      max = 7,
      min = 7
    },
    rarity = 5,
    schools = {
      Hexes = true
    }
  },
  ["Chain Lightning"] = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Releases a massive electrical discharge that arcs from target to target until it grounds out. It may ground out harmlessly if there are no targets sufficiently close to the caster. Its damage partially bypasses armour.",
    flags = {
      AREA = true
    },
    level = 8,
    name = "Chain Lightning",
    noise = {
      casting = 8,
      effect = 25
    },
    ["power cap"] = 200,
    quote = "“The trouble ain't that there is too many fools,\n but that the lightning ain't distributed right.”\n    -traditionally attributed to Samuel Clemens",
    rarity = -1,
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Cigotuvi's Embrace"] = {
    books = {
      ["book of Unlife"] = true
    },
    description = "Violently mutilates all nearby corpses, wrapping them around the caster to serve as both armour and shield. The carrion will fall away over time, faster and faster as more is piled on, though increased power will tighten its grasp on the caster's body. It has no effect on casters in Statue Form, or with Ozocubu's Armour active.",
    flags = {
      CHAOTIC = true,
      CORPSE_VIOLATING = true,
      NO_GHOST = true,
      UTILITY = true
    },
    level = 5,
    name = "Cigotuvi's Embrace",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 10,
    schools = {
      Necromancy = true
    }
  },
  Confuse = {
    books = {
      ["book of Maledictions"] = true,
      ["book of Misfortune"] = true
    },
    description = "Induces a state of bewilderment and confusion in a creature's mind.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true
    },
    level = 3,
    name = "Confuse",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Hexes = true
    }
  },
  ["Confusing Touch"] = {
    books = {
      ["book of Cantrips"] = true,
      ["book of Misfortune"] = true
    },
    description = "Enchants the caster's dominant hand with magical energy. This energy is released when the caster touches a monster with their bare hand, and may induce a state of confusion in the monster.",
    flags = {},
    level = 1,
    name = "Confusing Touch",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    rarity = 1,
    schools = {
      Hexes = true
    }
  },
  ["Conjure Ball Lightning"] = {
    books = {
      ["book of the Sky"] = true
    },
    description = "Creates a pack of ball lightnings, which seek out the nearest enemy before exploding in a huge blast of electricity. Casters are advised to use caution; the lightning is not mindful of what it may hit.\n\nThe magic which keeps ball lightnings cohesive has limited range, so they may dissipate harmlessly if allowed to drift too far away from their caster before exploding.",
    flags = {
      SELFENCH = true
    },
    level = 6,
    name = "Conjure Ball Lightning",
    noise = {
      casting = 6,
      effect = 25
    },
    ["power cap"] = 200,
    rarity = 10,
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Conjure Flame"] = {
    books = {
      ["book of Clouds"] = true,
      ["book of Flames"] = true,
      ["book of Minor Magic"] = true
    },
    description = "Creates a column of roaring flame in a targeted empty location.",
    flags = {
      NOT_SELF = true,
      TARGET = true
    },
    level = 3,
    name = "Conjure Flame",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 100,
    range = {
      max = 3,
      min = 3
    },
    rarity = 1,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Control Undead"] = {
    books = {
      ["book of Necromancy"] = true,
      ["book of Unlife"] = true
    },
    description = "Enslaves any undead in the vicinity of the caster.",
    flags = {
      MR_CHECK = true
    },
    level = 4,
    name = "Control Undead",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 3,
    schools = {
      Necromancy = true
    }
  },
  ["Controlled Blink"] = {
    books = {
      ["book of the Warp"] = true
    },
    description = "Translocates the caster a short distance, with precise control. Be wary that controlled translocations will cause the subject to become contaminated with magical energy.",
    flags = {
      EMERGENCY = true,
      ESCAPE = true,
      UTILITY = true
    },
    level = 8,
    name = "Controlled Blink",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 15,
    schools = {
      Translocation = true
    }
  },
  Corona = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Maledictions"] = true
    },
    description = "Causes a halo of glowing light to surround and effectively outline a creature. This glow offsets the dark, musty atmosphere of the dungeon, and makes the affected creature appreciably easier to hit.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 1,
    name = "Corona",
    noise = {
      casting = 1,
      effect = 2
    },
    ["power cap"] = 40,
    range = {
      max = 7,
      min = 7
    },
    rarity = 2,
    schools = {
      Hexes = true
    }
  },
  ["Corpse Rot"] = {
    books = {
      ["book of Death"] = true,
      ["Fen Folio"] = true
    },
    description = "Rapidly accelerates the decomposition of any corpses lying around the caster, emitting in the process a foul miasmic vapour, which eats away at the life force of any creature it envelops.",
    flags = {
      AREA = true,
      NEUTRAL = true,
      UNCLEAN = true
    },
    level = 2,
    name = "Corpse Rot",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 11,
    schools = {
      Necromancy = true
    }
  },
  Darkness = {
    books = {
      ["book of Burglary"] = true,
      ["book of Dreams"] = true
    },
    description = "Dims the light of the dungeon, reducing the range of vision.",
    flags = {},
    level = 6,
    name = "Darkness",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    quote = "“If I must die, I will encounter darkness as a bride,\n     And hug it in my arms.”\n    -William Shakespeare, “Measure for Measure”",
    rarity = 12,
    schools = {
      Hexes = true
    }
  },
  ["Dazzling Spray"] = {
    books = {
      ["book of Conjurations"] = true,
      ["book of Maledictions"] = true
    },
    description = "Fires a spread of scintillating energy bolts from the caster's fingertips. Any living creature they strike may be dazzled and left stumbling blindly.",
    flags = {
      DIR_OR_TARGET = true,
      NOT_SELF = true
    },
    level = 3,
    name = "Dazzling Spray",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 5
    },
    rarity = 2,
    schools = {
      Conjuration = true,
      Hexes = true
    }
  },
  ["Death Channel"] = {
    books = {
      ["book of Unlife"] = true
    },
    description = "Raises living creatures slain by the caster and their allies, reducing them to a state of spectral slavery.",
    flags = {
      HELPFUL = true,
      UTILITY = true
    },
    level = 6,
    name = "Death Channel",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 10,
    schools = {
      Necromancy = true
    }
  },
  ["Death's Door"] = {
    books = {
      Necronomicon = true
    },
    description = "Renders the caster nigh invulnerable to harm for a brief period, but brings them dangerously close to death in the process. So close, in fact, that the body believes itself to be dead — healing effects will do nothing.\n\nThe caster will receive one warning shortly before the spell expires. With high power, the caster will be left more resilient when the effect ends. It has no effect on those who are already undead.",
    flags = {
      EMERGENCY = true,
      NO_GHOST = true,
      UTILITY = true
    },
    level = 8,
    name = "Death's Door",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = -1,
    schools = {
      Charms = true,
      Necromancy = true
    }
  },
  ["Deflect Missiles"] = {
    books = {
      ["book of Enchantments"] = true,
      ["book of the Sky"] = true
    },
    description = "Protects the caster from all kinds of projectile attacks, making them significantly easier to dodge. It is highly effective against both single-target and penetrating attacks. Each time a missile is deflected the spell has a chance of expiring, with a lower chance of expiry at high power.",
    flags = {
      HELPFUL = true,
      UTILITY = true
    },
    level = 6,
    name = "Deflect Missiles",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 7,
    schools = {
      Air = true,
      Charms = true
    }
  },
  ["Delayed Fireball"] = {
    books = {
      ["book of Fire"] = true
    },
    description = "Gives the caster the ability to instantaneously release a fireball at a later time. Knowing this spell allows the learner to memorise Fireball for no additional spell levels.",
    flags = {
      UTILITY = true
    },
    level = 7,
    name = "Delayed Fireball",
    noise = {
      casting = 7,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 10,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  Discord = {
    books = {
      ["book of Enchantments"] = true
    },
    description = "Drives nearby creatures into an insane frenzy, causing them to mercilessly attack anything and everything nearby with great strength and speed.",
    flags = {
      AREA = true,
      HASTY = true
    },
    level = 8,
    name = "Discord",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 7,
    schools = {
      Hexes = true
    }
  },
  Disjunction = {
    books = {
      ["book of the Warp"] = true
    },
    description = "Destabilizes the space in a sphere around the caster for a while, causing anyone nearby to blink away from the caster. The chance of blinking depends on the distance from the caster, being nearly certain when directly adjacent. It causes magical contamination when cast.",
    flags = {
      ESCAPE = true,
      UTILITY = true
    },
    level = 8,
    name = "Disjunction",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 15,
    schools = {
      Translocation = true
    }
  },
  ["Dispel Undead"] = {
    books = {
      ["book of Death"] = true
    },
    description = "Harms an undead creature greatly by interfering with the forces binding it together.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 5,
    name = "Dispel Undead",
    noise = {
      casting = 4,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    rarity = 11,
    schools = {
      Necromancy = true
    }
  },
  Dispersal = {
    books = {
      ["book of the Warp"] = true
    },
    description = "Teleports away any creatures within a short distance of the caster. Any creature that resists the effect will still be irresistibly blinked a shorter distance, and any monster it affects at all has a chance of being confused by the warping of space.",
    flags = {
      AREA = true,
      ESCAPE = true
    },
    level = 6,
    name = "Dispersal",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 4,
      min = 1
    },
    rarity = 15,
    schools = {
      Translocation = true
    }
  },
  ["Dragon Form"] = {
    books = {
      ["book of the Dragon"] = true,
      ["book of Transfigurations"] = true
    },
    description = "Transforms the caster into a mighty, fire-breathing dragon.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true,
      UTILITY = true
    },
    level = 7,
    name = "Dragon Form",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 8,
    schools = {
      Transmutation = true
    }
  },
  ["Dragon's Call"] = {
    books = {
      ["book of the Dragon"] = true
    },
    description = "Issues a powerful call to a draconic realm, beckoning forth dragon after dragon to engage the summoner's enemies. The spell is taxing to maintain, and each new dragon which answers the call will further drain the summoner's magical reserves.",
    flags = {},
    level = 9,
    name = "Dragon's Call",
    noise = {
      casting = 7,
      effect = 15
    },
    ["power cap"] = 200,
    quote = "“This is where the dragons went.\n They lie...\n Not dead, not asleep. Not waiting, because waiting implies expectation.\n Possibly the word we're looking for here is...\n ...dormant.\n And although the space they occupy isn't like normal space, nevertheless\n   they are packed in tightly. Not a cubic inch there but is filled by a claw,\n   a talon, a scale, the tip of a tail, so the effect is like one of those\n   trick drawings and your eyeballs eventually realise that the space between\n   each dragon is, in fact, another dragon.\n They could put you in mind of a can of sardines, if you thought sardines\n   were huge and scaly and proud and arrogant.\n And presumably, somewhere, there's the key.”\n    -Terry Pratchett, “Guards! Guards!”. 1990.",
    rarity = 15,
    schools = {
      Summoning = true
    }
  },
  ["Ensorcelled Hibernation"] = {
    books = {
      ["book of Dreams"] = true,
      ["book of Maledictions"] = true
    },
    description = "Lowers its target's metabolic rate, inducing hibernation. After awakening, the target will be unable to be put to sleep again for some time.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 2,
    name = "Ensorcelled Hibernation",
    noise = {
      casting = 0,
      effect = 2
    },
    ["power cap"] = 50,
    quote = "“Sweet dreams are made of this; who am I to disagree?”\n    -Eurythmics, “Sweet Dreams (Are Made of This)”. 1983.",
    range = {
      max = 7,
      min = 7
    },
    rarity = 2,
    schools = {
      Hexes = true,
      Ice = true
    }
  },
  ["Excruciating Wounds"] = {
    books = {
      ["book of Death"] = true
    },
    description = "Temporarily infuses the weapon held by the caster with the essence of pain itself. It will not affect artefact weapons.",
    flags = {
      HELPFUL = true
    },
    level = 5,
    name = "Excruciating Wounds",
    noise = {
      casting = 4,
      effect = 15
    },
    ["power cap"] = 200,
    rarity = 11,
    schools = {
      Charms = true,
      Necromancy = true
    }
  },
  ["Fire Storm"] = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Calls forth a mighty storm of roaring flame directly onto the target, dealing damage in a large area and leaving behind short-lived fire vortices. A portion of its damage bypasses fire resistance.",
    flags = {
      AREA = true,
      NEEDS_TRACER = true,
      TARGET = true
    },
    level = 9,
    name = "Fire Storm",
    noise = {
      casting = 9,
      effect = 25
    },
    ["power cap"] = 200,
    quote = "“Some have said there is no subtlety to destruction. You know what? They're dead.”\n    -Jaya Ballard, task mage (Magic: the Gathering)",
    range = {
      max = 5,
      min = 5
    },
    rarity = -1,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  Fireball = {
    books = {
      ["book of Fire"] = true,
      ["book of Flames"] = true,
      ["book of the Tempests"] = true
    },
    description = "Hurls an explosive ball of fire. This spell does not cost any spell levels if the learner already knows Delayed Fireball.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 5,
    name = "Fireball",
    noise = {
      casting = 5,
      effect = 15
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 5
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Flame Tongue"] = {
    books = {
      ["book of Flames"] = true,
      ["book of the Dragon"] = true
    },
    description = "Creates a short burst of flame.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 1,
    name = "Flame Tongue",
    noise = {
      casting = 1,
      effect = 2
    },
    ["power cap"] = 40,
    range = {
      max = 5,
      min = 2
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Force Lance"] = {
    books = {
      ["book of the Warp"] = true
    },
    description = "Fires a shaft of concussive force. If the impact deals damage, it may knock the target back.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 4,
    name = "Force Lance",
    noise = {
      casting = 5,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 3,
      min = 3
    },
    rarity = 15,
    schools = {
      Conjuration = true,
      Translocation = true
    }
  },
  Freeze = {
    books = {
      ["book of Frost"] = true
    },
    description = "Freezes an adjacent creature. This may temporarily slow cold-blooded creatures.",
    flags = {
      DIR_OR_TARGET = true,
      NOT_SELF = true
    },
    level = 1,
    name = "Freeze",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 25,
    range = {
      max = 1,
      min = 1
    },
    rarity = 4,
    schools = {
      Ice = true
    }
  },
  ["Freezing Cloud"] = {
    books = {
      ["book of Clouds"] = true,
      ["book of Ice"] = true
    },
    description = "Conjures up a large cloud of lethally cold vapour.",
    flags = {
      AREA = true,
      CLOUD = true,
      NEEDS_TRACER = true,
      TARGET = true
    },
    level = 6,
    name = "Freezing Cloud",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    rarity = 6,
    schools = {
      Air = true,
      Conjuration = true,
      Ice = true
    }
  },
  ["Fulminant Prism"] = {
    books = {
      ["book of Conjurations"] = true,
      ["book of Power"] = true
    },
    description = "Conjures a prism which unleashes a violent explosion of arcane force after a short duration. The prism is extremely fragile and any damage caused to it may result in premature detonation.",
    flags = {
      AREA = true,
      NOT_SELF = true,
      TARGET = true
    },
    level = 4,
    name = "Fulminant Prism",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 4,
      min = 4
    },
    rarity = 3,
    schools = {
      Conjuration = true,
      Hexes = true
    }
  },
  ["Gell's Gravitas"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Misfortune"] = true,
      ["book of the Warp"] = true
    },
    description = "Briefly redirects gravity around a target point, causing 'down' to be towards that point. All nearby creatures, save the caster, fall helplessly toward that point – typically colliding with each other, or with a victim standing there.",
    flags = {
      NEEDS_TRACER = true,
      NOT_SELF = true,
      TARGET = true
    },
    level = 3,
    name = "Gell's Gravitas",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Hexes = true,
      Translocation = true
    }
  },
  Glaciate = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Conjures forth a mighty blast of ice. Creatures within its cone-shaped area of effect take damage, with higher damage being dealt to those close to the caster. Those hit by the blast are encased in ice, slowing their movement, and those killed by the blast may be frozen into solid blocks of ice. A significant portion of its damage bypasses cold resistance.",
    flags = {
      AREA = true,
      DIR_OR_TARGET = true,
      NOT_SELF = true
    },
    level = 9,
    name = "Glaciate",
    noise = {
      casting = 9,
      effect = 25
    },
    ["power cap"] = 200,
    range = {
      max = 6,
      min = 6
    },
    rarity = -1,
    schools = {
      Conjuration = true,
      Ice = true
    }
  },
  Haunt = {
    books = {
      Necronomicon = true
    },
    description = "Calls wraiths and ghosts to haunt the caster's target. They will only attack the creature they are haunting, and will dissipate quickly once their target dies.",
    flags = {
      MONS_ABJURE = true,
      NOT_SELF = true,
      TARGET = true
    },
    level = 7,
    name = "Haunt",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    rarity = -1,
    schools = {
      Necromancy = true,
      Summoning = true
    }
  },
  ["Hydra Form"] = {
    books = {
      ["book of Transfigurations"] = true,
      ["Fen Folio"] = true
    },
    description = "Transforms the caster into a many-headed hydra for a brief duration. Its many heads strike in all directions. Edible foes slain by the gnashing teeth are instantly devoured, reinvigorating the caster in their reptilian rampage.\n\nThe form's number of heads is fixed upon casting the spell, and increases with power.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true,
      UTILITY = true
    },
    level = 6,
    name = "Hydra Form",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 8,
    schools = {
      Transmutation = true
    }
  },
  ["Ice Form"] = {
    books = {
      ["book of Changes"] = true,
      ["book of Ice"] = true
    },
    description = "Transforms the caster into a frozen ice-creature, light enough to float on water. The caster becomes incredibly resistant to cold, and resistant to poison, but vulnerable to fire and unable to evoke wands.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true,
      UTILITY = true
    },
    level = 4,
    name = "Ice Form",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 2,
    schools = {
      Ice = true,
      Transmutation = true
    }
  },
  ["Ignite Poison"] = {
    books = {
      ["book of Alchemy"] = true,
      ["book of Fire"] = true
    },
    description = "Converts all nearby poison into liquid flame, burning poisoned creatures from within. It also turns clouds of poison and mephitic gases into flame. The caster is not affected directly.",
    flags = {
      AREA = true
    },
    level = 3,
    name = "Ignite Poison",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 10,
    schools = {
      Fire = true,
      Poison = true,
      Transmutation = true
    }
  },
  Infestation = {
    books = {
      Necronomicon = true
    },
    description = "Calls forth a plague of scarabs, infesting affected creatures for a duration depending on power and causing death scarabs to grow and burst from them upon death.",
    flags = {
      TARGET = true,
      UNCLEAN = true
    },
    level = 8,
    name = "Infestation",
    noise = {
      casting = 8,
      effect = 4
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    rarity = -1,
    schools = {
      Necromancy = true
    }
  },
  Infusion = {
    books = {
      ["book of Battle"] = true
    },
    description = "Infuses the caster's melee attacks with magic, drawing from their reserves of magical energy to deal additional damage whenever an enemy is hit. It has no effect when the caster's magic is depleted.",
    flags = {
      UTILITY = true
    },
    level = 1,
    name = "Infusion",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 25,
    rarity = 5,
    schools = {
      Charms = true
    }
  },
  ["Inner Flame"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Flames"] = true
    },
    description = "Fills an enemy with an intense fire, to be explosively released upon death. The size of the explosion caused is dependent on the size of the target.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEUTRAL = true,
      NOT_SELF = true
    },
    level = 3,
    name = "Inner Flame",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 4,
    schools = {
      Fire = true,
      Hexes = true
    }
  },
  Invisibility = {
    books = {
      ["book of Burglary"] = true,
      ["book of Party Tricks"] = true
    },
    description = "Turns a targeted creature invisible. Turning invisible causes magical contamination and may eventually cause glowing, nullifying the invisibility.",
    flags = {
      DIR_OR_TARGET = true,
      EMERGENCY = true,
      HELPFUL = true,
      NEEDS_TRACER = true,
      SELFENCH = true
    },
    level = 6,
    name = "Invisibility",
    noise = {
      casting = 0,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 7,
    schools = {
      Hexes = true
    }
  },
  ["Iron Shot"] = {
    books = {
      ["book of Power"] = true,
      ["book of the Earth"] = true
    },
    description = "Hurls a large and heavy metal shot.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 6,
    name = "Iron Shot",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    rarity = 6,
    schools = {
      Conjuration = true,
      Earth = true
    }
  },
  Irradiate = {
    books = {
      ["book of Alchemy"] = true,
      ["book of Transfigurations"] = true
    },
    description = "Transmutes an ultra-thin layer of the caster's skin (or equivalent) directly into pure magical energy, blasting and deforming adjacent creatures. The caster is not left entirely unaffected; some of the magic lingers, enough to leave them dangerously contaminated after a few castings.",
    flags = {
      AREA = true,
      CHAOTIC = true
    },
    level = 5,
    name = "Irradiate",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    quote = "“Reflex in the sky warn you you're gonna die\n Storm coming, you'd better hide from the atomic tide\n Flashes in the sky turns houses into sties\n Turns people into clay, radiation minds decay”\n    -Black Sabbath, “Electric Funeral”. 1970.",
    range = {
      max = 1,
      min = 1
    },
    rarity = 8,
    schools = {
      Conjuration = true,
      Transmutation = true
    }
  },
  ["Iskenderun's Battlesphere"] = {
    books = {
      ["book of Conjurations"] = true
    },
    description = "Conjures a small globe of magical energy linked to the caster's own magical reserves. While the battlesphere cannot take independent action, it will fire volleys of energy at the caster's enemies in sync with its creator's own destructive conjurations. With increasing power, the battlesphere lasts longer and deals more damage per volley.",
    flags = {
      UTILITY = true
    },
    level = 5,
    name = "Iskenderun's Battlesphere",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 100,
    quote = "“Maxim 4: Close air support covereth a multitude of sins.”\n    -Howard Tayler, _The Seventy Maxims of Maximally Effective Mercenaries_,\n     in _Schlock Mercenary_. 2008.",
    rarity = 3,
    schools = {
      Charms = true,
      Conjuration = true
    }
  },
  ["Iskenderun's Mystic Blast"] = {
    books = {
      ["book of Conjurations"] = true,
      ["book of Power"] = true
    },
    description = "Throws a crackling sphere of destructive energy. The sphere will sometimes explode on impact, and the chance of it doing so is higher if the sphere has traveled less distance.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 4,
    name = "Iskenderun's Mystic Blast",
    noise = {
      casting = 4,
      effect = 10
    },
    ["power cap"] = 50,
    range = {
      max = 6,
      min = 6
    },
    rarity = 3,
    schools = {
      Conjuration = true
    }
  },
  ["Leda's Liquefaction"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of the Earth"] = true,
      ["Fen Folio"] = true
    },
    description = "Liquefies the ground around the caster, making it difficult to move through. Any movement through liquefied ground will be slowed, and attempts to attack in melee may fail.\n\nThe effect starts out with a radius depending on power, which will then shrink, eventually covering only the caster, before it times out.",
    flags = {
      AREA = true
    },
    level = 4,
    name = "Leda's Liquefaction",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 5,
    schools = {
      Earth = true,
      Hexes = true
    }
  },
  ["Lee's Rapid Deconstruction"] = {
    books = {
      ["book of Burglary"] = true,
      ["book of Geomancy"] = true
    },
    description = "Fragments a wall or a suitably brittle visible monster into an explosion of deadly shrapnel. It can be used on monsters made of ice, bone, or any wall-like substance, as well as those turned to stone by petrification. Its damage is strongly reduced by armour.\n\nTargets made from rock, stone, ice or bone will cause a small or medium-sized explosion. Metal targets will cause a small but particularly damaging explosion, and targets made from crystal will cause a large and extremely damaging explosion.\n\nAt high power, this spell is capable of destroying some walls: rock, stone or metal walls have a chance of being destroyed with at least 5, 6 or 7 bars of power. Crystal walls are particularly brittle and have a chance of being destroyed at any power level.",
    flags = {
      TARGET = true
    },
    level = 5,
    name = "Lee's Rapid Deconstruction",
    noise = {
      casting = 4,
      effect = 20
    },
    ["power cap"] = 200,
    quote = "“Now the house was full of men and women; and all the lords of the Philistines were there; and there were upon the roof about three thousand men and women, that beheld while Samson made sport.\n\nAnd Samson called unto the LORD, and said, O Lord GOD, remember me, I pray thee, and strengthen me, I pray thee, only this once, O God, that I may be at once avenged of the Philistines for my two eyes.\n\nAnd Samson said, Let me die with the Philistines. And he bowed himself with all his might; and the house fell upon the lords, and upon all the people that were therein. So the dead which he slew at his death were more than they which he slew in his life.”\n    -KJV Bible, Judges 16:28-30.",
    range = {
      max = 7,
      min = 7
    },
    rarity = 4,
    schools = {
      Earth = true
    }
  },
  ["Lehudib's Crystal Spear"] = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Hurls a lethally sharp shard of crystal.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 8,
    name = "Lehudib's Crystal Spear",
    noise = {
      casting = 8,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 3,
      min = 3
    },
    rarity = -1,
    schools = {
      Conjuration = true,
      Earth = true
    }
  },
  ["Lesser Beckoning"] = {
    books = {
      ["book of Party Tricks"] = true,
      ["book of Spatial Translocations"] = true
    },
    description = "Beckons the target forward, attempting to place them adjacent to the caster.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 3,
    name = "Lesser Beckoning",
    noise = {
      casting = 2,
      effect = 2
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 2
    },
    rarity = 7,
    schools = {
      Translocation = true
    }
  },
  ["Lightning Bolt"] = {
    books = {
      ["book of Air"] = true,
      ["book of the Tempests"] = true
    },
    description = "Fires a mighty bolt of lightning. It inflicts less damage than other similar bolts, but its damage partially bypasses armour and it can be bounced off walls to hit targets twice.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 5,
    name = "Lightning Bolt",
    noise = {
      casting = 5,
      effect = 25
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 4
    },
    rarity = 4,
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Magic Dart"] = {
    books = {
      ["book of Conjurations"] = true,
      ["book of Minor Magic"] = true
    },
    description = "Fires a small bolt of magical energy which never misses.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 1,
    name = "Magic Dart",
    noise = {
      casting = 1,
      effect = 2
    },
    ["power cap"] = 25,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Conjuration = true
    }
  },
  ["Malign Gateway"] = {
    books = {
      ["Grand Grimoire"] = true
    },
    description = "Tears a gash in reality, creating a self-sustained but temporary portal to an unknown, tainted otherworld. It requires open space to succeed. After a short time, a powerful clawed tentacle will reach through the portal, remaining bound to the caster's will for a duration depending on power. With the portal's expiry, the tentacle will be severed and turn on the caster.",
    flags = {
      CHAOTIC = true,
      UNHOLY = true
    },
    level = 7,
    name = "Malign Gateway",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 100,
    schools = {
      Summoning = true,
      Translocation = true
    }
  },
  ["Mephitic Cloud"] = {
    books = {
      ["book of Clouds"] = true,
      ["book of Minor Magic"] = true,
      ["Young Poisoner's Handbook"] = true
    },
    description = "Conjures up a short-lived cloud of noxious fumes, which may cause confusion.",
    flags = {
      AREA = true,
      CLOUD = true,
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 3,
    name = "Mephitic Cloud",
    noise = {
      casting = 3,
      effect = 15
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    rarity = 1,
    schools = {
      Air = true,
      Conjuration = true,
      Poison = true
    }
  },
  ["Metabolic Englaciation"] = {
    books = {
      ["book of Ice"] = true,
      ["book of Misfortune"] = true
    },
    description = "Lowers the metabolic rate of every creature in the caster's vicinity, slowing all those who are not resistant to cold. Those especially vulnerable to cold will be affected much more strongly, and tougher creatures will be slowed for a shorter time.",
    flags = {
      AREA = true
    },
    level = 5,
    name = "Metabolic Englaciation",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 1,
    schools = {
      Hexes = true,
      Ice = true
    }
  },
  ["Monstrous Menagerie"] = {
    books = {
      ["Grand Grimoire"] = true
    },
    description = "Summons a powerful exotic creature to the caster's aid. It may call forth a harpy, manticore or lindwurm, and at high power may summon a sphinx, or an entire pack of harpies. With high power the individual creatures will also gain increased strength.",
    flags = {
      MONS_ABJURE = true
    },
    level = 7,
    name = "Monstrous Menagerie",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = -1,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 3
  },
  Necromutation = {
    books = {
      Necronomicon = true
    },
    description = "Transforms the caster into a lich — a powerful skeletal figure. The caster becomes more resistant to cold and hostile enchantments and completely immune to poison, rotting, negative energy and torment, and requires no food at all for the duration of the spell. The caster also gains some of the more dubious benefits of having an undead body, such as a vulnerability to holy weapons and an inability to consume potions.",
    flags = {
      CHAOTIC = true,
      CORPSE_VIOLATING = true,
      HELPFUL = true
    },
    level = 8,
    name = "Necromutation",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = -1,
    schools = {
      Necromancy = true,
      Transmutation = true
    }
  },
  ["Olgreb's Toxic Radiance"] = {
    books = {
      ["Young Poisoner's Handbook"] = true
    },
    description = "Causes the caster to radiate toxic energy, continuously inflicting poison on everything nearby for as long as the spell lasts.",
    flags = {
      AREA = true
    },
    level = 4,
    name = "Olgreb's Toxic Radiance",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 5,
    schools = {
      Poison = true
    }
  },
  ["Orb of Destruction"] = {
    books = {
      ["book of Power"] = true
    },
    description = "Conjures an orb made of pure destructive magic. Compared to most other projectiles, these orbs travel at a relatively slow pace. The orbs home onto their targets, yet because of their huge inertia, especially agile opponents may be able to outmanoeuvre them. The orbs need some time to stabilize, and a nascent orb will deal reduced damage.\n\nResidents of the dungeon are able to maintain the orb until it impacts a target, but when cast by you the orb will dissipate upon leaving your line of sight.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 7,
    name = "Orb of Destruction",
    noise = {
      casting = 7,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    rarity = 6,
    schools = {
      Conjuration = true
    }
  },
  ["Ozocubu's Armour"] = {
    books = {
      ["book of Frost"] = true
    },
    description = "Envelops the caster's body in a protective layer of thick ice. This will slow the caster's movement slightly, and provides no special protection against cold. The spell will not function for casters already wearing heavy armour (any body armour with an encumbrance rating of 5 or more).",
    flags = {
      NO_GHOST = true
    },
    level = 3,
    name = "Ozocubu's Armour",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 4,
    schools = {
      Charms = true,
      Ice = true
    }
  },
  ["Ozocubu's Refrigeration"] = {
    books = {
      ["book of Ice"] = true
    },
    description = "Drains heat from the caster and their surroundings, causing harm to all creatures not resistant to cold and preventing the caster from using potions for a brief duration.",
    flags = {
      AREA = true
    },
    level = 6,
    name = "Ozocubu's Refrigeration",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 10,
    schools = {
      Ice = true
    }
  },
  Pain = {
    books = {
      ["book of Necromancy"] = true
    },
    description = "Inflicts an extremely painful injury upon one living creature. The caster suffers minor damage from the backlash.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true
    },
    level = 1,
    name = "Pain",
    noise = {
      casting = 1,
      effect = 2
    },
    ["power cap"] = 25,
    range = {
      max = 5,
      min = 5
    },
    rarity = 3,
    schools = {
      Necromancy = true
    }
  },
  ["Passage of Golubria"] = {
    books = {
      ["book of Burglary"] = true,
      ["book of Spatial Translocations"] = true
    },
    description = "Opens two gateways (one always near the caster), which allow instantaneous transport to random other open gateways to any creature entering them. There is no limit to the number of gateways that can be open at one time, but a gateway will close when entered, or after a moderate amount of time.",
    flags = {
      ESCAPE = true,
      NEUTRAL = true,
      SELFENCH = true,
      TARGET = true
    },
    level = 4,
    name = "Passage of Golubria",
    noise = {
      casting = 3,
      effect = 8
    },
    ["power cap"] = 0,
    range = {
      max = 7,
      min = 7
    },
    rarity = 10,
    schools = {
      Translocation = true
    }
  },
  Passwall = {
    books = {
      ["book of Burglary"] = true,
      ["book of Geomancy"] = true
    },
    description = "Tunes the caster's body such that it can instantly pass through solid rock. It takes some time for the caster to attune to the rock, during which they will be helpless.",
    flags = {
      DIR = true,
      ESCAPE = true,
      NOT_SELF = true,
      UTILITY = true
    },
    level = 2,
    name = "Passwall",
    noise = {
      casting = 0,
      effect = 0
    },
    ["power cap"] = 200,
    quote = "“He says the best way out is always through.”\n    -Robert Frost, _A Servant to Servants_. 1915.",
    range = {
      max = 7,
      min = 1
    },
    rarity = 4,
    schools = {
      Earth = true,
      Transmutation = true
    }
  },
  Petrify = {
    books = {
      ["book of Alchemy"] = true,
      ["book of Geomancy"] = true,
      ["book of Misfortune"] = true
    },
    description = "Petrifies a targeted creature. If successful, the target is slowed down for a while until it is temporarily turned into stone. In this state, the target will take less damage upon being hit.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true
    },
    level = 4,
    name = "Petrify",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Earth = true,
      Transmutation = true
    }
  },
  ["Poison Arrow"] = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Fires a magical arrow coated with the most vile and noxious toxin. Even those resistant to poison will be poisoned by it, and a small portion of its direct damage bypasses poison resistance.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 6,
    name = "Poison Arrow",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 6,
      min = 6
    },
    rarity = -1,
    schools = {
      Conjuration = true,
      Poison = true
    }
  },
  ["Poisonous Cloud"] = {
    books = {
      ["book of Clouds"] = true
    },
    description = "Conjures forth a great cloud of lethal gases.",
    flags = {
      AREA = true,
      CLOUD = true,
      NEEDS_TRACER = true,
      TARGET = true
    },
    level = 6,
    name = "Poisonous Cloud",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    rarity = 6,
    schools = {
      Air = true,
      Conjuration = true,
      Poison = true
    }
  },
  ["Portal Projectile"] = {
    books = {
      ["book of Spatial Translocations"] = true,
      ["book of the Warp"] = true
    },
    description = "Allows the caster to teleport fired or thrown missiles directly to their targets for a short duration, spending an additional small amount of magic for each missile. Teleported projectiles have their accuracy greatly increased.",
    flags = {},
    level = 3,
    name = "Portal Projectile",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 50,
    rarity = 10,
    schools = {
      Translocation = true
    }
  },
  Recall = {
    books = {
      ["book of Summonings"] = true,
      ["book of Unlife"] = true
    },
    description = "Recalls any friendly creatures on the same level to a position adjacent to the caster, over a short duration.",
    flags = {
      UTILITY = true
    },
    level = 3,
    name = "Recall",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 10,
    schools = {
      Summoning = true,
      Translocation = true
    }
  },
  Regeneration = {
    books = {
      ["book of Battle"] = true,
      ["book of Necromancy"] = true
    },
    description = "Reanimates parts of the caster's wounds. This unnatural act dramatically but temporarily increases the caster's health regeneration, while also speeding their metabolism.",
    flags = {
      SELFENCH = true,
      UTILITY = true
    },
    level = 3,
    name = "Regeneration",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 3,
    schools = {
      Charms = true,
      Necromancy = true
    }
  },
  ["Repel Missiles"] = {
    books = {
      ["book of Air"] = true,
      ["book of Minor Magic"] = true
    },
    description = "Reduces the chance of projectile attacks striking the caster, making them easier to dodge. Single-target attacks are much easier to repel than penetrating attacks. Each time a missile is repelled the spell has a chance of expiring, with a lower chance of expiry at high power.",
    flags = {},
    level = 2,
    name = "Repel Missiles",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 50,
    rarity = 1,
    schools = {
      Air = true,
      Charms = true
    }
  },
  ["Ring of Flames"] = {
    books = {
      ["book of Clouds"] = true,
      ["book of Fire"] = true
    },
    description = "Surrounds the caster with a mobile ring of searing flame, and keeps other fire clouds away from the caster. This spell attunes the caster to the forces of fire, increasing the power of their fire magic and giving protection from fire. However, it also makes them much more susceptible to cold.",
    flags = {
      AREA = true
    },
    level = 7,
    name = "Ring of Flames",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 6,
    schools = {
      Charms = true,
      Fire = true
    }
  },
  Sandblast = {
    books = {
      ["book of Geomancy"] = true
    },
    description = "Creates a short blast of high-velocity particles. It has increased power and range when the caster provides some source (by wielding a stone), but will still have some effect with no source wielded. Its damage is strongly reduced by armour.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 1,
    name = "Sandblast",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 2,
      min = 2
    },
    rarity = 4,
    schools = {
      Earth = true
    }
  },
  ["Searing Ray"] = {
    books = {
      ["book of Conjurations"] = true
    },
    description = "Fires a continuous ray of arcane energy from the caster's hands. Though initially mild, so long as the caster maintains focus upon the spell and supplies it with magical power (by waiting in place and not taking any other actions), the ray will grow in strength until it becomes a surging beam able to tear clean through the ranks of the caster's foes.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 2,
    name = "Searing Ray",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    rarity = 3,
    schools = {
      Conjuration = true
    }
  },
  ["Shadow Creatures"] = {
    books = {
      ["book of Dreams"] = true,
      ["book of Summonings"] = true
    },
    description = "Creates replicas of creatures native to the caster's current location, weaving them from shadows and threads of Abyssal matter.",
    flags = {
      MONS_ABJURE = true
    },
    level = 6,
    name = "Shadow Creatures",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 0,
    rarity = 11,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 4
  },
  Shatter = {
    books = {
      ["book of the Earth"] = true,
      ["book of the Tempests"] = true
    },
    description = "Causes an enormous burst of concussive force around the caster. Flying and gelatinous creatures can escape the worst effects, and insubstantial creatures are entirely unaffected, but all others will be gravely injured by the blast. It may also destroy nearby walls.",
    flags = {
      AREA = true
    },
    level = 9,
    name = "Shatter",
    noise = {
      casting = 7,
      effect = 30
    },
    ["power cap"] = 200,
    quote = "“And it happened when the people heard the sound of the trumpet, and the people shouted with a great shout, that the wall fell down flat. Then the people went up into the city, every man straight before him, and they took the city. And they utterly destroyed all that was in the city, both man and woman, young and old, ox and sheep and donkey, with the edge of the sword.”\n    -KJV Bible, Joshua 6:20-21.",
    rarity = 10,
    schools = {
      Earth = true
    }
  },
  Shock = {
    books = {
      ["book of Air"] = true
    },
    description = "Throws a bouncing bolt of electricity. It partially bypasses armour.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 1,
    name = "Shock",
    noise = {
      casting = 1,
      effect = 2
    },
    ["power cap"] = 25,
    range = {
      max = 7,
      min = 7
    },
    rarity = 4,
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Shroud of Golubria"] = {
    books = {
      ["book of Battle"] = true,
      ["book of Spatial Translocations"] = true
    },
    description = "Bends space around the caster's body, protecting them from some blows by redirecting their force to the air nearby. Ranged attacks cannot be diverted in this way. The shroud is highly unstable, and may fall apart unexpectedly under stress.",
    flags = {
      SELFENCH = true
    },
    level = 2,
    name = "Shroud of Golubria",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 5,
    schools = {
      Charms = true,
      Translocation = true
    }
  },
  Silence = {
    books = {
      ["book of Dreams"] = true,
      ["book of Enchantments"] = true,
      ["book of the Sky"] = true
    },
    description = "Eliminates all sound near the caster. This makes reading scrolls, casting spells, invoking divine abilities, or shouting impossible in the caster's vicinity. The spell's oppressive, unnatural effect will greatly hamper stealth.\n\nCertain monsters have innate magical or special abilities which will still be usable while silenced.\n\nThe effect starts out with a radius depending on power, which will then shrink, eventually covering only the caster, before it times out.",
    flags = {
      AREA = true
    },
    level = 5,
    name = "Silence",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 7,
    schools = {
      Air = true,
      Hexes = true
    }
  },
  Simulacrum = {
    books = {
      ["book of Ice"] = true,
      ["book of Unlife"] = true
    },
    description = "Creates an icy replica from the corpse of the original being. This magic is unstable, so eventually the replica will sublimate into a freezing cloud. Simulacra cannot leave the level they were created on.",
    flags = {
      CORPSE_VIOLATING = true
    },
    level = 6,
    name = "Simulacrum",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 10,
    schools = {
      Ice = true,
      Necromancy = true
    }
  },
  Slow = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Minor Magic"] = true
    },
    description = "Slows the actions of a creature.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true
    },
    level = 2,
    name = "Slow",
    noise = {
      casting = 2,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Hexes = true
    }
  },
  ["Song of Slaying"] = {
    books = {
      ["book of Battle"] = true
    },
    description = "Recites ancient verses of battle. Each non-summoned enemy the caster slays in combat during this recitation temporarily enhances their melee and ranged skills. The bonus only lasts for the duration of the song; casting this spell while already singing will start a new song, not extend an existing one.",
    flags = {
      UTILITY = true
    },
    level = 2,
    name = "Song of Slaying",
    noise = {
      casting = 2,
      effect = 8
    },
    ["power cap"] = 100,
    rarity = 5,
    schools = {
      Charms = true
    }
  },
  ["Spectral Weapon"] = {
    books = {
      ["book of Battle"] = true
    },
    description = "Draws out the spirit within a wielded weapon to fight for the caster, with its strength increasing with power. It only attacks when the caster does, and its kills count as the caster's own. If the weapon is damaged, part of the injury will be echoed on the caster's body. Only one spectral weapon can be maintained at a time, and only while the original weapon remains wielded.\n\nCertain powerful named artefacts cannot be affected, and any abilities that require evocation skill to trigger will not be active.",
    flags = {
      NO_GHOST = true,
      SELFENCH = true,
      UTILITY = true
    },
    level = 3,
    name = "Spectral Weapon",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 5,
    schools = {
      Charms = true,
      Hexes = true
    }
  },
  ["Spellforged Servitor"] = {
    books = {
      ["book of Power"] = true
    },
    description = "Summons an extraplanar elemental and binds it to a durable shell forged from the caster's own magic. The servitor is capable of unleashing some of the destructive spells known to its creator, though the strongest and most volatile of magics cannot be imbued in this fashion.",
    flags = {},
    level = 7,
    name = "Spellforged Servitor",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    quote = "“When you think\n Your toys have gone berserk\n It's an illusion\n You cannot shirk”\n    -Siouxsie and the Banshees, \"Spellbound\"",
    rarity = 6,
    schools = {
      Conjuration = true,
      Summoning = true
    },
    ["summons limit"] = 1
  },
  ["Spider Form"] = {
    books = {
      ["book of Changes"] = true
    },
    description = "Transforms the caster into a venomous, spider-like creature. The caster becomes highly evasive and gains a poisonous bite, but gains vulnerability to poison and cannot evoke wands. It makes spellcasting slightly more difficult.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true,
      UTILITY = true
    },
    level = 3,
    name = "Spider Form",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 2,
    schools = {
      Poison = true,
      Transmutation = true
    }
  },
  ["Static Discharge"] = {
    books = {
      ["book of Air"] = true,
      ["book of the Tempests"] = true
    },
    description = "Releases electrical charges against those next to the caster. These may arc to other adjacent creatures, or back to the caster, before eventually grounding out. It deals reduced damage when arcing to the caster, and bypasses any armour the target may have.",
    flags = {
      AREA = true
    },
    level = 3,
    name = "Static Discharge",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 1,
      min = 1
    },
    rarity = 4,
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Statue Form"] = {
    books = {
      ["book of the Earth"] = true,
      ["book of Transfigurations"] = true
    },
    description = "Transforms the caster into a slow but extremely robust stone statue, capable of dealing powerful blows with weapons or bare fists. The caster's stone body is insulated from electricity and gains resistance to poison, rotting and negative energy.",
    flags = {
      CHAOTIC = true,
      HELPFUL = true,
      UTILITY = true
    },
    level = 6,
    name = "Statue Form",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 150,
    rarity = 8,
    schools = {
      Earth = true,
      Transmutation = true
    }
  },
  ["Sticks to Snakes"] = {
    books = {
      ["book of Changes"] = true
    },
    description = "Transforms a number of arrows in inventory into short-lived snakes, creating more dangerous snakes with higher power.",
    flags = {
      NO_GHOST = true
    },
    level = 2,
    name = "Sticks to Snakes",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 2,
    schools = {
      Transmutation = true
    }
  },
  ["Sticky Flame"] = {
    books = {
      ["book of Flames"] = true
    },
    description = "Conjures a glob of sticky flame, covering an adjacent creature with liquid fire for a short time.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 4,
    name = "Sticky Flame",
    noise = {
      casting = 4,
      effect = 2
    },
    ["power cap"] = 50,
    quote = "“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”\n    -Terry Pratchett, “Jingo”. 1997.",
    range = {
      max = 1,
      min = 1
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  Sting = {
    books = {
      ["Young Poisoner's Handbook"] = true
    },
    description = "Fires a magical dart of poison.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 1,
    name = "Sting",
    noise = {
      casting = 1,
      effect = 2
    },
    ["power cap"] = 25,
    range = {
      max = 6,
      min = 6
    },
    rarity = 5,
    schools = {
      Conjuration = true,
      Poison = true
    }
  },
  ["Stone Arrow"] = {
    books = {
      ["book of Geomancy"] = true,
      ["Fen Folio"] = true
    },
    description = "Fires a sharp spine of rock.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 3,
    name = "Stone Arrow",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Earth = true
    }
  },
  ["Sublimation of Blood"] = {
    books = {
      ["book of Alchemy"] = true,
      ["book of Death"] = true
    },
    description = "Converts some of the caster's blood into magical energy. The process is painful but never directly lethal. The efficiency of the conversion increases with the spell's power.",
    flags = {
      UTILITY = true
    },
    level = 2,
    name = "Sublimation of Blood",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 11,
    schools = {
      Necromancy = true
    }
  },
  ["Summon Butterflies"] = {
    books = {
      ["book of Beasts"] = true,
      ["book of Party Tricks"] = true
    },
    description = "Creates a shower of colourful butterflies. How pretty!",
    flags = {},
    level = 1,
    name = "Summon Butterflies",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 7,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 8
  },
  ["Summon Demon"] = {
    books = {
      ["book of Summonings"] = true
    },
    description = "Opens a gate to the realm of Pandemonium and draws forth one of its inhabitants to serve the caster for a time. The demon's servitude is not guaranteed, but will be more likely with high power.",
    flags = {
      MONS_ABJURE = true,
      SELFENCH = true,
      UNHOLY = true
    },
    level = 5,
    name = "Summon Demon",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    quote = "“'Tis now the very witching time of night,\n When churchyards yawn and hell itself breathes out\n Contagion to this world.”\n    -William Shakespeare, _The Tragedy of Hamlet, Prince of Denmark_, III, 2.",
    rarity = 11,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 3
  },
  ["Summon Forest"] = {
    books = {
      ["book of Summonings"] = true,
      ["Fen Folio"] = true
    },
    description = "Forcefully intersects a forested plane with this world. It requires open space to succeed. While the spell holds, a spirit of the forest will be called forth, and the trees of the forest will be awakened to deal damage to nearby enemies.",
    flags = {},
    level = 5,
    name = "Summon Forest",
    noise = {
      casting = 4,
      effect = 10
    },
    ["power cap"] = 200,
    rarity = 11,
    schools = {
      Summoning = true,
      Translocation = true
    }
  },
  ["Summon Greater Demon"] = {
    books = {
      ["Grand Grimoire"] = true
    },
    description = "Calls forth one of the greater demons of Pandemonium to serve the caster. With high power, the summoned demon will be less likely to be initially hostile — but the strongest demons may eventually turn against their summoner regardless.",
    flags = {
      MONS_ABJURE = true,
      SELFENCH = true,
      UNHOLY = true
    },
    level = 7,
    name = "Summon Greater Demon",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = -1,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 3
  },
  ["Summon Guardian Golem"] = {
    books = {
      ["book of Callings"] = true
    },
    description = "Summons a protective golem. It redirects the injuries of its allies (but not the caster) to itself, though it risks overheating after absorbing significant amounts of damage. It will gain more health at high power.",
    flags = {},
    level = 3,
    name = "Summon Guardian Golem",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 3,
    schools = {
      Hexes = true,
      Summoning = true
    },
    ["summons limit"] = 1
  },
  ["Summon Horrible Things"] = {
    books = {
      ["Grand Grimoire"] = true
    },
    description = "Opens a gate to the Abyss and calls through one or more hideous abominations from that dreadful place. The opening of the gate may drain a portion of the caster's intellect.",
    flags = {
      CHAOTIC = true,
      MONS_ABJURE = true,
      UNHOLY = true
    },
    level = 8,
    name = "Summon Horrible Things",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = -1,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 8
  },
  ["Summon Hydra"] = {
    books = {
      ["book of Beasts"] = true,
      ["Fen Folio"] = true
    },
    description = "Summons a many-headed hydra to fight alongside the caster for a short time.",
    flags = {
      MONS_ABJURE = true
    },
    level = 7,
    name = "Summon Hydra",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    rarity = 8,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 3
  },
  ["Summon Ice Beast"] = {
    books = {
      ["book of Beasts"] = true,
      ["book of Callings"] = true,
      ["book of Frost"] = true
    },
    description = "Calls forth a beast of ice to serve the caster.",
    flags = {},
    level = 4,
    name = "Summon Ice Beast",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 3,
    schools = {
      Ice = true,
      Summoning = true
    },
    ["summons limit"] = 3
  },
  ["Summon Lightning Spire"] = {
    books = {
      ["book of Callings"] = true,
      ["book of the Sky"] = true
    },
    description = "Constructs a lightning spire in a nearby location. It can fire bouncing bolts of electricity at the caster's foes, but is completely immobile.",
    flags = {
      NEUTRAL = true,
      NOT_SELF = true,
      TARGET = true
    },
    level = 4,
    name = "Summon Lightning Spire",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 2,
      min = 2
    },
    rarity = 3,
    schools = {
      Air = true,
      Summoning = true
    },
    ["summons limit"] = 1
  },
  ["Summon Mana Viper"] = {
    books = {
      ["book of Beasts"] = true,
      ["book of Summonings"] = true
    },
    description = "Summons a violet-scaled serpent whose bite can swiftly drain the magical reserves of nearly any foe. At higher power, the antimagic properties of the viper's bite grow even stronger.",
    flags = {
      MONS_ABJURE = true
    },
    level = 5,
    name = "Summon Mana Viper",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 8,
    schools = {
      Hexes = true,
      Summoning = true
    },
    ["summons limit"] = 2
  },
  ["Summon Small Mammal"] = {
    books = {
      ["book of Callings"] = true,
      ["book of Cantrips"] = true
    },
    description = "Summons a small mammal to the caster's aid.",
    flags = {},
    level = 1,
    name = "Summon Small Mammal",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 25,
    rarity = 1,
    schools = {
      Summoning = true
    },
    ["summons limit"] = 4
  },
  Swiftness = {
    books = {
      ["book of Air"] = true,
      ["book of Burglary"] = true
    },
    description = "Calls forth winds to greatly increase the caster's movement speed. After the effect ends, the caster's movements will be sluggish for a time.",
    flags = {
      HASTY = true,
      SELFENCH = true,
      UTILITY = true
    },
    level = 2,
    name = "Swiftness",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    rarity = 4,
    schools = {
      Air = true,
      Charms = true
    }
  },
  ["Teleport Other"] = {
    books = {
      ["book of Spatial Translocations"] = true
    },
    description = "Randomly translocates a targeted creature.",
    flags = {
      DIR_OR_TARGET = true,
      EMERGENCY = true,
      ESCAPE = true,
      MR_CHECK = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 3,
    name = "Teleport Other",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 10,
    schools = {
      Translocation = true
    }
  },
  ["Throw Flame"] = {
    books = {
      ["book of Flames"] = true
    },
    description = "Throws a small puff of flame.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 2,
    name = "Throw Flame",
    noise = {
      casting = 2,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Throw Frost"] = {
    books = {
      ["book of Frost"] = true
    },
    description = "Throws a small puff of frost.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 2,
    name = "Throw Frost",
    noise = {
      casting = 2,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 6,
      min = 6
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Ice = true
    }
  },
  ["Throw Icicle"] = {
    books = {
      ["book of Frost"] = true
    },
    description = "Fires a shard of ice. Due to its strong impact and cutting edges, a significant portion of its damage bypasses cold resistance.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 4,
    name = "Throw Icicle",
    noise = {
      casting = 4,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 5
    },
    rarity = 4,
    schools = {
      Conjuration = true,
      Ice = true
    }
  },
  Tornado = {
    books = {
      ["book of the Sky"] = true,
      ["book of the Tempests"] = true
    },
    description = "Turns the air around the caster into a mighty vortex, doing tremendous damage to everyone caught in it. Those affected will also be swept up into the air and tossed around. Only the eye of the storm is a safe place, and it follows the caster. The spell's effectiveness is greatly diminished in closed areas.",
    flags = {
      AREA = true
    },
    level = 9,
    name = "Tornado",
    noise = {
      casting = 5,
      effect = 15
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    rarity = 10,
    schools = {
      Air = true
    }
  },
  ["Tukima's Dance"] = {
    books = {
      ["book of Maledictions"] = true,
      ["book of Party Tricks"] = true
    },
    description = "Animates the weapon of a targeted foe, ripping it from their hands and causing it to attack them relentlessly. Once the target dies, the weapon will fall to the ground shortly thereafter.\n\nRanged weapons and certain powerful named artefacts cannot be affected, and any abilities that require evocation skill to trigger will not be active.",
    flags = {
      DIR_OR_TARGET = true,
      MR_CHECK = true,
      NEEDS_TRACER = true,
      NOT_SELF = true
    },
    level = 3,
    name = "Tukima's Dance",
    noise = {
      casting = 3,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 2,
    schools = {
      Hexes = true
    }
  },
  ["Vampiric Draining"] = {
    books = {
      ["book of Necromancy"] = true
    },
    description = "Steals the life of an adjacent living creature and grants it to the caster. Life will not be drained in excess of what the caster can capably absorb.",
    flags = {
      DIR_OR_TARGET = true,
      EMERGENCY = true,
      NOT_SELF = true,
      SELFENCH = true
    },
    level = 3,
    name = "Vampiric Draining",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 1,
      min = 1
    },
    rarity = 3,
    schools = {
      Necromancy = true
    }
  },
  ["Venom Bolt"] = {
    books = {
      ["book of Power"] = true,
      ["Young Poisoner's Handbook"] = true
    },
    description = "Fires a penetrating bolt of poison.",
    flags = {
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true
    },
    level = 5,
    name = "Venom Bolt",
    noise = {
      casting = 5,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 5
    },
    rarity = 5,
    schools = {
      Conjuration = true,
      Poison = true
    }
  },
  ["Yara's Violent Unravelling"] = {
    books = {
      ["book of Enchantments"] = true,
      ["book of Misfortune"] = true
    },
    description = "Tears apart the bonds that bind enchantments to the target creature, transforming the magic into a spray of deadly, mutagenic radiation.",
    flags = {
      CHAOTIC = true,
      DIR_OR_TARGET = true,
      NEEDS_TRACER = true,
      NO_GHOST = true
    },
    level = 5,
    name = "Yara's Violent Unravelling",
    noise = {
      casting = 5,
      effect = 15
    },
    ["power cap"] = 50,
    range = {
      max = 7,
      min = 7
    },
    rarity = 1,
    schools = {
      Hexes = true,
      Transmutation = true
    }
  }
}