Difference between revisions of "Module:Table of spells"

From CrawlWiki
Jump to: navigation, search
(LOS range -> range 8)
m (update Manifold Assault)
(21 intermediate revisions by 2 users not shown)
Line 1,170: Line 1,170:
 
       no_ghost = true
 
       no_ghost = true
 
     },
 
     },
     level = 4,
+
     level = 7,
 
     name = "Manifold Assault",
 
     name = "Manifold Assault",
 
     noise = {
 
     noise = {
Line 1,176: Line 1,176:
 
       effect = 0
 
       effect = 0
 
     },
 
     },
     ["power cap"] = 100,
+
     ["power cap"] = 200,
 
     schools = {
 
     schools = {
 
       Translocation = true
 
       Translocation = true
Line 2,477: Line 2,477:
 
     },
 
     },
 
   },
 
   },
 
 
   ["Permafrost Eruption"] = {
 
   ["Permafrost Eruption"] = {
 
     books = {
 
     books = {
Line 2,483: Line 2,482:
 
       ["book of the Tundra"] = true
 
       ["book of the Tundra"] = true
 
     },
 
     },
     description = "Calls on the ancient cold lurking within the earth to emerge - violently. The force of its emergence blasts rock from the ceiling, smashing into the target with unavoidable force. The cold itself is brief but unbearably bitter, bypassing armour entirely as it freezes the target and their neighbours.
+
     description = "Calls on the ancient cold lurking within the earth to emerge - violently. The force of its emergence blasts rock from the ceiling, smashing into the target with unavoidable force. The cold itself is brief but unbearably bitter, bypassing armour entirely as it freezes the target and their neighbours. \n\nIt will always attempt to blast the largest concentration of foes in sight, and never explodes next to the caster.",
 
 
It will always attempt to blast the largest concentration of foes in sight, and never explodes next to the caster.",
 
 
     flags = {needs_tracer = true, destructive = true},
 
     flags = {needs_tracer = true, destructive = true},
 
     level = 6,
 
     level = 6,
Line 2,493: Line 2,490:
 
       effect = 0
 
       effect = 0
 
     },
 
     },
     range = 6,
+
     range = {
 +
      min = 6,
 +
      max = 6
 +
    },
 
     ["power cap"] = 200,
 
     ["power cap"] = 200,
 
     schools = {
 
     schools = {
Line 2,506: Line 2,506:
 
       ["Book of Movement"] = true
 
       ["Book of Movement"] = true
 
     },
 
     },
     description = "Briefly reorients local gravity to be in a cardinal direction of the caster's choosing, causing all creatures in sight to tumble a short distance in that
+
     description = "Briefly reorients local gravity to be in a cardinal direction of the caster's choosing, causing all creatures in sight to tumble a short distance in that direction. \n\nThe caster is not immune to the gravitational effects of this spell, but will be cushioned so they take no collision damage. Other creatures are not so fortunate, and the abrupt impact will batter anything which was not already standing beside its new 'floor'. \n\nIt takes a short time for gravity to stabilise enough to recast this spell, though more powerful mages are able to do so more frequently.",
direction.
 
 
 
The caster is not immune to the gravitational effects of this spell, but will be cushioned so they take no collision damage. Other creatures are not so fortunate, and the abrupt impact will batter anything which was not already standing beside its new 'floor'.
 
 
 
It takes a short time for gravity to stabilise enough to recast this spell, though more powerful mages are able to do so more frequently.",
 
 
     flags = {dir_or_target = true, needs_tracer = true},
 
     flags = {dir_or_target = true, needs_tracer = true},
 
     level = 6,
 
     level = 6,
     range = 1,
+
     range = {
 +
      min = 1,
 +
      max = 1
 +
    },
 
     name = "Gell's Gavotte",
 
     name = "Gell's Gavotte",
 
     noise = {
 
     noise = {
Line 2,531: Line 2,529:
 
       ["Compendium of Siegecraft"] = true
 
       ["Compendium of Siegecraft"] = true
 
     },
 
     },
     description = "Splits apart the ground in front of the caster and sculpts a terrifying weapon out of molten rock. This mortar will move slowly along the lava-filled chasm, autonomously launching gouts of magma at the caster's enemies as it does so.
+
     description = "Splits apart the ground in front of the caster and sculpts a terrifying weapon out of molten rock. This mortar will move slowly along the lava-filled chasm, autonomously launching gouts of magma at the caster's enemies as it does so. \n\nWhen it reaches the end of its path, or is obstructed in its movement by another creature, it will sink back into the lava, and the chasm will seal itself shut shortly thereafter.",
 
 
When it reaches the end of its path, or is obstructed in its movement by another creature, it will sink back into the lava, and the chasm will seal itself shut shortly thereafter.",
 
 
     flags = {},
 
     flags = {},
 
     level = 7,
 
     level = 7,
     range = 8,
+
     range = {
 +
      min = 8,
 +
      max = 8
 +
    },
 
     name = "Hellfire Mortar",
 
     name = "Hellfire Mortar",
 
     noise = {
 
     noise = {
Line 2,554: Line 2,553:
 
       ["book of Iron"] = true
 
       ["book of Iron"] = true
 
     },
 
     },
     description = "Envelops a target in a thin layer of magnetically charged metal fragments, then unleashes a powerful surge of electricity that arcs unerringly towards every visible target coated in these fragments - firing an additional beam at each target thus marked.
+
     description = "Envelops a target in a thin layer of magnetically charged metal fragments, then unleashes a powerful surge of electricity that arcs unerringly towards every visible target coated in these fragments - firing an additional beam at each target thus marked. \n\nMagnetised creatures are additionally unable to evade attacks and will be revealed if invisible. If they die while still coated, they will leave behind a short-lived cloud of electrified metal that will continue to serve as a lightning rod for this spell.",
 
 
Magnetised creatures are additionally unable to evade attacks and will be revealed if invisible. If they die while still coated, they will leave behind a short-lived cloud of electrified metal that will continue to serve as a lightning rod for this spell.",
 
 
     flags = {
 
     flags = {
 
         target = true,
 
         target = true,
Line 2,563: Line 2,560:
 
     },
 
     },
 
     level = 7,
 
     level = 7,
     range = 8,
+
     range = {
     name = "Hellfire Mortar",
+
      min = 8,
 +
      max = 8
 +
    },
 +
     name = "Magnavolt",
 
     noise = {
 
     noise = {
 
       casting = 7,
 
       casting = 7,
Line 2,581: Line 2,581:
 
       ["book of Spectacle"] = true
 
       ["book of Spectacle"] = true
 
     },
 
     },
     description = "A magnum opus of reckless chemistry, this spell conjures up a surfeit of
+
     description = "A magnum opus of reckless chemistry, this spell conjures up a surfeit of volatile reagents to rain down upon your enemies. For the next several turns, up to 3 random enemies in sight will be struck by an exploding beaker that inflicts either fire, cold, electric, or poison damage. If any of these explosions overlap each other, the resulting reaction will inflict even greater irresistible damage and sometimes apply a random deleterious status on whoever is caught in the blast. \n\nThis spell costs a small amount of the caster's magical energy each turn to maintain, and while it will never aim an explosion where it could hurt the caster, the caster's allies (and anything else in the general vicinity) are not so fortunate.",
volatile reagents to rain down upon your enemies. For the next several turns, up to 3 random enemies in sight will be struck by an exploding beaker that inflicts either fire, cold, electric, or poison damage. If any of these explosions overlap each other, the resulting reaction will inflict even greater
 
irresistible damage and sometimes apply a random deleterious status on whoever is caught in the blast.
 
 
 
This spell costs a small amount of the caster's magical energy each turn to maintain, and while it will never aim an explosion where it could hurt the caster, the caster's allies (and anything else in the general vicinity) are not so fortunate.",
 
 
     flags = {
 
     flags = {
 
         area = true,
 
         area = true,
Line 2,591: Line 2,587:
 
         chaotic = true},
 
         chaotic = true},
 
     level = 8,
 
     level = 8,
     range = 8,
+
     range = {
 +
      min = 8,
 +
      max = 8
 +
    },
 
     name = "Fulsome Fusillade",
 
     name = "Fulsome Fusillade",
 
     noise = {
 
     noise = {
Line 2,609: Line 2,608:
 
       ["book of Maladies"] = true
 
       ["book of Maladies"] = true
 
     },
 
     },
     description = "Afflicts a creature with a magical plague that slowly freezes them from the
+
     description = "Afflicts a creature with a magical plague that slowly freezes them from the inside out. Victims take AC-ignoring cold damage each turn, and as the disease progresses, shards of crystalline ice may erupt violently from their body, damaging nearby enemies and even spreading the affliction to others. \n\nIn living, holy, or demonic creatures, the disease is especially virulent, feeding off the necromantic energies released by its host's suffering. As they approach the point of death, it will accelerate rapidly, devouring the last vestiges of their body and leaving nothing behind but a twisted pillar of stygian ice.",
inside out. Victims take AC-ignoring cold damage each turn, and as the disease progresses, shards of crystalline ice may erupt violently from their body, damaging nearby enemies and even spreading the affliction to others.
 
 
 
In living, holy, or demonic creatures, the disease is especially virulent, feeding off the necromantic energies released by its host's suffering. As they approach the point of death, it will accelerate rapidly, devouring the last
 
vestiges of their body and leaving nothing behind but a twisted pillar of stygian ice.",
 
 
     flags = {
 
     flags = {
 
         dir_or_target = true,
 
         dir_or_target = true,
Line 2,619: Line 2,614:
 
         destructive = true},
 
         destructive = true},
 
     level = 7,
 
     level = 7,
     range = 5,
+
     range = {
 +
      min = 5,
 +
      max = 5
 +
    },
 
     name = "Rimeblight",
 
     name = "Rimeblight",
 
     noise = {
 
     noise = {
Line 2,637: Line 2,635:
 
       ["Trismegistus Codex"] = true
 
       ["Trismegistus Codex"] = true
 
     },
 
     },
     description = "Magically accelerates the decay of damaged living tissue, causing great clouds of miasma to billow forth from a targeted victim's wounds over several turns
+
     description = "Magically accelerates the decay of damaged living tissue, causing great clouds of miasma to billow forth from a targeted victim's wounds over several turns which may slow and heavily poison any living creature who stands in them. Air currents will prevent this pestilence from forming wherever the caster is standing, but they are not otherwise protected from its effects. \n\nThis spell may only be cast on a living creature who is at least heavily wounded, and channelling such necrotic energies will leave the caster's own health temporarily drained (though spellpower will reduce the intensity of this side-effect).",
which may slow and heavily poison any living creature who stands in them. Air currents will prevent this pestilence from forming wherever the caster is standing, but they are not otherwise protected from its effects.
 
 
 
This spell may only be cast on a living creature who is at least heavily wounded, and channelling such necrotic energies will leave the caster's own health temporarily drained (though spellpower will reduce the intensity of this
 
side-effect).",
 
 
     flags = {
 
     flags = {
 
         target = true,
 
         target = true,
 
         unclean = true,},
 
         unclean = true,},
 
     level = 4,
 
     level = 4,
     range = 5,
+
     range = {
 +
      min = 5,
 +
      max = 5
 +
    },
 
     name = "Cigotuvi's Putrefaction",
 
     name = "Cigotuvi's Putrefaction",
 
     noise = {
 
     noise = {
Line 2,669: Line 2,666:
 
     name = "Hoarfrost Cannonade",
 
     name = "Hoarfrost Cannonade",
 
     noise = {
 
     noise = {
       casting = 4,
+
       casting = 5,
 
       effect = 0
 
       effect = 0
 
     },
 
     },
Line 2,678: Line 2,675:
 
     }
 
     }
 
   },
 
   },
 
 
   ["Maxwell's Portable Piledriver"] = {
 
   ["Maxwell's Portable Piledriver"] = {
 
     books = {
 
     books = {
Line 2,684: Line 2,680:
 
       ["Maxwell's Memoranda"] = true
 
       ["Maxwell's Memoranda"] = true
 
     },
 
     },
     description = "Compresses an envelope of space around the caster and an adjacent enemy, then allows it to decompress abruptly, propelling both of them forward until the latter collides with something, inflicting damage proportional to the distance
+
     description = "Compresses an envelope of space around the caster and an adjacent enemy, then allows it to decompress abruptly, propelling both of them forward until the latter collides with something, inflicting damage proportional to the distance travelled. \n\nOriginally designed for use in construction, it will automatically target the nearest mass with the longest clear path towards a wall or other solid object (such as another monster).",
travelled.
 
 
 
Originally designed for use in construction, it will automatically target the nearest mass with the longest clear path towards a wall or other solid object (such as another monster).",
 
 
     flags = {},
 
     flags = {},
 
     level = 3,
 
     level = 3,
     range = 5,
+
     range = {min=5, max=5},
 
     name = "Maxwell's Portable Piledriver",
 
     name = "Maxwell's Portable Piledriver",
 
     noise = {
 
     noise = {
Line 2,704: Line 2,697:
 
   ["Grave Claw"] = {
 
   ["Grave Claw"] = {
 
     books = {
 
     books = {
       ["book of Unlife"] = true
+
       ["book of Unlife"] = true,
 +
    },
 +
    description = "Calls forth the spite of the recently dead to skewer a targeted enemy with shards of bone. This spell never misses, and will pin its target in place for several turns, but casting it rapidly consumes the remnants of death that linger upon the caster. \n\nYou can stockpile enough malice to cast this spell at most three times, and this can only be replenished by causing the death of a sufficient number of living beings.",
 +
    flags = {
 +
      target = true, not_self = true
 
     },
 
     },
    description = "Calls forth the spite of the recently dead to skewer a targeted enemy with shards of bone. This spell never misses, and will pin its target in place for several turns, but casting it rapidly consumes the remnants of death that linger upon the caster.
 
 
You can stockpile enough malice to cast this spell at most three times, and this can only be replenished by causing the death of a sufficient number of living beings.",
 
    flags = {target = true, not_self = true},
 
 
     level = 2,
 
     level = 2,
    range = 4,
 
 
     name = "Grave Claw",
 
     name = "Grave Claw",
 +
    range = {
 +
      min = 4,
 +
      max = 4
 +
    },
 
     noise = {
 
     noise = {
 
       casting = 2,
 
       casting = 2,
Line 2,722: Line 2,718:
 
     }
 
     }
 
   },
 
   },
 
 
   ["Soul Splinter"] = {
 
   ["Soul Splinter"] = {
 
     books = {
 
     books = {
Line 2,728: Line 2,723:
 
       ["book of Cantrips"] = true
 
       ["book of Cantrips"] = true
 
     },
 
     },
     description = "Attempts to force a tiny fragment of a living, holy, or demonic being's soul to take leave of their body and manifest as a soul wisp. This wisp is nominally under the necromancer's control, but will focus its attacks foremost on the creature it was created from, instinctually trying to return to its proper home once more. The victim will be weakened until the wisp reverts to where it belongs.
+
     description = "Attempts to force a tiny fragment of a living, holy, or demonic being's soul to take leave of their body and manifest as a soul wisp. This wisp is nominally under the necromancer's control, but will focus its attacks foremost on the creature it was created from, instinctually trying to return to its proper home once more. The victim will be weakened until the wisp reverts to where it belongs. \n\nWisps created from more powerful souls have more damaging attacks, but are always fragile.",
 
 
Wisps created from more powerful souls have more damaging attacks, but are always fragile.",
 
 
     flags = {dir_or_target = true, not_self = true, needs_tracer = true, WL_check = true},
 
     flags = {dir_or_target = true, not_self = true, needs_tracer = true, WL_check = true},
 
     level = 1,
 
     level = 1,
     range = 5,
+
     range = {
 +
      min = 5,
 +
      max = 5
 +
    },
 
     name = "Soul Splinter",
 
     name = "Soul Splinter",
 
     noise = {
 
     noise = {

Revision as of 01:28, 27 September 2024

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 (generated in 0.29.1, partially updated since)
return {
  Airstrike = {
    books = {
      ["book of Air"] = true,
      ["book of Storms"] = true
    },
    description = "Causes the air around a creature to twist itself into a whirling vortex of meteorological fury. It does more damage to targets surrounded by empty space.",
    flags = {
      not_self = true,
      target = true
    },
    level = 4,
    name = "Airstrike",
    noise = {
      casting = 2,
      effect = 4
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Air = true
    }
  },
  ["Alistair's Intoxication"] = {
    books = {
      ["book of Party Tricks"] = true,
      ["Great Wizards, Vol. II"] = true
    },
    description = "Converts a small portion of the brain matter of those around you into alcohol, attempting to confuse all intelligent creatures within view (although poison-resistant creatures may resist the effects). The caster will experience vertigo briefly if they successfully make 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"] = 150,
    schools = {
      Alchemy = true
    }
  },
  Anguish = {
    books = {
      ["book of Dreams"] = true,
      ["book of Hexes"] = true
    },
    description = "Afflicts nearby foes with supernatural anguish, causing all damage they deal to rebound on them for the duration of the effect. Strong-willed foes can resist the necromantic visions of pain and suffering, and mindless creatures are unaffected.",
    flags = {
      area = true,
      WL_check = true
    },
    level = 4,
    name = "Anguish",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Hexes = true,
      Necromancy = true
    }
  },
  ["Animate Armour"] = {
    books = {
      ["book of Armaments"] = true,
      ["book of Iron"] = true
    },
    description = "Call upon the spirit of your worn armour to fight alongside you. The spirit moves slowly, but draws strength from the inherent protection of your own armour. At higher power, the spirit becomes more durable.",
    flags = {},
    level = 4,
    name = "Animate Armour",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 50,
    schools = {
      Earth = true,
      Summoning = true
    }
  },
  ["Animate Dead"] = {
    books = {
      ["book of Death"] = true,
      ["book of Unlife"] = true
    },
    description = "For some time after casting this, living creatures killed by the caster will rise as zombies. The chance of reanimating a monster and the duration of the effect increase with spell power. Re-casting this spell will return zombies to dust, as will leaving the floor.",
    flags = {
      helpful = true,
      selfench = true,
      utility = true
    },
    level = 4,
    name = "Animate Dead",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    quote = "“Remember, I am not recording the vision of a madman. The sun does not more\n certainly shine in the heavens, than that which I now affirm is true. Some\n miracle might have produced it, yet the stages of the discovery were distinct\n and probable. After days and nights of incredible labour and fatigue, I\n succeeded in discovering the cause of generation and life; nay, more, I became\n myself capable of bestowing animation upon lifeless matter.”\n    -Mary Shelley, _Frankenstein, or the Modern Prometheus_,\n     Vol. I, Chapter 3. 1818 (1st Ed.)",
    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"] = 50,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Translocation = true
    }
  },
  Blink = {
    books = {
      ["book of Spatial Translocations"] = true,
      ["book of Minor Magic"] = true
    },
    description = "Randomly translocates the caster a short distance. Translocating in this way destabilises the caster temporarily, preventing consecutive blinks for a short period of time depending on spellpower.",
    flags = {
      escape = true,
      selfench = true,
      utility = true
    },
    level = 2,
    name = "Blink",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    schools = {
      Translocation = true
    }
  },
  ["Borgnjor's Revivification"] = {
    books = {
      Necronomicon = true
    },
    description = "Instantly heals any and all wounds suffered by the caster, but also permanently damages their health, to a degree dependent on (and inversely related to) power.\n\nIt is powerful enough to cancel the effects of Death's Door, although doing so will briefly 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,
    schools = {
      Necromancy = true
    }
  },
  ["Borgnjor's Vile Clutch"] = {
    books = {
      ["book of Unlife"] = true,
      ["Great Wizards, Vol. II"] = true
    },
    description = "Calls forth hands from corpses interred beneath the dungeon floor long ago. Enemies caught in the area will be held in place and constricted until they break free.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 5,
    name = "Borgnjor's Vile Clutch",
    noise = {
      casting = 5,
      effect = 4
    },
    ["power cap"] = 200,
    range = {
      max = 6,
      min = 6
    },
    schools = {
      Earth = true,
      Necromancy = true
    }
  },
  ["Call Canine Familiar"] = {
    books = {
      ["book of Callings"] = true,
      ["book of the Hunter"] = true
    },
    description = "Summons an inugami to the caster's aid. These mystical canines form a bond with their summoner, strengthening them in direct proportion with the caster's spellpower.<br><br>Recasting this spell while your familiar is nearby will imbue it with additional magic, mending some of its wounds and causing its next attack to strike more quickly and cleave adjacent foes.",
    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\n as if from down below in the valley the howling of many wolves. The Count's\n eyes gleamed, and he said.\n\n ‘Listen to them, the children of the night. What music they make!’ Seeing, I\n suppose, some expression in my face strange to him, he added, ‘Ah, sir, you\n dwellers in the city cannot enter into the feelings of the hunter.’”\n    -Bram Stoker, _Dracula_. 1897.",
    schools = {
      Summoning = true
    }
  },
  ["Call Imp"] = {
    books = {
      ["book of Minor Magic"] = true,
      ["book of Blood"] = true
    },
    description = "Calls forth a minor demon from the pits of Hell. The demon will fight alongside the caster for a time depending on spell power.",
    flags = {
      selfench = true,
      unholy = true
    },
    level = 2,
    name = "Call Imp",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Summoning = true
    }
  },
  ["Cause Fear"] = {
    books = {
      ["book of Hexes"] = true,
      ["book of the Dragon"] = true
    },
    description = "Causes fear in those near to the caster, causing those affected to be unable to approach the caster, and to sometimes fail to attack them in melee. Leaving the caster's line of sight will end the effect.",
    flags = {
      area = true,
      WL_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
    },
    schools = {
      Hexes = true
    }
  },
  ["Chain Lightning"] = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Releases a massive electrical discharge that arcs to the creature nearest the caster and then outward from it. The further it travels, the less damage it does. Secondary arcs have limited range and do little damage to the caster. The spell's damage partially bypasses armour and resistance to electricity.",
    flags = {
      area = true
    },
    level = 9,
    name = "Chain Lightning",
    noise = {
      casting = 25,
      effect = 10
    },
    ["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.",
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Confusing Touch"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Touch"] = true
    },
    description = "Enchants the caster's dominant hand with magical energy. This energy is released when the caster touches a monster, and may induce a state of confusion in the monster. The caster's attacks do no damage while attempting to touch a monster in this way.",
    flags = {
      selfench = true,
      WL_check = true
    },
    level = 3,
    name = "Confusing Touch",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Hexes = true
    }
  },
  ["Conjure Ball Lightning"] = {
    books = {
      ["book of Chaos"] = true,
      ["book of the Spheres"] = 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,
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Dazzling Flash"] = {
    books = {
      ["book of Spectacle"] = true,
      ["book of the Senses"] = true
    },
    description = "The caster erupts in a scintillating display of light. Any living creature nearby may be dazzled and left stumbling blindly.",
    flags = {
      area = true,
      no_ghost = true
    },
    level = 3,
    name = "Dazzling Flash",
    noise = {
      casting = 0,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 3,
      min = 2
    },
    schools = {
      Conjuration = true,
      Hexes = true
    }
  },
  ["Death Channel"] = {
    books = {
      ["book of Decay"] = true,
      ["book of Unlife"] = true
    },
    description = "Binds the souls of slain living, demonic and holy creatures, forcing their spectres to remain and fight for the caster for as long as the channel lasts.",
    flags = {
      helpful = true,
      selfench = true,
      utility = true
    },
    level = 6,
    name = "Death Channel",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    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. After expiry, the spell cannot immediately be recast, but with high power the caster will be left further from death when the effect ends. It has no effect on those who are already undead.",
    flags = {
      no_ghost = true,
      utility = true
    },
    level = 9,
    name = "Death's Door",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Necromancy = true
    }
  },
  Discord = {
    books = {
      ["book of Chaos"] = true,
      ["the Unrestrained Analects"] = 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,
      WL_check = true
    },
    level = 8,
    name = "Discord",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Hexes = true
    }
  },
  Disjunction = {
    books = {
      ["book of Chaos"] = true,
      ["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,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Translocation = true
    }
  },
  ["Dispel Undead"] = {
    books = {
      ["book of Decay"] = true,
      ["book of Touch"] = true
    },
    description = "Harms an adjacent undead creature greatly by interfering with the forces binding it together.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 4,
    name = "Dispel Undead",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Necromancy = true
    }
  },
  Dispersal = {
    books = {
      ["book of the Warp"] = true,
      ["There-And-Back Book"] = true
    },
    description = "Teleports away any creatures within a short distance of the caster. Any creature with the Will to resist will still be irresistibly blinked a shorter distance, and any monster it affects at all has a separate Will-based 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
    },
    schools = {
      Translocation = 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. After the call ends, it cannot be issued again for a short time. The duration of the call and the species of dragons called depend on spell power.",
    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.",
    schools = {
      Summoning = true
    }
  },
  Enfeeble = {
    books = {
      ["book of Hexes"] = true,
      ["book of Misfortune"] = true
    },
    description = "Overwhelms an enemy with malignant energies, irresistibly weakening their melee attacks and disrupting their magic. It will additionally daze and blind any foe that fails to resist the full force of the curse.",
    flags = {
      dir_or_target = true,
      needs_tracer = true,
      WL_check = true
    },
    level = 7,
    name = "Enfeeble",
    noise = {
      casting = 7,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Hexes = true
    }
  },
  ["Ensorcelled Hibernation"] = {
    books = {
      ["book of Burglary"] = true,
      ["book of Dreams"] = 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,
      needs_tracer = true,
      not_self = true,
      WL_check = true
    },
    level = 2,
    name = "Ensorcelled Hibernation",
    noise = {
      casting = 0,
      effect = 0
    },
    ["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
    },
    schools = {
      Hexes = true,
      Ice = true
    }
  },
  ["Eringya's Noxious Bog"] = {
    books = {
      ["Fen Folio"] = true,
      ["Great Wizards, Vol. II"] = true
    },
    description = "Causes the caster to release a torrent of sludge that transforms nearby areas into a toxic bog. The sludge damages and poisons all monsters, even those resistant to poison. The bog cannot form on areas adjacent to multiple solid features, nor on areas that lack solid floor, like deep water or lava. The transformation is temporary and cannot be sustained out of the caster's sight. Spellpower will increase how long the bog lingers.",
    flags = {
      area = true,
      no_ghost = true
    },
    level = 6,
    name = "Eringya's Noxious Bog",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Alchemy = 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\n dead.”\n    -Jaya Ballard, task mage (Magic: the Gathering).",
    range = {
      max = 5,
      min = 5
    },
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  Fireball = {
    books = {
      ["book of the Dragon"] = true,
      ["book of the Spheres"] = true
    },
    description = "Hurls an explosive ball of fire.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 5,
    name = "Fireball",
    noise = {
      casting = 5,
      effect = 15
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Flame Wave"] = {
    books = {
      ["book of Flames"] = true,
      ["book of Scorching"] = true
    },
    description = "Blasts the caster's surroundings with a wave of fire. If the caster maintains focus and supplies the spell with magical power (by waiting in place and not taking any other actions), more and larger flame waves will radiate outward.",
    flags = {
      area = true
    },
    level = 4,
    name = "Flame Wave",
    noise = {
      casting = 0,
      effect = 12
    },
    ["power cap"] = 100,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  Foxfire = {
    books = {
      ["book of Fire"] = true
    },
    description = "Conjures two balls of burning swamp gas adjacent to the caster. The balls will rapidly seek the nearest monster and burn them. They will dissipate harmlessly if unable to reach a target or if the caster swaps places with them.",
    flags = {
      selfench = true
    },
    level = 1,
    name = "Foxfire",
    noise = {
      casting = 1,
      effect = 1
    },
    ["power cap"] = 25,
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  Freeze = {
    books = {
      ["book of Frost"] = true
    },
    description = "Freezes an adjacent creature, dealing damage that bypasses any armour the target may have. 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
    },
    schools = {
      Ice = true
    }
  },
  ["Freezing Cloud"] = {
    books = {
      ["book of Vapours"] = true,
      ["Trismegistus Codex"] = true
    },
    description = "Conjures up a large cloud of lethally cold vapour.",
    flags = {
      area = true,
      cloud = true,
      needs_tracer = true,
      target = true
    },
    level = 5,
    name = "Freezing Cloud",
    noise = {
      casting = 6,
      effect = 2
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    schools = {
      Air = true,
      Conjuration = true,
      Ice = true
    }
  },
  ["Frozen Ramparts"] = {
    books = {
      ["book of Frost"] = true,
      ["book of Sloth"] = true
    },
    description = "Encases surrounding walls with ice for a short time. Foes that wander near the icy walls will be damaged, and this may temporarily slow cold-blooded creatures. Each victim is only ever affected by one icy wall at a time.\n\nThe ice will crack and fall away if the caster moves to a new position.",
    flags = {
      area = true,
      no_ghost = true
    },
    level = 3,
    name = "Frozen Ramparts",
    noise = {
      casting = 3,
      effect = 8
    },
    ["power cap"] = 50,
    range = {
      max = 2,
      min = 2
    },
    schools = {
      Ice = true
    }
  },
  ["Fulminant Prism"] = {
    books = {
      ["book of Blasting"] = true,
      ["book of Conjurations"] = 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
    },
    schools = {
      Conjuration = true,
      Alchemy = true
    }
  },
  Hailstorm = {
    books = {
      ["book of Frost"] = true,
      ["book of the Tundra"] = true
    },
    description = "Conjures a cannonade of hail. The eye of the storm is wide enough that monsters adjacent to the caster are unaffected. Due to the strong impact and cutting edges a significant portion of its damage bypasses cold resistance.",
    flags = {
      area = true
    },
    level = 3,
    name = "Hailstorm",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Conjuration = true,
      Ice = true
    }
  },
  Haunt = {
    books = {
      ["book of Death"] = true,
      ["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. The number of spectres summoned increases with spell power.",
    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
    },
    schools = {
      Necromancy = true,
      Summoning = true
    }
  },
  ["Ignite Poison"] = {
    books = {
      ["Everburning Encyclopedia"] = true,
      ["Trismegistus Codex"] = 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 = 4,
    name = "Ignite Poison",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Fire = true,
      Alchemy = true,
    }
  },
  Ignition = {
    books = {
      ["Everburning Encyclopedia"] = true,
      ["book of Spontaneous Combustion"] = true
    },
    description = "All foes in the caster's surroundings are engulfed in balls of fire. The caster and their allies are protected from the fire and will never be harmed by this spell.",
    flags = {
      area = true
    },
    level = 8,
    name = "Ignition",
    noise = {
      casting = 8,
      effect = 15
    },
    ["power cap"] = 200,
    schools = {
      Fire = true
    }
  },
  Infestation = {
    books = {
      ["book of Death"] = 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
    },
    schools = {
      Necromancy = true
    }
  },
  ["Inner Flame"] = {
    books = {
      ["book of Flames"] = true,
      ["book of Spontaneous Combustion"] = true
    },
    description = "Fills an enemy with an intense fire. This fire is released any time the target is hit, and explosively released upon death. The size of the explosion caused is dependent on the size of the target.",
    flags = {
      not_self = true,
      target = true,
      WL_check = true
    },
    level = 3,
    name = "Inner Flame",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Fire = true,
      Hexes = true
    }
  },
  Irradiate = {
    books = {
      ["book of Spontaneous Combustion"] = true,
      ["book of Transmutation"] = true
    },
    description = "Transmutes an ultra-thin layer of the caster's skin (or equivalent) directly into pure magical energy, blasting adjacent creatures. It heavily deforms its targets, weakening them and reducing their armour. 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
    },
    schools = {
      Conjuration = true,
      Alchemy = true
    }
  },
  ["Iskenderun's Battlesphere"] = {
    books = {
      ["book of Power"] = true,
      ["book of the Spheres"] = true
    },
    description = "Conjures a small globe of magical energy. Each time its creator casts a spell from the Conjuration school (other than Battlesphere itself or Spellforged Servitor), the battlesphere will launch its own volley of energy at a random foe. 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.",
    schools = {
      Conjuration = true
    }
  },
  ["Iskenderun's Mystic Blast"] = {
    books = {
      ["book of Blasting"] = true,
      ["book of Weapons"] = true
    },
    description = "Detonates a crackling sphere of destructive energy. The explosion will hit all nearby monsters with physical force, knocking them back if damage is done.",
    flags = {
      area = true
    },
    level = 4,
    name = "Iskenderun's Mystic Blast",
    noise = {
      casting = 4,
      effect = 10
    },
    ["power cap"] = 100,
    range = {
      max = 2,
      min = 2
    },
    schools = {
      Conjuration = true,
      Translocation = true
    }
  },
  ["Leda's Liquefaction"] = {
    books = {
      ["book of the Earth"] = true,
      ["book of Sloth"] = true
    },
    description = "Liquefies the ground around the caster, making it difficult to move through. Any movement through liquefied ground will be slowed, and creatures stuck in the liquefied ground will be unable to fly. Attempts to attack the caster 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. Maintaining the connection to the ground slows the caster's movement, even if they are flying.",
    flags = {
      area = true
    },
    level = 4,
    name = "Leda's Liquefaction",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Earth = true,
      Hexes = true
    }
  },
  ["Lee's Rapid Deconstruction"] = {
    books = {
      ["book of Iron"] = true,
      ["book of the Earth"] = 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 explosion. Metal targets will cause a small but more damaging explosion, and targets made from crystal will cause a large and more damaging explosion.",
    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\n were there; and there were upon the roof about three thousand men and women,\n that beheld while Samson made sport.\n\n And Samson called unto the LORD, and said, O Lord GOD, remember me, I pray\n thee, and strengthen me, I pray thee, only this once, O God, that I may be at\n once avenged of the Philistines for my two eyes.\n\n And Samson took hold of the two middle pillars upon which the house stood, and\n on which it was borne up, of the one with his right hand, and of the other\n with his left.\n\n And Samson said, Let me die with the Philistines. And he bowed himself with\n all his might; and the house fell upon the lords, and upon all the people that\n were therein. So the dead which he slew at his death were more than they which\n he slew in his life.”\n    -KJV Bible, Judges 16:27-30.",
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Earth = true
    }
  },
  ["Lehudib's Crystal Spear"] = {
    books = {
      ["book of Armaments"] = true,
      ["book of the Moon"] = 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 = 8
    },
    ["power cap"] = 200,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Conjuration = true,
      Earth = true
    }
  },
  ["Lesser Beckoning"] = {
    books = {
      ["book of Displacement"] = 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 = 2,
    name = "Lesser Beckoning",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 5,
      min = 3
    },
    schools = {
      Translocation = 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 = 1
    },
    ["power cap"] = 25,
    range = {
      max = 7,
      min = 7
    },
    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. The duration of the portal increases with spell power.",
    flags = {
      chaotic = true,
      unholy = true
    },
    level = 7,
    name = "Malign Gateway",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Summoning = true,
      Translocation = true
    }
  },
  ["Manifold Assault"] = {
    books = {
      ["book of the Warp"] = true,
      ["book of Battle"] = true
    },
    description = "Warps space into paradoxical configurations in order to strike many visible targets with one melee attack. At high power, it can be used to strike more enemies at once. Very high power is required to launch multiple unarmed strikes in this fashion, since greater care must be taken when warping one's own limbs.<br><br>The time taken for the attack is exactly the same as a normal attack. It's imprecise, so it can't do extra damage against unsuspecting foes.",
    flags = {
      no_ghost = true
    },
    level = 7,
    name = "Manifold Assault",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Translocation = true
    }
  },
  ["Maxwell's Capacitive Coupling"] = {
    books = {
      ["book of Spectacle"] = true,
      ["Maxwell's Memoranda"] = true
    },
    description = "Gradually builds up electric charge in the caster, so long as they maintain focus (by waiting in place and not taking any other actions). When a threshold is reached, the charge couples with the nearest foe, vaporising them instantly. Higher spell power will allow the caster to accumulate charge more rapidly.",
    flags = {
      no_ghost = true
    },
    level = 8,
    name = "Maxwell's Capacitive Coupling",
    noise = {
      casting = 7,
      effect = 25
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Air = true
    }
  },
  ["Mephitic Cloud"] = {
    books = {
      ["book of Vapours"] = true,
      ["book of the Senses"] = true
    },
    description = "Conjures up a short-lived cloud of noxious fumes, which may cause confusion in any creature not resistant to poison. Tougher, more experienced creatures are less likely to be affected.",
    flags = {
      area = true,
      cloud = true,
      dir_or_target = true,
      needs_tracer = true
    },
    level = 3,
    name = "Mephitic Cloud",
    noise = {
      casting = 3,
      effect = 15
    },
    ["power cap"] = 100,
    quote = "“Seit mehreren Jahren schon hatte die indische Cholera eine verstärkte\n Neigung zur Ausbreitung und Wanderung an den Tag gelegt. Erzeugt aus\n den warmen Moraesten des Ganges-Deltas, aufgestiegen mit dem\n mephitischen Odem jener üppig-untauglichen, von Menschen gemiedenen\n Urwelt- und Inselwildnis, in deren Bambusdickichten der Tiger kauert,\n hatte die Seuche in ganz Hindustan andauernd und ungewöhnlich heftig\n gewütet, hatte östlich nach China, westlich nach Afghanistan und\n Persien übergegriffen und, den Hauptstraßen des Karawanenverkehrs\n folgend, ihre Schrecken bis Astrachan, ja selbst bis Moskau getragen.”\n    -Thomas Mann, _Der Tod in Venedig_, 1911.",
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Air = true,
      Conjuration = true,
      Alchemy = true
    }
  },
  ["Metabolic Englaciation"] = {
    books = {
      ["book of Sloth"] = true,
      ["book of Winter"] = true
    },
    description = "Lowers the metabolic rate of every creature in the caster's vicinity, slowing all those who are not resistant to cold. Cold-blooded creatures 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,
    schools = {
      Hexes = true,
      Ice = true
    }
  },
  ["Monstrous Menagerie"] = {
    books = {
      ["book of Beasts"] = true
    },
    description = "Summons a powerful exotic creature to the caster's aid: a manticore, a lindwurm, or, at high power, even a sphinx. Casting the spell at higher power also increases the strength of the beasts themselves.",
    flags = {
      mons_abjure = true
    },
    level = 7,
    name = "Monstrous Menagerie",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Summoning = true
    }
  },
  ["Olgreb's Toxic Radiance"] = {
    books = {
      ["the Unrestrained Analects"] = true,
      ["Young Poisoner's Handbook"] = true
    },
    description = "Causes the caster to radiate toxic energy, continuously inflicting poison on everything in line of sight 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,
    schools = {
      Alchemy = true
    }
  },
  ["Orb of Destruction"] = {
    books = {
      ["book of Dangerous Friends"] = true,
      ["book of the Spheres"] = 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
    },
    schools = {
      Conjuration = true
    }
  },
  ["Ozocubu's Armour"] = {
    books = {
      ["book of Winter"] = true,
      ["book of Battle"] = true
    },
    description = "Envelops the caster's body in a protective layer of thick ice, granting a substantial bonus to armour as long as they remain in their current location. The ice will crack and fall away if the caster moves to a new position. The spell decreases in effectiveness in heavier armour, granting a lower bonus the higher the encumbrance rating of the caster's armour.",
    flags = {
      no_ghost = true
    },
    level = 3,
    name = "Ozocubu's Armour",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Ice = true
    }
  },
  ["Ozocubu's Refrigeration"] = {
    books = {
      ["book of Ice"] = true,
      ["the Unrestrained Analects"] = true
    },
    description = "Turns the air bitterly cold, freezing all other creatures in line of sight. This is less effective against creatures packed tightly together - those adjacent to others will be partly insulated from the cold, taking less damage.",
    flags = {
      area = true
    },
    level = 7,
    name = "Ozocubu's Refrigeration",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Ice = true
    }
  },
  ["Passage of Golubria"] = {
    books = {
      ["book of the Moon"] = true,
      ["Great Wizards, Vol. VII"] = 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"] = 100,
    range = {
      max = 7,
      min = 2
    },
    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 = {
      escape = true,
      not_self = true,
      target = true,
      utility = true
    },
    level = 3,
    name = "Passwall",
    noise = {
      casting = 0,
      effect = 0
    },
    ["power cap"] = 120,
    quote = "“He says the best way out is always through.”\n    -Robert Frost, _A Servant to Servants_. 1915.",
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Earth = true
    }
  },
  Petrify = {
    books = {
      ["book of Transmutation"] = true,
      ["book of Sloth"] = 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,
      needs_tracer = true,
      WL_check = true
    },
    level = 4,
    name = "Petrify",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 6,
      min = 6
    },
    schools = {
      Earth = true,
      Alchemy = true
    }
  },
  ["Polar Vortex"] = {
    books = {
      ["book of Ice"] = true
    },
    description = "Turns the air around the caster into a freezing vortex, doing tremendous damage to everyone caught in it that can only partially be mitigated by resistance to cold. 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 vortex is unable to follow the caster through long-distance translocations. The spell's effectiveness is greatly diminished in closed areas. After the vortex fades, it cannot be called forth again for a short time.",
    flags = {
      area = true
    },
    level = 9,
    name = "Polar Vortex",
    noise = {
      casting = 5,
      effect = 15
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    schools = {
      Ice = true
    }
  },
  Sandblast = {
    books = {
      ["book of Geomancy"] = true
    },
    description = "Blasts a target with high-velocity rock shards. Gathering the rock from ambient grit is slow, making this spell take half again as long to cast as most. 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 = 2
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Earth = true
    }
  },
  Scorch = {
    books = {
      ["book of Scorching"] = true
    },
    description = "Scorches a random foe. Those injured by this have their resistance to fire burned away for a short time.",
    flags = {
      no_ghost = true
    },
    level = 2,
    name = "Scorch",
    noise = {
      casting = 4,
      effect = 8
    },
    ["power cap"] = 50,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Fire = true
    }
  },
  ["Searing Ray"] = {
    books = {
      ["book of Conjurations"] = true
    },
    description = "Fires a continuous piercing ray of arcane energy from the caster's hands. 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 follow the caster's target if it should move.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 2,
    name = "Searing Ray",
    noise = {
      casting = 2,
      effect = 2
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Conjuration = true
    }
  },
  Shatter = {
    books = {
      ["book of Annihilations"] = true
    },
    description = "Causes an enormous burst of concussive force around the caster, dealing severe damage to all nearby creatures. It is especially effective against those made from ice, bone, or any wall-like substance (such as rock, metal or crystal), as well as those turned to stone by petrification. It is less effective against flying, gelatinous and insubstantial creatures. It may also destroy nearby walls.",
    flags = {
      area = true
    },
    level = 9,
    name = "Shatter",
    noise = {
      casting = 7,
      effect = 30
    },
    ["power cap"] = 200,
    quote = "“So the people shouted when the priests blew with the trumpets: and it came to\n pass, when the people heard the sound of the trumpet, and the people shouted\n with a great shout, that the wall fell down flat, so that the people went up\n into the city, every man straight before him, and they took the city.\n\n And they utterly destroyed all that was in the city, both man and woman, young\n and old, and ox, and sheep, and ass, with the edge of the sword.”\n    -KJV Bible, Joshua 6:20-21.",
    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 = 1
    },
    ["power cap"] = 25,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  Silence = {
    books = {
      ["book of the Moon"] = true,
      ["book of the Senses"] = 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,
    schools = {
      Air = true,
      Hexes = true
    }
  },
  Slow = {
    books = {
      ["book of Debilitation"] = true
    },
    description = "Slows the actions of a creature.",
    flags = {
      dir_or_target = true,
      needs_tracer = true,
      WL_check = true
    },
    level = 1,
    name = "Slow",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 25,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Hexes = true
    }
  },
  ["Spellforged Servitor"] = {
    books = {
      ["book of Dangerous Friends"] = true,
      ["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. The strength of the servitor increases with spell power.",
    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”",
    schools = {
      Conjuration = true,
      Summoning = true
    }
  },
  Starburst = {
    books = {
      ["book of Fire"] = true,
      ["book of Spectacle"] = true
    },
    description = "Releases penetrating bolts of fire from the caster in every direction.",
    flags = {
      area = true
    },
    level = 6,
    name = "Starburst",
    noise = {
      casting = 6,
      effect = 6
    },
    ["power cap"] = 200,
    range = {
      max = 5,
      min = 5
    },
    schools = {
      Conjuration = true,
      Fire = true
    }
  },
  ["Static Discharge"] = {
    books = {
      ["book of Storms"] = 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 = 2,
    name = "Static Discharge",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Air = true,
      Conjuration = true
    }
  },
  ["Sticky Flame"] = {
    books = {
      ["book of Flames"] = true,
      ["Everburning Encyclopedia"] = true
    },
    description = "Unleashes a short-ranged spray of incindiary goo that clings to an adjacent creature and deals armour-ignoring fire damage over several turns. If the victim is allowed to move, it will put out the fire prematurely.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 4,
    name = "Sticky Flame",
    noise = {
      casting = 4,
      effect = 1
    },
    ["power cap"] = 100,
    quote = "“Give a man a fire and he's warm for a day, but set fire to him and he's warm\n for the rest of his life.”\n    -Terry Pratchett, “Jingo”. 1997.",
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Alchemy = true,
      Fire = true
    }
  },
  Sting = {
    books = {
      ["Young Poisoner's Handbook"] = true,
      ["book of Cantrips"] = true
    },
    description = "Briefly transforms one of the caster's limbs into a long insectoid stinger, which lashes out at the target. The stinger's impact will always poison a susceptible target. Even resistant targets have a chance to be poisoned and immune monsters will be damaged by the physical impact of the stinger.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 1,
    name = "Sting",
    noise = {
      casting = 1,
      effect = 1
    },
    ["power cap"] = 25,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Alchemy = true,
      Conjuration = true
    }
  },
  ["Stone Arrow"] = {
    books = {
      ["book of Armaments"] = true,
      ["book of Geomancy"] = 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 = 3
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Conjuration = true,
      Earth = true
    }
  },
  ["Sublimation of Blood"] = {
    books = {
      ["book of Transmutation"] = true,
      ["book of Blood"] = 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"] = 100,
    schools = {
      Necromancy = true
    }
  },
  ["Summon Cactus Giant"] = {
    books = {
      ["book of Scorching"] = true,
      ["book of the Wilderness"] = true
    },
    description = "Summons a warrior from a particularly prickly tribe. Foes that strike these giants in melee are in for a painful surprise! When cast at a higher power, older, more robust warriors will answer the call.",
    flags = {},
    level = 6,
    name = "Summon Cactus Giant",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Summoning = true
    }
  },
  ["Summon Forest"] = {
    books = {
      ["book of the Wilderness"] = 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. Spell power increases the duration, size, and thickness of the intersected plane; as well as the strength of the spirit.",
    flags = {},
    level = 5,
    name = "Summon Forest",
    noise = {
      casting = 4,
      effect = 10
    },
    ["power cap"] = 200,
    schools = {
      Summoning = true,
      Translocation = true
    }
  },
  ["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. The number of abominations summoned increases with spell power.",
    flags = {
      chaotic = true,
      mons_abjure = true,
      unholy = true
    },
    level = 8,
    name = "Summon Horrible Things",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Summoning = true
    }
  },
  ["Summon Hydra"] = {
    books = {
      ["book of Blood"] = true,
      ["Fen Folio"] = true
    },
    description = "Summons a many-headed hydra to fight alongside the caster for a short time. Spell power determines the number of heads.",
    flags = {
      mons_abjure = true
    },
    level = 7,
    name = "Summon Hydra",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Summoning = true
    }
  },
  ["Summon Ice Beast"] = {
    books = {
      ["book of Beasts"] = true,
      ["book of the Tundra"] = true
    },
    description = "Calls forth a beast of ice to serve the caster. The strength of the beast depends on spell power.",
    flags = {},
    level = 3,
    name = "Summon Ice Beast",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Ice = true,
      Summoning = true
    }
  },
  ["Summon Lightning Spire"] = {
    books = {
      ["book of Storms"] = true,
      ["book of Iron"] = 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. The strength of the spire depends on spell power.",
    flags = {},
    level = 4,
    name = "Summon Lightning Spire",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Air = true,
      Summoning = true
    }
  },
  ["Summon Mana Viper"] = {
    books = {
      ["book of Beasts"] = true,
      ["book of the Wilderness"] = 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,
    schools = {
      Hexes = true,
      Summoning = true
    }
  },
  ["Summon Small Mammal"] = {
    books = {
      ["book of Callings"] = true,
      ["book of Cantrips"] = true
    },
    description = "Summons a rat, bat, or quokka to the caster's aid. Spell power increases the chance of summoning a quokka.",
    flags = {},
    level = 1,
    name = "Summon Small Mammal",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 25,
    schools = {
      Summoning = true
    }
  },
  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 = 3,
    name = "Swiftness",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 100,
    quote = "“JUST WALK OUT\n you can leave!!!\n  work\n  social thing\n  movies\n  home\n  class\n  dentist\n  clothes shoppi\n  too fancy weed store\n  cops if your quick\n  friend ships\n IF IT SUCKS... HIT DA BRICKS!!\n real winners quit” [sic]\n   -Admin, @dasharez0ne Twitter. March 30, 2018",
    schools = {
      Air = true
    }
  },
  ["Teleport Other"] = {
    books = {
      ["book of Displacement"] = true,
      ["There-And-Back Book"] = true
    },
    description = "Randomly translocates a targeted creature.",
    flags = {
      dir_or_target = true,
      escape = true,
      needs_tracer = true,
      not_self = true,
      WL_check = true
    },
    level = 3,
    name = "Teleport Other",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Translocation = true
    }
  },
  ["Tukima's Dance"] = {
    books = {
      ["book of Weapons"] = true,
      ["Great Wizards, Vol. VII"] = 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\nCertain powerful named artefacts cannot be animated, and any properties that require skill in evocations will not be active.",
    flags = {
      dir_or_target = true,
      needs_tracer = true,
      not_self = true,
      WL_check = true
    },
    level = 3,
    name = "Tukima's Dance",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Hexes = true
    }
  },
  ["Vampiric Draining"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of Necromancy"] = true
    },
    description = "Steals the life of an adjacent living creature and grants it to the caster.",
    flags = {
      dir_or_target = true,
      not_self = true
    },
    level = 3,
    name = "Vampiric Draining",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Necromancy = true
    }
  },
  ["Yara's Violent Unravelling"] = {
    books = {
      ["book of Misfortune"] = true,
      ["Great Wizards, Vol. VII"] = true
    },
    description = "If cast upon a creature already blessed (or cursed) with magical enchantments, those enchantments will be torn apart, transforming into a spray of destructive mutagenic radiation. The victim and anyone adjacent will be blasted and heavily deformed, weakening them and reducing their armour. Summoned creatures are particularly vulnerable, as the enchantments binding them to this plane will unravel and cause them to be dismissed immediately.",
    flags = {
      chaotic = true,
      no_ghost = true,
      target = true
    },
    level = 5,
    name = "Yara's Violent Unravelling",
    noise = {
      casting = 5,
      effect = 15
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Hexes = true,
      Alchemy = true
    }
  },
  ["Plasma Beam"] = {
    books = {
      ["book of Fire"] = true,
      ["book of Lightning"] = true
    },
    description = "Fires a penetrating beam of plasma at one of the caster's most distant foes. The ionized beam bypasses half of defenders' armour, and a second beam of fire follows in its wake.",
    flags = {
      needs_tracer = true
    },
    level = 6,
    name = "Plasma Beam",
    noise = {
      casting = 6,
      effect = 20
    },
    ["power cap"] = 200,
    range = {
      max = 7,
      min = 7
    },
    schools = {
      Fire = true,
      Air = true
    }
  },
  ["Volatile Blastmotes"] = {
    books = {
      ["book of Blasting"] = true,
      ["book of Spectacle"] = true
    },
    description = "Brings forth a cloud of volatile blastmotes around the caster, which explode when something moves into them or when they're exposed to open flames. The explosion is concussive, knocking adjacent creatures away. Damage done rises with the spell's power.",
    flags = {
    },
    level = 3,
    name = "Volatile Blastmotes",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Fire = true,
      Translocation = true,
    },
  },
  ["Kiss of Death"] = {
    books = {
      ["book of Touch"] = true
    },
    description = "Conjures forth a fragment of the caster's essence and twists it into a fragment of death, painfully draining the victim. The caster, too, will find their health reduced, until they gain enough experience to recover.",
    flags = {
      unclean = true,
      dir_or_target = true,
      not_self = true,
    },
    level = 1,
    name = "Kiss of Death",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 25,
    range = {
      max = 1,
      min = 0
    },
    schools = {
      Conjuration = true,
      Necromancy = true,
    },
  },
  ["Momentum Strike"] = {
    books = {
      ["book of Spatial Translocations"] = true,
    },
    description = "Blasts a target with energy borrowed from the caster's own future movement. For a short time afterward, the caster will be left immotile - unable to walk, fly around, slither, etc. Only motile creatures can cast this spell.",
    flags = {

      not_self = true,
    },
    level = 2,
    name = "Momentum Strike",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Conjuration = true,
      Translocation = true,
    },
  },
  ["Arcjolt"] = {
    books = {
      ["book of Lightning"] = true,
      ["Maxwell's Memoranda"] = true,
    },
    description = "Sends a wave of electricity through everything adjacent or near-adjacent to the caster. The electricity continues to arc through everything in a connected chain, though the caster themself is unaffected. The damage dealt bypasses half of defenders' armour.",
    flags = {
      dir_or_target = true,
      not_self = true,
    },
    level = 5,
    name = "Arcjolt",
    noise = {
      casting = 5,
      effect = 10
    },
    ["power cap"] = 200,
    schools = {
      Conjuration = true,
      Air = true,
    },
  },
  ["Vhi's Electric Charge"] = {
    books = {
      ["book of Lightning"] = true,
      ["Maxwell's Memoranda"] = true,
    },
    description = "Sends the caster hurtling at a chosen nearby enemy, launching a high-accuracy melee attack on arrival. Additional electric damage will be dealt based on the length of the charge, the power of the spell, and the physical damage of the attack. The caster is wrapped in an envelope of twisted space, allowing them to safely pass through creatures, traps, and harmful terrain, and to displace creatures at their destination.",
    flags = {
      not_self = true,
    },
    level = 4,
    name = "Vhi's Electric Charge",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 50,
    schools = {
      Translocation = true,
      Air = true,
    },
  },
  ["Jinxbite"] = {
    books = {
      ["book of Misfortune"] = true,
      ["book of Party Tricks"] = true
    },
    description = "Calls the attention of trickster spirits. While it holds, the spirits will follow up on the caster's attacks. If the spell overcomes victims' willpower, they will suffer minor damage and be drained by the sprites' playful malice.<br><br>Fae assistance is fickle, however; they cannot be beckoned unless a susceptible victim is visible, and will depart rapidly once no more remain. Calling on the fae also reduces the caster's own willpower for a time.",
    flags = {
      WL_check = true,
    },
    level = 2,
    name = "Jinxbite",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Hexes = true,
    },
  },
  ["Mercury Vapours"] = {
    books = {
      ["book of Vapours"] = true,
      ["Young Poisoner's Handbook"] = true
    },
    description = "Briefly transmutes the air around a target into gaseous mercury, poisoning those who breathe it in. Further, the target and adjacent creatures (living or otherwise) may be weakened by mere exposure to the alchemical substance.",
    flags = {
      not_self = true,
      target = true
    },
    level = 2,
    name = "Mercury Vapours",
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Air = true,
      Alchemy = true
    }
  },
  ["Sigil of Binding"] = {
    books = {
      ["book of Debilitation"] = true,
      ["book of the Hunter"] = true,
    },
    description = "Creates two sigils nearby. Anyone who passes over them will be bound, able to act and dodge normally but unable to move away. When the effect wears off, their movement speed will rebound, giving them temporary swiftness and preventing subsequent binding effects.<br><br>Only one set of sigils can be maintained at a time and they will expire prematurely if they leave your sight.",
    flags = {
      WL_check = true,
    },
    level = 3,
    name = "Sigil of Binding",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    range = {
      max = 2,
      min = 2
    },
    schools = {
      Hexes = true,
    },
  },
  ["Brom's Barrelling Boulder"] = {
    books = {
      ["book of Geomancy"] = true,
      ["book of the Spheres"] = true,
    },
    description = "Unleashes a massive rolling boulder in a given cardinal direction. The boulder squashes and knocks back creatures it strikes, suffering wear and tear with each hit. If it strikes a wall, it will explode into fragments of rock, doing damage that is strongly reduced by armour.",
    flags = {
      not_self = true,
    },
    level = 4,
    name = "Brom's Barrelling Boulder",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Earth = true,
      Conjuration = true,
    },
  },
  ["Dimensional Bullseye"] = {
    books = {
      ["book of Weapons"] = true,
      ["book of the Hunter"] = true,
    },
    description = "Weaves a link between the caster's weaponry and a chosen target. Whenever the caster fires or throws something at a *different* enemy, a matching projectile will be teleported at the target. Spellpower increases their accuracy.",
    flags = {},
    level = 4,
    name = "Dimensional Bullseye",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Hexes = true,
      Translocation = true,
    },
  },
  ["Summon Blazeheart Golem"] = {
    books = {
      ["book of Callings"] = true,
      ["book of Dangerous Friends"] = true
    },
    description = "Summons a volatile elemental spark encased in a shell of slag iron. It is capable of raining down powerful blows on its summoner's adversaries - so powerful that the golem itself is often damaged by their impact.<br><br> Only tenuously bound to this world, the flames within it will rapidly go dormant whenever its summoner leaves its side. If its shell is ever destroyed while still active, the exposed core will violently detonate a moment later.",
    flags = {},
    level = 4,
    name = "Summon Blazeheart Golem",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Fire = true,
      Summoning = true
    },
  },
  ["Martyr's Knell"] = {
    books = {
      ["book of Decay"] = true,
      ["book of Necromancy"] = true
    },
    description = "Beckons forth the soul of a long-dead martyr to shield your allies for a time. This soul suffers a portion of the damage your allies would otherwise receive.<br><br>If it is slain (again!), it will transform into a flayed ghost, inflicting illusory wounds on foes. Such wounds are fleeting, and will disappear when the ghost departs - unless you kill its victims first.",
    flags = {},
    level = 4,
    name = "Martyr's Knell",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Necromancy = true,
      Summoning = true
    },
  },
  ["Curse of Agony"] = {
    books = {
      ["book of Necromancy"] = true,
      ["book of the Senses"] = true
    },
    description = "Curses a foe, halving their remaining health after the next two times thatthe caster strikes them in melee.",
    flags = {
      dir_or_target = true,
      needs_tracer = true,
      not_self = true,
      WL_check = true
    },
    level = 5,
    name = "Curse of Agony",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 3,
      min = 3
    },
    schools = {
      Necromancy = true,
    },
  },
  ["Sculpt Simulacrum"] = {
    books = {
      ["book of Ice"] = true,
      ["book of the Tundra"] = true,
      ["book of Winter"] = true
    },
    description = "Forms icy simulacra of an adjacent living, demonic, or holy creature. These fragile doppelgangers will take shape over a short period of time, eventually gaining the ability to move and attack the caster's enemies.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 6,
    name = "Sculpt Simulacrum",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    range = {
      max = 1,
      min = 1
    },
    schools = {
      Ice = true,
      Alchemy = true
    },
  },
  ["Bombard"] = {
    books = {
      ["book of Power"] = true,
      ["book of the Earth"] = true
    },
    description = "Blasts an iron ball toward a target. The force of the blast often sends the caster staggering backwards.",
    flags = {
      dir_or_target = true,
      needs_tracer = true
    },
    level = 6,
    name = "Bombard",
    noise = {
      casting = 6,
      effect = 6
    },
    ["power cap"] = 200,
    range = {
      max = 4,
      min = 4
    },
    schools = {
      Conjuration = true,
      Earth = true
    },
  },
  ["Fugue of the Fallen"] = {
    books = {
      ["book of Dreams"] = true,
      ["book of Battle"] = true
    },
    description = "Calls out to the lingering remnants of the long dead. While active, each non-summoned enemy the caster or their allies slays attracts more vengeful souls into the caster's weapon, temporarily enhancing their melee and ranged effectiveness. When this bonus reaches its maximum, every hit will unleash a glimmer of the dead's suffering, causing pain damage to each other foe adjacent to your target.\n\nRecasting this spell will release your grip on the souls you've attracted, resetting any bonus you've accumulated, and the cacophonous wailing of the dead may attract unwanted attention even while you maintain it.",
    flags = {
      selfench = true
    },
    level = 3,
    name = "Fugue of the Fallen",
    noise = {
      casting = 3,
      effect = 8
    },
    ["power cap"] = 100,
    schools = {
      Necromancy = true
    },
  },
  ["Permafrost Eruption"] = {
    books = {
      ["book of Earth"] = true,
      ["book of the Tundra"] = true
    },
    description = "Calls on the ancient cold lurking within the earth to emerge - violently. The force of its emergence blasts rock from the ceiling, smashing into the target with unavoidable force. The cold itself is brief but unbearably bitter, bypassing armour entirely as it freezes the target and their neighbours. \n\nIt will always attempt to blast the largest concentration of foes in sight, and never explodes next to the caster.",
    flags = {needs_tracer = true, destructive = true},
    level = 6,
    name = "Permafrost Eruption",
    noise = {
      casting = 6,
      effect = 0
    },
    range = {
      min = 6,
      max = 6
    },
    ["power cap"] = 200,
    schools = {
      Earth = true,
      Ice = true
    }
  },
  ["Gell's Gavotte"] = {
    books = {
      ["book of the Warp"] = true,
      ["There-And-Back Book"] = true,
      ["Book of Movement"] = true
    },
    description = "Briefly reorients local gravity to be in a cardinal direction of the caster's choosing, causing all creatures in sight to tumble a short distance in that direction. \n\nThe caster is not immune to the gravitational effects of this spell, but will be cushioned so they take no collision damage. Other creatures are not so fortunate, and the abrupt impact will batter anything which was not already standing beside its new 'floor'. \n\nIt takes a short time for gravity to stabilise enough to recast this spell, though more powerful mages are able to do so more frequently.",
    flags = {dir_or_target = true, needs_tracer = true},
    level = 6,
    range = {
      min = 1,
      max = 1
    },
    name = "Gell's Gavotte",
    noise = {
      casting = 6,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Translocation = true
    }
  },

  ["Hellfire Mortar"] = {
    books = {
      ["book of Armaments"] = true,
      ["Compendium of Siegecraft"] = true
    },
    description = "Splits apart the ground in front of the caster and sculpts a terrifying weapon out of molten rock. This mortar will move slowly along the lava-filled chasm, autonomously launching gouts of magma at the caster's enemies as it does so. \n\nWhen it reaches the end of its path, or is obstructed in its movement by another creature, it will sink back into the lava, and the chasm will seal itself shut shortly thereafter.",
    flags = {},
    level = 7,
    range = {
      min = 8,
      max = 8
    },
    name = "Hellfire Mortar",
    noise = {
      casting = 7,
      effect = 20
    },
    ["power cap"] = 200,
    schools = {
      Earth = true,
      Fire = true
    }
  },

  ["Magnavolt"] = {
    books = {
      ["Maxwell's Memoranda"] = true,
      ["book of Iron"] = true
    },
    description = "Envelops a target in a thin layer of magnetically charged metal fragments, then unleashes a powerful surge of electricity that arcs unerringly towards every visible target coated in these fragments - firing an additional beam at each target thus marked. \n\nMagnetised creatures are additionally unable to evade attacks and will be revealed if invisible. If they die while still coated, they will leave behind a short-lived cloud of electrified metal that will continue to serve as a lightning rod for this spell.",
    flags = {
        target = true,
        needs_tracer = true,
        destructive = true
    },
    level = 7,
    range = {
      min = 8,
      max = 8
    },
    name = "Magnavolt",
    noise = {
      casting = 7,
      effect = 20
    },
    ["power cap"] = 200,
    schools = {
      Air = true,
      Earth = true
    }
  },

  ["Fulsome Fusillade"] = {
    books = {
      ["book of Transmutation"] = true,
      ["book of Spectacle"] = true
    },
    description = "A magnum opus of reckless chemistry, this spell conjures up a surfeit of volatile reagents to rain down upon your enemies. For the next several turns, up to 3 random enemies in sight will be struck by an exploding beaker that inflicts either fire, cold, electric, or poison damage. If any of these explosions overlap each other, the resulting reaction will inflict even greater irresistible damage and sometimes apply a random deleterious status on whoever is caught in the blast. \n\nThis spell costs a small amount of the caster's magical energy each turn to maintain, and while it will never aim an explosion where it could hurt the caster, the caster's allies (and anything else in the general vicinity) are not so fortunate.",
    flags = {
        area = true,
        destructive = true,
        chaotic = true},
    level = 8,
    range = {
      min = 8,
      max = 8
    },
    name = "Fulsome Fusillade",
    noise = {
      casting = 8,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Conjuration = true,
      Alchemy = true
    }
  },

  ["Rimeblight"] = {
    books = {
      ["book of Wicked Creation"] = true,
      ["book of Maladies"] = true
    },
    description = "Afflicts a creature with a magical plague that slowly freezes them from the inside out. Victims take AC-ignoring cold damage each turn, and as the disease progresses, shards of crystalline ice may erupt violently from their body, damaging nearby enemies and even spreading the affliction to others. \n\nIn living, holy, or demonic creatures, the disease is especially virulent, feeding off the necromantic energies released by its host's suffering. As they approach the point of death, it will accelerate rapidly, devouring the last vestiges of their body and leaving nothing behind but a twisted pillar of stygian ice.",
    flags = {
        dir_or_target = true,
        unclean = true,
        destructive = true},
    level = 7,
    range = {
      min = 5,
      max = 5
    },
    name = "Rimeblight",
    noise = {
      casting = 7,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Necromancy = true,
      Ice = true
    }
  },

  ["Cigotuvi's Putrefaction"] = {
    books = {
      ["book of Decay"] = true,
      ["Trismegistus Codex"] = true
    },
    description = "Magically accelerates the decay of damaged living tissue, causing great clouds of miasma to billow forth from a targeted victim's wounds over several turns which may slow and heavily poison any living creature who stands in them. Air currents will prevent this pestilence from forming wherever the caster is standing, but they are not otherwise protected from its effects. \n\nThis spell may only be cast on a living creature who is at least heavily wounded, and channelling such necrotic energies will leave the caster's own health temporarily drained (though spellpower will reduce the intensity of this side-effect).",
    flags = {
        target = true,
        unclean = true,},
    level = 4,
    range = {
      min = 5,
      max = 5
    },
    name = "Cigotuvi's Putrefaction",
    noise = {
      casting = 4,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Necromancy = true,
      Air = true
    }
  },

  ["Hoarfrost Cannonade"] = {
    books = {
      ["book of Winter"] = true,
      ["Compendium of Siegecraft"] = true
    },
    description = "Conjures a cannonade of hail, battering nearby creatures that fail to dodge. The eye of the storm is wide enough that monsters adjacent to the caster are unaffected. Due to the strong impact and cutting edges, half of its damage bypasses cold resistance.",
    flags = {},
    level = 5,
    name = "Hoarfrost Cannonade",
    noise = {
      casting = 5,
      effect = 0
    },
    ["power cap"] = 200,
    schools = {
      Ice = true,
      Alchemy = true
    }
  },
  ["Maxwell's Portable Piledriver"] = {
    books = {
      ["book of Displacement"] = true,
      ["Maxwell's Memoranda"] = true
    },
    description = "Compresses an envelope of space around the caster and an adjacent enemy, then allows it to decompress abruptly, propelling both of them forward until the latter collides with something, inflicting damage proportional to the distance travelled. \n\nOriginally designed for use in construction, it will automatically target the nearest mass with the longest clear path towards a wall or other solid object (such as another monster).",
    flags = {},
    level = 3,
    range = {min=5, max=5},
    name = "Maxwell's Portable Piledriver",
    noise = {
      casting = 3,
      effect = 0
    },
    ["power cap"] = 100,
    schools = {
      Translocation = true
    }
  },

  ["Grave Claw"] = {
    books = {
      ["book of Unlife"] = true,
    },
    description = "Calls forth the spite of the recently dead to skewer a targeted enemy with shards of bone. This spell never misses, and will pin its target in place for several turns, but casting it rapidly consumes the remnants of death that linger upon the caster. \n\nYou can stockpile enough malice to cast this spell at most three times, and this can only be replenished by causing the death of a sufficient number of living beings.",
    flags = {
      target = true, not_self = true
    },
    level = 2,
    name = "Grave Claw",
    range = {
      min = 4,
      max = 4
    },
    noise = {
      casting = 2,
      effect = 0
    },
    ["power cap"] = 50,
    schools = {
      Necromancy = true
    }
  },
  ["Soul Splinter"] = {
    books = {
      ["book of Necromancy"] = true,
      ["book of Cantrips"] = true
    },
    description = "Attempts to force a tiny fragment of a living, holy, or demonic being's soul to take leave of their body and manifest as a soul wisp. This wisp is nominally under the necromancer's control, but will focus its attacks foremost on the creature it was created from, instinctually trying to return to its proper home once more. The victim will be weakened until the wisp reverts to where it belongs. \n\nWisps created from more powerful souls have more damaging attacks, but are always fragile.",
    flags = {dir_or_target = true, not_self = true, needs_tracer = true, WL_check = true},
    level = 1,
    range = {
      min = 5,
      max = 5
    },
    name = "Soul Splinter",
    noise = {
      casting = 1,
      effect = 0
    },
    ["power cap"] = 25,
    schools = {
      Necromancy = true
    }
  },

}