Difference between revisions of "Module:Table of spells"

From CrawlWiki
Jump to: navigation, search
(Remove form spells and wereblood, change remaining transmutation spells to alchemy)
m (Remove accidental Lehudib's Crystal Spear duplication)
 
(43 intermediate revisions by 7 users not shown)
Line 1: Line 1:
-- Table of spells (0.29.1)
+
local m = {}
return {
+
m["Airstrike"] = {
  Agony = {
+
  books = {
    books = {
+
    ["book of Air"] = true,  
      ["book of Necromancy"] = true,
+
    ["book of Storms"] = true,
      ["book of the Senses"] = 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.",  
    description = "Cuts the health of an adjacent creature in half. This damage is never directly lethal.",
+
  flags = {
    flags = {
+
    destructive = true,  
      dir_or_target = true,
+
    not_self = true,  
      needs_tracer = true,
+
    target = true,
      not_self = true,
+
  },  
      WL_check = true
+
  level = 4,  
    },
+
  name = "Airstrike",  
    level = 5,
+
  noise = {casting = 4, effect = 4},  
    name = "Agony",
+
  ["power cap"] = 200,  
    noise = {
+
  range = {max = 8, min = 8},  
      casting = 4,
+
  schools = {
      effect = 0
+
    Air = true,
    },
 
    ["power cap"] = 100,
 
    quote = "“Unbearable, isn't it? The suffering of strangers, the agony of friends. There\n is a secret song at the center of the world, Joey, and its sound is like\n razors through flesh.”\n    -Pinhead, _Hellraiser 3: Hell on Earth_. 1992.",
 
    range = {
 
      max = 1,
 
      min = 1
 
    },
 
    schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  Airstrike = {
+
}
    books = {
+
m["Alistair's Intoxication"] = {
      ["book of Air"] = true,
+
  books = {
      ["book of Storms"] = true
+
    ["Great Wizards, Vol. II"] = true,  
    },
+
    ["book of Party Tricks"] = 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 = {
+
  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.",  
      not_self = true,
+
  flags = {
      target = true
+
  },  
    },
+
  level = 5,  
    level = 4,
+
  name = "Alistair's Intoxication",  
    name = "Airstrike",
+
  noise = {casting = 5, effect = 0},  
    noise = {
+
  ["power cap"] = 150,  
      casting = 2,
+
  schools = {
      effect = 4
+
     Alchemy = true,
    },
 
    ["power cap"] = 200,
 
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
     schools = {
 
      Air = true
 
    }
 
 
   },
 
   },
  ["Alistair's Intoxication"] = {
+
}
    books = {
+
m["Alistair's Walking Alembic"] = {
      ["book of Party Tricks"] = true,
+
  books = {
      ["Great Wizards, Vol. II"] = true
+
    ["book of Contraptions"] = true,  
    },
+
    ["book of Metalworking"] = 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 = {},
+
  description = "Constructs a mobile and combat-capable alchemical manufactory. It uses the friction of melee combat to brew a variety of useful potions, venting clouds of their toxic byproducts at whatever it punches. When it has built up enough heat to complete its synthesis, it will automatically dispense the finished potions to nearby allies before falling apart.",  
    level = 5,
+
  flags = {
    name = "Alistair's Intoxication",
+
  },  
    noise = {
+
  level = 5,  
      casting = 3,
+
  name = "Alistair's Walking Alembic",  
      effect = 0
+
  noise = {casting = 5, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 150,
+
  quote = "Despite its unwieldy appearance, it is widely considered Alistair's most popular work; countless variations of this spell can be found in surface libraries, customised to prepare everything from floor polish to vegetable soup. In the depths of the dungeon, however, most mages favor the combat utility of the classic iteration.",
    schools = {
+
  schools = {
      Alchemy = true
+
    Alchemy = true,
     }
+
     Forgecraft = true,
 
   },
 
   },
  Anguish = {
+
}
    books = {
+
m["Anguish"] = {
      ["book of Dreams"] = true,
+
  books = {
      ["book of Maledictions"] = true
+
    ["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 = {
+
  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.",  
      area = true,
+
  flags = {
      WL_check = true
+
    WL_check = true,  
    },
+
    area = true,
    level = 4,
+
  },  
    name = "Anguish",
+
  level = 4,  
    noise = {
+
  name = "Anguish",  
      casting = 4,
+
  noise = {casting = 4, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 8, min = 8},  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
    Hexes = true,  
      max = 7,
+
    Necromancy = true,
      min = 7
 
    },
 
    schools = {
 
      Hexes = true,
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Animate Armour"] = {
+
}
    books = {
+
m["Animate Dead"] = {
      ["book of Armaments"] = true,
+
  books = {
      ["book of Iron"] = true
+
    ["book of Death"] = true,  
    },
+
    ["book of the Grave"] = 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 = {},
+
  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.",  
    level = 4,
+
  flags = {
    name = "Animate Armour",
+
    helpful = true,
    noise = {
+
    no_ghost = true,
      casting = 4,
+
    utility = true,
      effect = 0
+
  },  
    },
+
  level = 4,  
    ["power cap"] = 50,
+
  name = "Animate Dead",  
     schools = {
+
  noise = {casting = 4, effect = 0},  
      Earth = true,
+
  ["power cap"] = 100,
      Summoning = true
+
  quote = [=[“Remember, I am not recording the vision of a madman. The sun does not more
    }
+
certainly shine in the heavens, than that which I now affirm is true. Some
 +
miracle might have produced it, yet the stages of the discovery were distinct
 +
and probable. After days and nights of incredible labour and fatigue, I
 +
succeeded in discovering the cause of generation and life; nay, more, I became
 +
myself capable of bestowing animation upon lifeless matter.”
 +
     -Mary Shelley, _Frankenstein, or the Modern Prometheus_,
 +
    Vol. I, Chapter 3. 1818 (1st Ed.)]=],
 +
  schools = {
 +
    Necromancy = true,
 
   },
 
   },
  ["Animate Dead"] = {
+
}
    books = {
+
m["Apportation"] = {
      ["book of Death"] = true,
+
  books = {
      ["book of Unlife"] = true
+
    ["book of Cantrips"] = true,  
    },
+
    ["book of Party Tricks"] = 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 = {
+
  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.
      helpful = true,
+
 
      selfench = true,
+
Extremely powerful magical items, such as the Orb of Zot, may actively resist the pull of this spell.]=],  
      utility = true
+
  flags = {
    },
+
    not_self = true,  
    level = 4,
+
    obj = true,  
    name = "Animate Dead",
+
    target = true,
    noise = {
+
  },  
      casting = 3,
+
  level = 1,  
      effect = 0
+
  name = "Apportation",  
    },
+
  noise = {casting = 1, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 50,  
    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.)",
+
  range = {max = 8, min = 8},  
    schools = {
+
  schools = {
      Necromancy = true
+
    Translocation = true,
    }
 
 
   },
 
   },
  Apportation = {
+
}
    books = {
+
m["Arcjolt"] = {
      ["book of Cantrips"] = true,
+
  books = {
      ["book of Party Tricks"] = true
+
    ["Codex of Conductivity"] = true,  
    },
+
    ["book of Lightning"] = 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 = {
+
  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.",  
      not_self = true,
+
  flags = {
      obj = true,
+
    area = true,
      target = true
+
  },  
    },
+
  level = 5,  
    level = 1,
+
  name = "Arcjolt",  
    name = "Apportation",
+
  noise = {casting = 5, effect = 10},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 1,
+
  range = {max = 2, min = 2},  
      effect = 0
+
  schools = {
    },
+
    Air = true,
    ["power cap"] = 50,
+
     Conjuration = true,
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    schools = {
 
      Translocation = true
 
     }
 
 
   },
 
   },
  Blink = {
+
}
    books = {
+
m["Awaken Armour"] = {
      ["book of Spatial Translocations"] = true,
+
  books = {
      ["Inescapable Atlas"] = true
+
    ["book of Iron"] = true,  
    },
+
    ["book of the Fortress"] = 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 = {
+
  description = [=[Draws upon the memory of your worn armour to manifest an echo of it that fights alongside you. This echo moves slowly, but the power of its blows increases dramatically with the weight of the armour used to form it. It possesses all the defensive properties of the armour itself.
      escape = true,
+
 
      selfench = true,
+
Spellpower increases its durability.]=],  
      utility = true
+
  flags = {
    },
+
  },  
    level = 2,
+
  level = 4,  
    name = "Blink",
+
  name = "Awaken Armour",  
    noise = {
+
  noise = {casting = 4, effect = 0},  
      casting = 2,
+
  ["power cap"] = 50,  
      effect = 0
+
  quote = "\"A blacksmith shapes the heart of their steel just as much as any leader shapes the hearts of their soldiers. If this armour of mine could speak, I know it would say that we fight for the same cause.\"",
    },
+
  schools = {
    ["power cap"] = 50,
+
    Earth = true,
    schools = {
+
     Forgecraft = true,
      Translocation = true
 
     }
 
 
   },
 
   },
  ["Borgnjor's Revivification"] = {
+
}
    books = {
+
m["Blink"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["book of Minor Magic"] = 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.",
+
     ["book of Spatial Translocations"] = true,
    flags = {
+
  },  
      utility = true
+
  description = "Randomly translocates the caster a short distance. After translocating in this way, the spell cannot be cast again for a short period of time depending on spell power.",  
    },
+
  flags = {
    level = 8,
+
    escape = true,
    name = "Borgnjor's Revivification",
+
    selfench = true,
    noise = {
+
    utility = true,
      casting = 6,
+
  },  
      effect = 0
+
  level = 2,  
    },
+
  name = "Blink",  
    ["power cap"] = 200,
+
  noise = {casting = 2, effect = 0},  
    schools = {
+
  ["power cap"] = 50,  
      Necromancy = true
+
  schools = {
    }
+
    Translocation = true,
 
   },
 
   },
  ["Borgnjor's Vile Clutch"] = {
+
}
    books = {
+
m["Bombard"] = {
      ["book of Unlife"] = true,
+
  books = {
      ["Great Wizards, Vol. II"] = true
+
    ["Compendium of Siegecraft"] = true,  
    },
+
    ["book of Power"] = 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 = {
+
  description = "Blasts an iron ball toward a target. The force of the blast often sends the caster staggering backwards.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    dir_or_target = true,  
    },
+
    needs_tracer = true,
    level = 5,
+
  },  
    name = "Borgnjor's Vile Clutch",
+
  level = 6,  
    noise = {
+
  name = "Bombard",  
      casting = 5,
+
  noise = {casting = 6, effect = 0},  
      effect = 4
+
  ["power cap"] = 200,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
    Conjuration = true,  
      max = 6,
+
    Earth = true,
      min = 6
 
    },
 
    schools = {
 
      Earth = true,
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Call Canine Familiar"] = {
+
}
    books = {
+
m["Borgnjor's Revivification"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of the Hunter"] = true
+
    Necronomicon = 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.",
+
  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.
    flags = {},
+
 
    level = 3,
+
It 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.]=],  
    name = "Call Canine Familiar",
+
  flags = {
    noise = {
+
    utility = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 8,  
    },
+
  name = "Borgnjor's Revivification",  
    ["power cap"] = 100,
+
  noise = {casting = 8, effect = 0},  
    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.",
+
  ["power cap"] = 200,  
    schools = {
+
  schools = {
      Summoning = true
+
    Necromancy = true,
    }
 
 
   },
 
   },
  ["Call Imp"] = {
+
}
    books = {
+
m["Borgnjor's Vile Clutch"] = {
      ["book of Minor Magic"] = true
+
  books = {
    },
+
    ["Great Wizards, Vol. II"] = 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.",
+
    ["book of the Grave"] = true,
    flags = {
+
  },  
      selfench = 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.",  
      unholy = true
+
  flags = {
     },
+
    dir_or_target = true,  
    level = 2,
+
    needs_tracer = true,
    name = "Call Imp",
+
     not_self = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 5,  
      effect = 0
+
  name = "Borgnjor's Vile Clutch",  
    },
+
  noise = {casting = 5, effect = 5},  
    ["power cap"] = 100,
+
  ["power cap"] = 200,  
    schools = {
+
  range = {max = 6, min = 6},
      Summoning = true
+
  schools = {
     }
+
    Earth = true,
 +
     Necromancy = true,
 
   },
 
   },
  ["Cause Fear"] = {
+
}
    books = {
+
m["Brom's Barrelling Boulder"] = {
      ["book of Hexes"] = true,
+
  books = {
      ["book of the Dragon"] = true
+
    ["Compendium of Siegecraft"] = true,  
    },
+
    ["book of the Spheres"] = 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 = {
+
  description = [=[Unleashes a massive rolling boulder in a given compass direction. This boulder damages any creature it hits, rolling over those who perish beneath it and pushing any others helplessly backwards (along with anyone else unfortunate enough to be standing behind them).
      area = true,
+
 
      WL_check = true
+
Its size and reckless locomotion make it difficult to use in confined areas; if launched down narrow passages, it will rapidly abrade against the walls and fall apart. It will also crumble if it leaves the caster's sight or strikes a wall or otherwise unmoveable creature.]=],  
    },
+
  flags = {
    level = 4,
+
    not_self = true,  
    name = "Cause Fear",
+
    target = true,
    noise = {
+
  },  
      casting = 3,
+
  level = 4,  
      effect = 0
+
  name = "Brom's Barrelling Boulder",  
    },
+
  noise = {casting = 4, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 100,  
    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 = 8, min = 8},  
    range = {
+
  schools = {
      max = 7,
+
    Conjuration = true,
      min = 7
+
     Earth = true,
    },
 
    schools = {
 
      Hexes = true
 
     }
 
 
   },
 
   },
  ["Chain Lightning"] = {
+
}
    books = {
+
m["Call Canine Familiar"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["book of Callings"] = 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.",
+
     ["book of the Hunter"] = true,
    flags = {
+
  },  
      area = 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.
    },
+
 
    level = 9,
+
Recasting this spell while your familiar is nearby will imbue it with additional magic, mending some of its wounds, cleansing it of poison, and causing its next attack to strike more quickly and cleave adjacent foes.]=],  
    name = "Chain Lightning",
+
  flags = {
    noise = {
+
  },  
      casting = 25,
+
  level = 3,  
      effect = 10
+
  name = "Call Canine Familiar",  
    },
+
  noise = {casting = 3, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 100,  
    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.",
+
  quote = [=[“There seemed a strange stillness over everything. But as I listened, I heard
     schools = {
+
as if from down below in the valley the howling of many wolves. The Count's
      Air = true,
+
eyes gleamed, and he said.
      Conjuration = true
+
 
    }
+
‘Listen to them, the children of the night. What music they make!’ Seeing, I
 +
suppose, some expression in my face strange to him, he added, ‘Ah, sir, you
 +
dwellers in the city cannot enter into the feelings of the hunter.’”
 +
     -Bram Stoker, _Dracula_. 1897.]=],
 +
  schools = {
 +
    Summoning = true,
 
   },
 
   },
  ["Confusing Touch"] = {
+
}
    books = {
+
m["Call Imp"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of Misfortune"] = true
+
    ["book of Callings"] = true,  
    },
+
    ["book of Minor Magic"] = 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 = {
+
  description = "Calls forth a minor demon from the pits of Hell, equipped with a spear with which to jab at the caster's enemies. The quality of the imp's weaponry rises with spell power.",  
      selfench = true,
+
  flags = {
      WL_check = true
+
    unholy = true,
    },
+
  },  
    level = 3,
+
  level = 2,  
    name = "Confusing Touch",
+
  name = "Call Imp",  
    noise = {
+
  noise = {casting = 2, effect = 0},  
      casting = 2,
+
  ["power cap"] = 50,  
      effect = 0
+
  schools = {
    },
+
    Summoning = true,
    ["power cap"] = 100,
 
    schools = {
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Conjure Ball Lightning"] = {
+
}
    books = {
+
m["Cause Fear"] = {
      ["book of Chaos"] = true,
+
  books = {
      ["book of the Spheres"] = true
+
    ["book of Hexes"] = true,  
    },
+
    ["book of the Dragon"] = 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 = {
+
  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.",  
      selfench = true
+
  flags = {
     },
+
    WL_check = true,
    level = 6,
+
     area = true,
    name = "Conjure Ball Lightning",
+
  },  
    noise = {
+
  level = 4,  
      casting = 6,
+
  name = "Cause Fear",  
      effect = 25
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 200,
+
  quote = [=[“And when Miranda sang
     schools = {
+
Everyone turned away
      Air = true,
+
Used to the noose, they obey”
      Conjuration = true
+
     -The Mars Volta, “Miranda That Ghost Just Isn't Holy Anymore”. 2005.]=],
     }
+
  range = {max = 8, min = 8},  
 +
  schools = {
 +
     Hexes = true,
 
   },
 
   },
  ["Dazzling Flash"] = {
+
}
    books = {
+
m["Chain Lightning"] = {
      ["book of Spectacle"] = true,
+
  books = {
      ["book of the Senses"] = true
+
    ["book of Annihilations"] = true,
    },
+
  },  
    description = "The caster erupts in a scintillating display of light. Any living creature nearby may be dazzled and left stumbling blindly.",
+
  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 bypasses half of defenders' armour and resistance to electricity.",  
    flags = {
+
  flags = {
      area = true,
+
    area = true,
      no_ghost = true
+
  },  
    },
+
  level = 9,  
    level = 3,
+
  name = "Chain Lightning",  
    name = "Dazzling Flash",
+
  noise = {casting = 9, effect = 25},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 0,
+
  quote = [=[“The trouble ain't that there is too many fools,
      effect = 0
+
but that the lightning ain't distributed right.”
    },
+
     -traditionally attributed to Samuel Clemens.]=],  
    ["power cap"] = 50,
+
  schools = {
    range = {
+
    Air = true,  
      max = 3,
+
    Conjuration = true,
      min = 2
 
     },
 
    schools = {
 
      Conjuration = true,
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Death Channel"] = {
+
}
    books = {
+
m["Cigotuvi's Putrefaction"] = {
      ["book of Decay"] = true,
+
  books = {
      ["book of Unlife"] = true
+
    ["book of Debilitation"] = true,  
    },
+
    ["book of Decay"] = 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 = {
+
  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.
      helpful = true,
+
 
      selfench = true,
+
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).]=],  
      utility = true
+
  flags = {
    },
+
    target = true,  
    level = 6,
+
    unclean = true,
    name = "Death Channel",
+
  },  
    noise = {
+
  level = 4,  
      casting = 5,
+
  name = "Cigotuvi's Putrefaction",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 200,
+
  range = {max = 5, min = 5},
    schools = {
+
  schools = {
      Necromancy = true
+
    Air = true,
     }
+
     Necromancy = true,
 
   },
 
   },
  ["Death's Door"] = {
+
}
    books = {
+
m["Confusing Touch"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["book of Debilitation"] = 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.",
+
     ["book of Touch"] = true,
    flags = {
+
  },  
      no_ghost = 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.",  
      utility = true
+
  flags = {
    },
+
    WL_check = true,  
    level = 9,
+
    selfench = true,
    name = "Death's Door",
+
  },  
    noise = {
+
  level = 3,  
      casting = 6,
+
  name = "Confusing Touch",  
      effect = 0
+
  noise = {casting = 3, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 200,
+
  schools = {
    schools = {
+
    Hexes = true,
      Necromancy = true
 
    }
 
 
   },
 
   },
  Discord = {
+
}
    books = {
+
m["Conjure Ball Lightning"] = {
      ["book of Chaos"] = true,
+
  books = {
      ["book of Hexes"] = true
+
    ["book of Chaos"] = true,  
    },
+
    ["book of the Spheres"] = true,
    description = "Drives nearby creatures into an insane frenzy, causing them to mercilessly attack anything and everything nearby with great strength and speed.",
+
  },  
    flags = {
+
  description = [=[Creates a pack of ball lightnings, which seek out the nearest enemy before exploding in a huge blast of electricity. The damage dealt bypasses half of defenders' armour. Casters are advised to use caution; the lightning is not mindful of what it may hit.
      area = true,
+
 
      hasty = true,
+
The 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.]=],  
      WL_check = true
+
  flags = {
    },
+
  },  
    level = 8,
+
  level = 6,  
    name = "Discord",
+
  name = "Conjure Ball Lightning",  
    noise = {
+
  noise = {casting = 6, effect = 25},  
      casting = 6,
+
  ["power cap"] = 200,  
      effect = 0
+
  schools = {
    },
+
    Air = true,
    ["power cap"] = 200,
+
     Conjuration = true,
    schools = {
 
      Hexes = true
 
     }
 
 
   },
 
   },
  Disjunction = {
+
}
    books = {
+
m["Construct Spike Launcher"] = {
      ["book of Chaos"] = true,
+
  books = {
      ["book of the Warp"] = true
+
    ["Handbook of Applied Construction"] = true,  
    },
+
    ["Treatise on Traps"] = 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 = {
+
  description = "Constructs a simple mechanical trap within an adjacent wall which repeatedly skewers random adjacent enemies. Protected by the wall itself, it is invulnerable to most forms of damage, but will fall apart if the caster leaves its vicinity.",  
      escape = true,
+
  flags = {
      utility = true
+
  },  
    },
+
  level = 2,  
    level = 8,
+
  name = "Construct Spike Launcher",  
    name = "Disjunction",
+
  noise = {casting = 2, effect = 0},  
    noise = {
+
  ["power cap"] = 50,  
      casting = 6,
+
  schools = {
      effect = 0
+
     Forgecraft = true,
    },
 
    ["power cap"] = 200,
 
    range = {
 
      max = 4,
 
      min = 4
 
     },
 
    schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Dispel Undead"] = {
+
}
    books = {
+
m["Curse of Agony"] = {
      ["book of Decay"] = true,
+
  books = {
      ["book of Touch"] = true
+
    ["book of Maladies"] = true,  
    },
+
    ["book of the Senses"] = true,
    description = "Harms an adjacent undead creature greatly by interfering with the forces binding it together.",
+
  },  
    flags = {
+
  description = "Curses a foe, halving their remaining health after each of the next two times that the caster strikes them in melee.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    WL_check = true,
     },
+
    dir_or_target = true,  
    level = 4,
+
    needs_tracer = true,
    name = "Dispel Undead",
+
     not_self = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 5,  
      effect = 0
+
  name = "Curse of Agony",  
    },
+
  noise = {casting = 5, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 100,  
     range = {
+
  quote = [=[“Unbearable, isn't it? The suffering of strangers, the agony of friends. There
      max = 1,
+
is a secret song at the center of the world, Joey, and its sound is like
      min = 1
+
razors through flesh.”
    },
+
     -Pinhead, _Hellraiser 3: Hell on Earth_. 1992.]=],
    schools = {
+
  range = {max = 4, min = 4},  
      Necromancy = true
+
  schools = {
    }
+
    Necromancy = true,
 
   },
 
   },
  Dispersal = {
+
}
    books = {
+
m["Dazzling Flash"] = {
      ["book of the Warp"] = true,
+
  books = {
      ["There-And-Back Book"] = true
+
    ["book of Spectacle"] = true,  
    },
+
    ["book of the Senses"] = 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 = {
+
  description = "The caster erupts in a scintillating display of light. Any living, demonic or angelic creature nearby may be dazzled and left stumbling blindly.",  
      area = true,
+
  flags = {
      escape = true
+
    area = true,
    },
+
  },  
    level = 6,
+
  level = 3,  
    name = "Dispersal",
+
  name = "Dazzling Flash",  
    noise = {
+
  noise = {casting = 3, effect = 0},  
      casting = 5,
+
  ["power cap"] = 50,  
      effect = 0
+
  range = {max = 3, min = 2},  
    },
+
  schools = {
    ["power cap"] = 200,
+
    Fire = true,
    range = {
+
     Hexes = true,
      max = 4,
 
      min = 1
 
    },
 
    schools = {
 
      Translocation = true
 
     }
 
 
   },
 
   },
  ["Dragon's Call"] = {
+
}
    books = {
+
m["Death Channel"] = {
      ["book of the Dragon"] = true
+
  books = {
     },
+
    ["book of Unlife"] = 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.",
+
     ["book of Wicked Creation"] = true,
    flags = {},
+
  },  
    level = 9,
+
  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.",  
    name = "Dragon's Call",
+
  flags = {
    noise = {
+
    helpful = true,
      casting = 7,
+
    selfench = true,
      effect = 15
+
    utility = true,
    },
+
  },  
    ["power cap"] = 200,
+
  level = 6,  
    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.",
+
  name = "Death Channel",  
    schools = {
+
  noise = {casting = 6, effect = 0},  
      Summoning = true
+
  ["power cap"] = 200,  
    }
+
   schools = {
 +
    Necromancy = true,
 
   },
 
   },
  Enfeeble = {
+
}
    books = {
+
m["Death's Door"] = {
      ["book of Maledictions"] = true,
+
  books = {
      ["book of Misfortune"] = true
+
    Necronomicon = 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.",
+
  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.
    flags = {
+
 
      dir_or_target = true,
+
The 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.]=],  
      needs_tracer = true,
+
  flags = {
      WL_check = true
+
    no_ghost = true,  
    },
+
    utility = true,
    level = 7,
+
  },  
    name = "Enfeeble",
+
  level = 9,  
    noise = {
+
  name = "Death's Door",  
      casting = 7,
+
  noise = {casting = 9, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  schools = {
    ["power cap"] = 200,
+
     Necromancy = true,
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    schools = {
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Ensorcelled Hibernation"] = {
+
}
    books = {
+
m["Detonation Catalyst"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Dreams"] = true
+
    ["book of Battle"] = true,  
    },
+
    ["book of Spontaneous Combustion"] = 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 = {
+
  description = "Affixes a volatile catalyst to the caster's fists or melee weapon, causing each of their strikes to release a fiery explosion at its primary target. The caster and their allies are protected from the explosion's effects. The activity of the catalyst may be prolonged indefinitely as long as the caster continues to attack, but it rapidly loses potency when they take other actions. The base damage of the caster's weapon and the caster's spellpower each increase the explosion's damage.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true,
+
    selfench = true,
      not_self = true,
+
  },  
      WL_check = true
+
  level = 5,  
    },
+
  name = "Detonation Catalyst",  
    level = 2,
+
  noise = {casting = 5, effect = 15},  
    name = "Ensorcelled Hibernation",
+
  ["power cap"] = 100,  
    noise = {
+
  schools = {
      casting = 0,
+
     Alchemy = true,  
      effect = 0
+
     Fire = true,
    },
 
    ["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 = {
+
m["Diamond Sawblades"] = {
      ["Fen Folio"] = true,
+
  books = {
      ["Great Wizards, Vol. II"] = true
+
    ["Treatise on Traps"] = true,  
    },
+
    ["book of Contraptions"] = 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 = {
+
  description = "Forges up to four razor-sharp sawblades at fixed positions around the caster which shred any enemies adjacent to them over several turns.",  
      area = true,
+
  flags = {
      no_ghost = true
+
  },  
    },
+
  level = 7,  
    level = 6,
+
  name = "Diamond Sawblades",  
    name = "Eringya's Noxious Bog",
+
  noise = {casting = 7, effect = 0},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 6,
+
  schools = {
      effect = 0
+
     Forgecraft = true,
    },
 
    ["power cap"] = 200,
 
    range = {
 
      max = 4,
 
      min = 4
 
     },
 
    schools = {
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Fire Storm"] = {
+
}
    books = {
+
m["Dimensional Bullseye"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["book of Weapons"] = 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.",
+
     ["book of the Hunter"] = true,
    flags = {
+
  },  
      area = 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.",  
      needs_tracer = true,
+
  flags = {
      target = true
+
    not_self = true,  
    },
+
    prefer_farthest = true,  
    level = 9,
+
    target = true,
    name = "Fire Storm",
+
  },  
    noise = {
+
  level = 4,  
      casting = 9,
+
  name = "Dimensional Bullseye",  
      effect = 25
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 200,
+
  range = {max = 8, min = 8},  
    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).",
+
  schools = {
    range = {
+
    Hexes = true,  
      max = 5,
+
    Translocation = true,
      min = 5
 
    },
 
    schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  Fireball = {
+
}
    books = {
+
m["Discord"] = {
      ["book of Fire"] = true,
+
  books = {
      ["book of the Spheres"] = true
+
    ["book of Chaos"] = true,  
    },
+
    ["the Unrestrained Analects"] = true,
    description = "Hurls an explosive ball of fire.",
+
  },  
    flags = {
+
  description = "Drives nearby creatures into an wild frenzy, causing them to mercilessly attack anything and everything nearby with great strength and speed.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    WL_check = true,  
     },
+
    area = true,
    level = 5,
+
     hasty = true,
    name = "Fireball",
+
  },  
    noise = {
+
  level = 8,  
      casting = 5,
+
  name = "Discord",  
      effect = 15
+
  noise = {casting = 8, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
     Hexes = true,
      max = 5,
 
      min = 5
 
    },
 
     schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  ["Flame Wave"] = {
+
}
    books = {
+
m["Disjunction"] = {
      ["book of Flames"] = true,
+
  books = {
      ["book of Scorching"] = true
+
    ["book of Chaos"] = true,  
    },
+
    ["book of the Warp"] = 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 = {
+
  description = "Destabilises 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.",  
      area = true
+
  flags = {
     },
+
    escape = true,
    level = 4,
+
     utility = true,
    name = "Flame Wave",
+
  },  
    noise = {
+
  level = 8,  
      casting = 0,
+
  name = "Disjunction",  
      effect = 12
+
  noise = {casting = 8, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 100,
+
  range = {max = 4, min = 4},  
    range = {
+
  schools = {
      max = 3,
+
    Translocation = true,
      min = 3
 
    },
 
    schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  Foxfire = {
+
}
    books = {
+
m["Dispel Undead"] = {
      ["book of Flames"] = true
+
  books = {
     },
+
    ["book of Decay"] = 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.",
+
     ["book of Touch"] = true,
    flags = {
+
  },  
      selfench = true
+
  description = "Harms an adjacent undead creature greatly by interfering with the forces binding it together.",  
     },
+
  flags = {
    level = 1,
+
    dir_or_target = true,
    name = "Foxfire",
+
     needs_tracer = true,
    noise = {
+
  },  
      casting = 1,
+
  level = 4,  
      effect = 1
+
  name = "Dispel Undead",  
    },
+
  noise = {casting = 4, effect = 0},  
    ["power cap"] = 25,
+
  ["power cap"] = 100,  
    schools = {
+
  range = {max = 1, min = 1},  
      Conjuration = true,
+
  schools = {
      Fire = true
+
     Necromancy = true,
     }
 
 
   },
 
   },
   Freeze = {
+
}
     books = {
+
m["Dispersal"] = {
      ["book of Frost"] = true
+
   books = {
    },
+
     ["There-And-Back Book"] = true,
    description = "Freezes an adjacent creature, dealing damage that bypasses any armour the target may have. This may temporarily slow cold-blooded creatures.",
+
    ["book of the Warp"] = true,
    flags = {
+
  },  
      dir_or_target = 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.",  
      not_self = true
+
  flags = {
    },
+
    area = true,  
    level = 1,
+
    escape = true,
    name = "Freeze",
+
  },  
    noise = {
+
  level = 6,  
      casting = 1,
+
  name = "Dispersal",  
      effect = 0
+
  noise = {casting = 6, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 25,
+
  range = {max = 4, min = 1},  
    range = {
+
  schools = {
      max = 1,
+
    Translocation = true,
      min = 1
 
    },
 
    schools = {
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Freezing Cloud"] = {
+
}
    books = {
+
m["Dragon's Call"] = {
      ["book of Ice"] = true,
+
  books = {
      ["Trismegistus Codex"] = true
+
    ["book of the Dragon"] = true,
    },
+
  },  
    description = "Conjures up a large cloud of lethally cold vapour.",
+
  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 = {
+
  flags = {
      area = true,
+
  },  
      cloud = true,
+
  level = 9,  
      needs_tracer = true,
+
  name = "Dragon's Call",  
      target = true
+
  noise = {casting = 9, effect = 15},  
    },
+
  ["power cap"] = 200,  
    level = 5,
+
  quote = [=[“This is where the dragons went.
    name = "Freezing Cloud",
+
They lie...
    noise = {
+
Not dead, not asleep. Not waiting, because waiting implies expectation.
      casting = 6,
+
Possibly the word we're looking for here is...
      effect = 2
+
...dormant.
    },
+
And although the space they occupy isn't like normal space, nevertheless
    ["power cap"] = 200,
+
  they are packed in tightly. Not a cubic inch there but is filled by a claw,
    range = {
+
  a talon, a scale, the tip of a tail, so the effect is like one of those
      max = 5,
+
  trick drawings and your eyeballs eventually realise that the space between
      min = 5
+
  each dragon is, in fact, another dragon.
    },
+
They could put you in mind of a can of sardines, if you thought sardines
    schools = {
+
  were huge and scaly and proud and arrogant.
      Air = true,
+
And presumably, somewhere, there's the key.”
      Conjuration = true,
+
    -Terry Pratchett, “Guards! Guards!”. 1990.]=],  
      Ice = true
+
  schools = {
     }
+
     Summoning = true,
 
   },
 
   },
  ["Frozen Ramparts"] = {
+
}
    books = {
+
m["Enfeeble"] = {
      ["book of Frost"] = true,
+
  books = {
      ["book of Rime"] = true
+
    ["book of Hexes"] = true,  
    },
+
    ["book of Misfortune"] = 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 = {
+
  description = "Overwhelms an enemy with malignant energies, irresistibly weakening their melee attacks and reducing the power of their spells. It will additionally daze and blind any foe that fails to resist the full force of the curse - even those without visual senses!",  
      area = true,
+
  flags = {
      no_ghost = true
+
    WL_check = true,  
     },
+
    dir_or_target = true,
    level = 3,
+
     needs_tracer = true,
    name = "Frozen Ramparts",
+
  },  
    noise = {
+
  level = 7,  
      casting = 3,
+
  name = "Enfeeble",  
      effect = 8
+
  noise = {casting = 7, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 50,
+
  range = {max = 8, min = 8},  
    range = {
+
  schools = {
      max = 2,
+
    Hexes = true,
      min = 2
 
    },
 
    schools = {
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Fulminant Prism"] = {
+
}
    books = {
+
m["Ensorcelled Hibernation"] = {
      ["book of Blasting"] = true,
+
  books = {
      ["book of Conjurations"] = true
+
    ["book of Burglary"] = true,  
    },
+
    ["book of Dreams"] = 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 = {
+
  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.",  
      area = true,
+
  flags = {
      not_self = true,
+
    WL_check = true,
      target = true
+
    dir_or_target = true,
    },
+
    needs_tracer = true,  
    level = 4,
+
    not_self = true,  
    name = "Fulminant Prism",
+
    silent = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 2,  
      effect = 0
+
  name = "Ensorcelled Hibernation",  
    },
+
  noise = {casting = 0, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 50,  
     range = {
+
  quote = [=[“Sweet dreams are made of this; who am I to disagree?”
      max = 4,
+
     -Eurythmics, “Sweet Dreams (Are Made of This)”. 1983.]=],
      min = 4
+
  range = {max = 8, min = 8},  
    },
+
  schools = {
    schools = {
+
    Hexes = true,  
      Conjuration = true,
+
    Ice = true,
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Gell's Gravitas"] = {
+
}
    books = {
+
m["Eringya's Noxious Bog"] = {
      ["book of Displacement"] = true,
+
  books = {
      ["There-And-Back Book"] = true
+
    ["Fen Folio"] = true,  
    },
+
    ["Great Wizards, Vol. II"] = true,
    description = "Briefly redirects gravity around a target point, causing 'down' to be towards that point. All nearby creatures, save the caster, fall helplessly toward that point – typically colliding with each other, or with a victim standing there.",
+
  },  
    flags = {
+
  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.",  
      needs_tracer = true,
+
  flags = {
      not_self = true,
+
    area = true,  
      target = true
+
    destructive = true,  
    },
+
    no_ghost = true,
    level = 3,
+
  },  
    name = "Gell's Gravitas",
+
  level = 6,  
    noise = {
+
  name = "Eringya's Noxious Bog",  
      casting = 3,
+
  noise = {casting = 6, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 100,
+
  schools = {
    range = {
+
    Alchemy = true,
      max = 7,
 
      min = 7
 
    },
 
    schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  Hailstorm = {
+
}
    books = {
+
m["Eringya's Surprising Crocodile"] = {
      ["book of Frost"] = true,
+
  books = {
      ["book of the Tundra"] = true
+
    ["My Sojourn through Swampland"] = true,  
    },
+
    ["book of Callings"] = 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 = {
+
  description = "Summons a toothy crocodile to assault an adjacent enemy. The crocodile will appear beneath the caster in a surge of murky water and perform an empowered attack against the chosen target, dragging both it and the caster backward before allowing the latter to dismount safely behind it. It cannot be recast while the crocodile is still active.",  
      area = true
+
  flags = {
     },
+
    not_self = true,
    level = 3,
+
     target = true,
    name = "Hailstorm",
+
  },  
    noise = {
+
  level = 4,  
      casting = 4,
+
  name = "Eringya's Surprising Crocodile",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 100,
+
  quote = "A popular legend states that Eringya first demonstrated this spell as the closing remark of a particularly acrimonious debate about wetlands conservation, but most modern scholars consider this apocryphal.",
    range = {
+
  range = {max = 1, min = 1},  
      max = 3,
+
  schools = {
      min = 3
+
    Summoning = true,
    },
 
    schools = {
 
      Conjuration = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  Haunt = {
+
}
    books = {
+
m["Fire Storm"] = {
      ["book of Death"] = true
+
  books = {
    },
+
    ["book of Annihilations"] = 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 = {
+
  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. Half of its damage bypasses fire resistance.",  
      mons_abjure = true,
+
  flags = {
      not_self = true,
+
    area = true,  
      target = true
+
    needs_tracer = true,  
    },
+
    target = true,
    level = 7,
+
  },  
    name = "Haunt",
+
  level = 9,  
    noise = {
+
  name = "Fire Storm",  
      casting = 6,
+
  noise = {casting = 9, effect = 25},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  quote = [=[“Some have said there is no subtlety to destruction. You know what? They're
    ["power cap"] = 200,
+
dead.”
     range = {
+
     -Jaya Ballard, task mage (Magic: the Gathering).]=],
      max = 7,
+
  range = {max = 5, min = 5},  
      min = 7
+
  schools = {
    },
+
    Conjuration = true,  
    schools = {
+
    Fire = true,
      Necromancy = true,
 
      Summoning = true
 
    }
 
 
   },
 
   },
  ["Ignite Poison"] = {
+
}
    books = {
+
m["Fireball"] = {
      ["Everburning Encyclopedia"] = true,
+
  books = {
      ["Trismegistus Codex"] = true
+
    ["book of the Dragon"] = true,  
    },
+
    ["book of the Spheres"] = 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 = {
+
  description = "Hurls an explosive ball of fire.",  
      area = true
+
  flags = {
     },
+
    dir_or_target = true,
    level = 4,
+
     needs_tracer = true,
    name = "Ignite Poison",
+
  },  
    noise = {
+
  level = 5,  
      casting = 4,
+
  name = "Fireball",  
      effect = 0
+
  noise = {casting = 5, effect = 15},  
    },
+
  ["power cap"] = 200,
    ["power cap"] = 100,
+
  range = {max = 5, min = 5},  
    schools = {
+
  schools = {
      Fire = true,
+
    Conjuration = true,  
      Alchemy = true,
+
    Fire = true,
    }
 
 
   },
 
   },
  Ignition = {
+
}
    books = {
+
m["Flame Wave"] = {
      ["book of Fire"] = true,
+
  books = {
      ["the Unrestrained Analects"] = true
+
    ["book of Flames"] = true,  
    },
+
    ["book of Scorching"] = 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 = {
+
  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.",  
      area = true
+
  flags = {
    },
+
    area = true,
    level = 8,
+
  },  
    name = "Ignition",
+
  level = 4,  
    noise = {
+
  name = "Flame Wave",  
      casting = 8,
+
  noise = {casting = 4, effect = 12},  
      effect = 15
+
  ["power cap"] = 100,
    },
+
  range = {max = 3, min = 3},  
    ["power cap"] = 200,
+
  schools = {
    schools = {
+
    Conjuration = true,
      Fire = true
+
     Fire = true,
     }
 
 
   },
 
   },
   Infestation = {
+
}
     books = {
+
m["Forge Blazeheart Golem"] = {
      ["book of Death"] = true
+
   books = {
    },
+
     ["Handbook of Applied Construction"] = 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.",
+
    ["book of Dangerous Friends"] = true,
    flags = {
+
  },  
      target = true,
+
  description = [=[Constructs a shell of slag iron around a volatile elemental spark. It is capable of raining down powerful blows on its creator's adversaries - so powerful that the golem itself is often damaged by their impact.
      unclean = true
+
 
    },
+
Only tenuously independent of its creator's magic, the flames within it will rapidly go dormant if the two ever leave each other's side. If its shell is destroyed while the golem is still active, its exposed core will violently detonate a moment later.
    level = 8,
+
 
    name = "Infestation",
+
It gains greater explosive damage at higher power.]=],  
    noise = {
+
  flags = {
      casting = 8,
+
  },  
      effect = 4
+
  level = 4,  
    },
+
  name = "Forge Blazeheart Golem",  
    ["power cap"] = 200,
+
  noise = {casting = 4, effect = 0},  
    range = {
+
  ["power cap"] = 100,  
      max = 7,
+
  schools = {
      min = 7
+
    Fire = true,  
    },
+
     Forgecraft = true,
     schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Inner Flame"] = {
+
}
    books = {
+
m["Forge Lightning Spire"] = {
      ["book of Flames"] = true,
+
  books = {
      ["book of Hexes"] = true
+
    ["Codex of Conductivity"] = true,  
    },
+
    ["book of Storms"] = 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 = {
+
  description = "Constructs an immobile lightning spire at a nearby location. This spire irregularly discharges bolts of electricity at the caster's foes, prioritizing whichever of them is most distant from it.",  
      not_self = true,
+
  flags = {
      target = true,
+
  },  
      WL_check = true
+
  level = 4,  
    },
+
  name = "Forge Lightning Spire",  
    level = 3,
+
  noise = {casting = 4, effect = 0},  
    name = "Inner Flame",
+
  ["power cap"] = 100,  
    noise = {
+
  schools = {
      casting = 3,
+
    Air = true,  
      effect = 0
+
     Forgecraft = true,
    },
 
    ["power cap"] = 100,
 
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    schools = {
 
      Fire = true,
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Iron Shot"] = {
+
}
    books = {
+
m["Forge Monarch Bomb"] = {
      ["book of Iron"] = true,
+
  books = {
      ["book of Power"] = true
+
    ["book of Blasting"] = true,  
    },
+
    ["book of Contraptions"] = true,
    description = "Hurls a large and heavy metal shot.",
+
  },  
    flags = {
+
  description = [=[Constructs a flying incendiary factory, packed to the brim with cluster bomblets which it can deploy both in melee and launch at range. While the monarch's bomblets have no attack of their own, they will pursue the caster's enemies until given the signal to explode.
      dir_or_target = true,
+
 
      needs_tracer = true
+
Recasting this spell while anything it has created is still active will detonate the monarch bomb and all bomblets, dealing a combination of fire and physical damage to everything adjacent to them besides the caster themselves.]=],  
    },
+
  flags = {
    level = 6,
+
  },  
    name = "Iron Shot",
+
  level = 6,  
    noise = {
+
  name = "Forge Monarch Bomb",  
      casting = 6,
+
  noise = {casting = 6, effect = 0},  
      effect = 6
+
  ["power cap"] = 200,  
    },
+
  schools = {
    ["power cap"] = 200,
+
    Fire = true,  
    range = {
+
     Forgecraft = true,
      max = 4,
 
      min = 4
 
     },
 
    schools = {
 
      Conjuration = true,
 
      Earth = true
 
    }
 
 
   },
 
   },
  Irradiate = {
+
}
    books = {
+
m["Forge Phalanx Beetle"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Transfigurations"] = true
+
    ["book of Metalworking"] = true,  
    },
+
    ["book of the Fortress"] = 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 = {
+
  description = [=[Constructs a small mechanical guardian which bolsters its creator's armour class for as long as it remains adjacent to them.
      area = true,
+
 
      chaotic = true
+
While also capable of biting foes, the phalanx beetle will never voluntarily leave its creator's side, and if forcibly separated, will prioritise returning to them over any other concern.
    },
+
 
    level = 5,
+
Spellpower increases the magnitude of the AC increase, as well as the beetle's own durability.]=],  
    name = "Irradiate",
+
  flags = {
    noise = {
+
  },  
      casting = 4,
+
  level = 6,  
      effect = 0
+
  name = "Forge Phalanx Beetle",  
    },
+
  noise = {casting = 6, effect = 0},  
    ["power cap"] = 200,
+
  ["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.",
+
  schools = {
    range = {
+
     Forgecraft = true,
      max = 1,
 
      min = 1
 
     },
 
    schools = {
 
      Conjuration = true,
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Iskenderun's Battlesphere"] = {
+
}
    books = {
+
m["Fortress Blast"] = {
      ["book of Power"] = true,
+
  books = {
      ["book of the Spheres"] = true
+
    ["book of Power"] = true,  
    },
+
    ["book of the Fortress"] = 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 = {
+
  description = [=[Draws upon the caster's own physical integrity to create a kinetic shockwave that damages foes in a large area. The caster is locked in place for several turns as the shockwave starts to form, and the spell will be cancelled if they are displaced during that time, but they may otherwise perform other actions freely.
      utility = true
+
 
     },
+
Spellpower causes the spell to complete more quickly, but the damage depends entirely upon the caster's AC.]=],  
    level = 5,
+
  flags = {
    name = "Iskenderun's Battlesphere",
+
    area = true,
    noise = {
+
     destructive = true,
      casting = 5,
+
  },  
      effect = 0
+
  level = 6,  
    },
+
  name = "Fortress Blast",  
    ["power cap"] = 100,
+
  noise = {casting = 6, effect = 20},  
    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.",
+
  ["power cap"] = 75,  
    schools = {
+
  range = {max = 3, min = 3},  
      Conjuration = true
+
  schools = {
    }
+
    Forgecraft = true,
 
   },
 
   },
  ["Iskenderun's Mystic Blast"] = {
+
}
    books = {
+
m["Foxfire"] = {
      ["book of Blasting"] = true,
+
  books = {
      ["book of Spectacle"] = true
+
    ["book of Fire"] = 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.",
+
  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 = {
+
  flags = {
      area = true
+
  },  
    },
+
  level = 1,  
    level = 4,
+
  name = "Foxfire",  
    name = "Iskenderun's Mystic Blast",
+
  noise = {casting = 1, effect = 0},  
    noise = {
+
  ["power cap"] = 25,  
      casting = 4,
+
  schools = {
      effect = 10
+
     Conjuration = true,  
    },
+
    Fire = true,
    ["power cap"] = 100,
 
    range = {
 
      max = 2,
 
      min = 2
 
     },
 
    schools = {
 
      Conjuration = true,
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Leda's Liquefaction"] = {
+
}
    books = {
+
m["Freeze"] = {
      ["book of the Earth"] = true,
+
  books = {
      ["book of the Hunter"] = true
+
    ["book of Frost"] = 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.",
+
  description = "Freezes an adjacent creature, dealing damage that bypasses any armour the target may have. This may temporarily slow cold-blooded creatures.",  
    flags = {
+
  flags = {
      area = true
+
    destructive = true,
     },
+
     dir_or_target = true,
    level = 4,
+
    not_self = true,
    name = "Leda's Liquefaction",
+
  },  
    noise = {
+
  level = 1,  
      casting = 3,
+
  name = "Freeze",  
      effect = 0
+
  noise = {casting = 1, effect = 0},  
    },
+
  ["power cap"] = 25,  
    ["power cap"] = 200,
+
  range = {max = 1, min = 1},  
    schools = {
+
  schools = {
      Earth = true,
+
     Ice = true,
      Hexes = true
 
     }
 
 
   },
 
   },
  ["Lee's Rapid Deconstruction"] = {
+
}
    books = {
+
m["Freezing Cloud"] = {
      ["book of Blasting"] = true,
+
  books = {
      ["book of the Earth"] = true
+
    ["Trismegistus Codex"] = true,  
    },
+
    ["book of Ice"] = 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 = {
+
  description = "Conjures up a large cloud of lethally cold vapour.",  
      target = true
+
  flags = {
    },
+
    area = true,  
    level = 5,
+
    cloud = true,  
    name = "Lee's Rapid Deconstruction",
+
     needs_tracer = true,
    noise = {
+
    target = true,
      casting = 4,
+
  },  
      effect = 20
+
  level = 5,  
    },
+
  name = "Freezing Cloud",  
    ["power cap"] = 200,
+
  noise = {casting = 5, effect = 2},  
    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.",
+
  ["power cap"] = 200,  
    range = {
+
  range = {max = 5, min = 5},  
      max = 7,
+
  schools = {
      min = 7
+
    Air = true,
    },
+
     Conjuration = true,
    schools = {
+
    Ice = true,
      Earth = true
 
     }
 
 
   },
 
   },
  ["Lehudib's Crystal Spear"] = {
+
}
    books = {
+
m["Frozen Ramparts"] = {
      ["book of Armaments"] = true,
+
  books = {
      ["book of the Moon"] = true
+
    ["book of Frost"] = true,  
    },
+
    ["book of Winter"] = true,
    description = "Hurls a lethally sharp shard of crystal.",
+
  },  
    flags = {
+
  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.
      dir_or_target = true,
+
 
      needs_tracer = true
+
The ice will crack and fall away if the caster moves to a new position.]=],  
     },
+
  flags = {
    level = 8,
+
    area = true,  
    name = "Lehudib's Crystal Spear",
+
    destructive = true,
    noise = {
+
     no_ghost = true,
      casting = 8,
+
  },  
      effect = 8
+
  level = 3,  
    },
+
  name = "Frozen Ramparts",  
    ["power cap"] = 200,
+
  noise = {casting = 3, effect = 8},  
     range = {
+
  ["power cap"] = 50,
      max = 3,
+
  quote = [=[”And as you cross the circle line
      min = 3
+
Well, the ice wall creaks behind
    },
+
You're a rabbit on the run”
    schools = {
+
 
      Conjuration = true,
+
     -Jethro Tull, “Skating Away (on the Thin Ice of a New Day)”.  1974.]=],
      Earth = true
+
  range = {max = 2, min = 2},  
    }
+
  schools = {
 +
    Ice = true,
 
   },
 
   },
  ["Lesser Beckoning"] = {
+
}
    books = {
+
m["Fugue of the Fallen"] = {
      ["book of Displacement"] = true,
+
  books = {
      ["book of Spatial Translocations"] = true
+
    ["book of Battle"] = true,  
    },
+
    ["book of Dreams"] = true,
    description = "Beckons the target forward, attempting to place them adjacent to the caster.",
+
  },  
    flags = {
+
  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.
      dir_or_target = true,
+
 
      needs_tracer = true,
+
Recasting 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.]=],  
      not_self = true
+
  flags = {
    },
+
    selfench = true,
    level = 2,
+
  },  
    name = "Lesser Beckoning",
+
  level = 3,  
    noise = {
+
  name = "Fugue of the Fallen",  
      casting = 2,
+
  noise = {casting = 3, effect = 8},  
      effect = 0
+
  ["power cap"] = 100,  
    },
+
  schools = {
    ["power cap"] = 50,
+
     Necromancy = true,
    range = {
 
      max = 5,
 
      min = 3
 
    },
 
     schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Magic Dart"] = {
+
}
    books = {
+
m["Fulminant Prism"] = {
      ["book of Conjurations"] = true,
+
  books = {
      ["book of Minor Magic"] = true
+
    ["book of Blasting"] = true,  
    },
+
    ["book of Conjurations"] = true,
    description = "Fires a small bolt of magical energy which never misses.",
+
  },  
    flags = {
+
  description = "Conjures a shining prism of an unstable soft gold alloy. This is useless as legal tender, however, as it will unfortunately violently explode with arcane force after a short duration. If destroyed prematurely, its blast will be much weaker.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    area = true,
     },
+
    no_ghost = true,  
    level = 1,
+
    not_self = true,
    name = "Magic Dart",
+
     target = true,
    noise = {
+
  },  
      casting = 1,
+
  level = 4,  
      effect = 1
+
  name = "Fulminant Prism",  
    },
+
  noise = {casting = 4, effect = 20},  
    ["power cap"] = 25,
+
  ["power cap"] = 200,  
    range = {
+
  range = {max = 4, min = 4},  
      max = 7,
+
  schools = {
      min = 7
+
    Alchemy = true,
    },
+
     Conjuration = true,
    schools = {
 
      Conjuration = true
 
     }
 
 
   },
 
   },
  ["Malign Gateway"] = {
+
}
    books = {
+
m["Fulsome Fusillade"] = {
      ["Grand Grimoire"] = true
+
  books = {
     },
+
    ["book of Spectacle"] = 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.",
+
     ["book of Transmutation"] = true,
    flags = {
+
  },  
      chaotic = 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.
      unholy = true
+
 
    },
+
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.]=],  
    level = 7,
+
  flags = {
    name = "Malign Gateway",
+
    area = true,
    noise = {
+
    chaotic = true,  
      casting = 6,
+
    destructive = true,
      effect = 0
+
  },  
    },
+
  level = 8,  
    ["power cap"] = 200,
+
  name = "Fulsome Fusillade",  
    schools = {
+
  noise = {casting = 8, effect = 0},  
      Summoning = true,
+
  ["power cap"] = 200,  
      Translocation = true
+
  range = {max = 8, min = 8},
    }
+
  schools = {
 +
    Alchemy = true,  
 +
    Conjuration = true,
 
   },
 
   },
  ["Manifold Assault"] = {
+
}
    books = {
+
m["Gell's Gavotte"] = {
      ["book of Spatial Translocations"] = true,
+
  books = {
      ["Inescapable Atlas"] = true
+
    ["There-And-Back Book"] = true,  
    },
+
    ["book of Movement"] = 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 = {
+
  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.
      no_ghost = true
+
 
     },
+
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'.
    level = 4,
+
 
    name = "Manifold Assault",
+
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.]=],  
    noise = {
+
  flags = {
      casting = 5,
+
    aim_at_space = true,
      effect = 0
+
     target = true,
    },
+
  },  
    ["power cap"] = 100,
+
  level = 6,  
    schools = {
+
  name = "Gell's Gavotte",  
      Translocation = true
+
  noise = {casting = 6, effect = 0},  
    }
+
  ["power cap"] = 200,  
 +
  range = {max = 1, min = 1},
 +
  schools = {
 +
    Translocation = true,
 
   },
 
   },
  ["Maxwell's Capacitive Coupling"] = {
+
}
    books = {
+
m["Gloom"] = {
      ["book of Lightning"] = true,
+
  books = {
      ["book of the Sky"] = true,
+
    ["book of Spectacle"] = true,  
      ["Maxwell's Memoranda"] = true
+
    ["book of the Senses"] = 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.",
+
  description = [=[Emits a wave of pernicious gloom which attempts to smother the light around nearby creatures. Any living, demonic or holy creature caught in the effect may briefly lose their eyesight and be left stumbling blindly.
    flags = {
+
 
      no_ghost = true
+
Willpower is useless against this spell, but stronger creatures may still shrug off its effects.]=],  
    },
+
  flags = {
    level = 8,
+
    silent = true,
    name = "Maxwell's Capacitive Coupling",
+
  },  
    noise = {
+
  level = 3,  
      casting = 7,
+
  name = "Gloom",  
      effect = 25
+
  noise = {casting = 0, effect = 0},  
    },
+
  ["power cap"] = 50,  
    ["power cap"] = 200,
+
  range = {max = 3, min = 2},  
    range = {
+
  schools = {
      max = 7,
+
    Hexes = true,
      min = 7
+
     Necromancy = true,
    },
 
    schools = {
 
      Air = true
 
     }
 
 
   },
 
   },
  ["Mephitic Cloud"] = {
+
}
    books = {
+
m["Grave Claw"] = {
      ["book of Minor Magic"] = true,
+
  books = {
      ["Trismegistus Codex"] = true
+
    ["book of Necromancy"] = true,  
    },
+
    ["book of the Grave"] = 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 = {
+
  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.
      area = true,
+
 
      cloud = true,
+
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.]=],  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    not_self = true,  
    },
+
    target = true,
    level = 3,
+
  },  
    name = "Mephitic Cloud",
+
  level = 2,  
    noise = {
+
  name = "Grave Claw",  
      casting = 3,
+
  noise = {casting = 2, effect = 0},  
      effect = 15
+
  ["power cap"] = 50,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 100,
+
  schools = {
    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.",
+
    Necromancy = true,
    range = {
 
      max = 4,
 
      min = 4
 
    },
 
    schools = {
 
      Air = true,
 
      Conjuration = true,
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Metabolic Englaciation"] = {
+
}
    books = {
+
m["Hailstorm"] = {
      ["book of Sloth"] = true,
+
  books = {
      ["book of Winter"] = true
+
    ["book of Frost"] = true,  
    },
+
    ["book of the Tundra"] = 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 = {
+
  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.",  
      area = true
+
  flags = {
    },
+
    area = true,
    level = 5,
+
  },  
    name = "Metabolic Englaciation",
+
  level = 3,  
    noise = {
+
  name = "Hailstorm",  
      casting = 4,
+
  noise = {casting = 3, effect = 0},  
      effect = 0
+
  ["power cap"] = 100,  
    },
+
  range = {max = 3, min = 3},
    ["power cap"] = 200,
+
  schools = {
    schools = {
+
    Conjuration = true,  
      Hexes = true,
+
    Ice = true,
      Ice = true
 
    }
 
 
   },
 
   },
  ["Monstrous Menagerie"] = {
+
}
    books = {
+
m["Haunt"] = {
      ["book of Beasts"] = true
+
  books = {
    },
+
    Necronomicon = 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.",
+
    ["book of Death"] = true,
    flags = {
+
  },  
      mons_abjure = 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 = {
    level = 7,
+
    mons_abjure = true,
    name = "Monstrous Menagerie",
+
     not_self = true,
    noise = {
+
    target = true,
      casting = 5,
+
  },  
      effect = 0
+
  level = 7,  
    },
+
  name = "Haunt",  
    ["power cap"] = 200,
+
  noise = {casting = 7, effect = 0},  
    schools = {
+
  ["power cap"] = 200,  
      Summoning = true
+
  range = {max = 8, min = 8},
     }
+
  schools = {
 +
    Necromancy = true,
 +
     Summoning = true,
 
   },
 
   },
  Necrotise = {
+
}
    books = {
+
m["Hellfire Mortar"] = {
      ["book of Cantrips"] = true,
+
  books = {
      ["book of Necromancy"] = true
+
    ["Compendium of Siegecraft"] = true,  
    },
+
    ["Trismegistus Codex"] = true,
    description = "Agonizingly rots away the victim's flesh. Those slain by this spell (or otherwise dying immediately afterward) may rise as skeletons to fight for the caster. Only the living can be affected.",
+
  },  
    flags = {
+
  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.
      dir_or_target = true,
+
 
      needs_tracer = true,
+
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.]=],  
      WL_check = true
+
  flags = {
    },
+
    destructive = true,  
    level = 1,
+
    dir_or_target = true,
    name = "Necrotise",
+
  },  
    noise = {
+
  level = 7,  
      casting = 1,
+
  name = "Hellfire Mortar",  
      effect = 1
+
  noise = {casting = 7, effect = 20},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 25,
+
  range = {max = 8, min = 8},  
    range = {
+
  schools = {
      max = 5,
+
    Earth = true,
      min = 5
+
     Fire = true,
    },
+
    Forgecraft = true,
    schools = {
 
      Necromancy = true
 
     }
 
 
   },
 
   },
  ["Olgreb's Toxic Radiance"] = {
+
}
    books = {
+
m["Hoarfrost Cannonade"] = {
      ["the Unrestrained Analects"] = true,
+
  books = {
      ["Young Poisoner's Handbook"] = true
+
    ["Compendium of Siegecraft"] = true,  
    },
+
    ["book of Cryoformation"] = 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 = {
+
  description = [=[Sculpts a pair of icy cannons that assail the caster's enemies from long range. The frigid shards they fire rapidly coat their targets with a layer of brittle frost which slows their movement.
      area = true
+
 
    },
+
The cannons are short-lived and consume a part of themselves with every shard they fire, but if they survive to fire their final salvo without interference, it will be extra-powerful.]=],  
    level = 4,
+
  flags = {
    name = "Olgreb's Toxic Radiance",
+
  },  
    noise = {
+
  level = 5,  
      casting = 2,
+
  name = "Hoarfrost Cannonade",  
      effect = 0
+
  noise = {casting = 5, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 100,
+
  schools = {
    schools = {
+
    Forgecraft = true,
      Alchemy = true
+
     Ice = true,
     }
 
 
   },
 
   },
  ["Orb of Destruction"] = {
+
}
    books = {
+
m["Ignite Poison"] = {
      ["book of Dangerous Friends"] = true,
+
  books = {
      ["book of the Spheres"] = true
+
    ["Everburning Encyclopedia"] = true,  
    },
+
    ["book of Blood"] = 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 = {
+
  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.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true,
+
    area = true,  
      not_self = true
+
    destructive = true,
    },
+
  },  
    level = 7,
+
  level = 4,  
    name = "Orb of Destruction",
+
  name = "Ignite Poison",  
    noise = {
+
  noise = {casting = 4, effect = 0},  
      casting = 7,
+
  ["power cap"] = 100,  
      effect = 0
+
  schools = {
    },
+
    Alchemy = true,  
    ["power cap"] = 200,
+
     Fire = true,
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    schools = {
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Ozocubu's Armour"] = {
+
}
    books = {
+
m["Ignition"] = {
      ["book of Winter"] = true,
+
  books = {
      ["Ozocubu's Autobiography"] = true
+
    ["Everburning Encyclopedia"] = true,  
    },
+
    ["book of Spontaneous Combustion"] = 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 = {
+
  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.",  
      no_ghost = true
+
  flags = {
     },
+
    area = true,
    level = 3,
+
     destructive = true,
    name = "Ozocubu's Armour",
+
  },  
    noise = {
+
  level = 8,  
      casting = 3,
+
  name = "Ignition",  
      effect = 0
+
  noise = {casting = 8, effect = 15},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 100,
+
  schools = {
    schools = {
+
    Fire = true,
      Ice = true
 
    }
 
 
   },
 
   },
  ["Ozocubu's Refrigeration"] = {
+
}
    books = {
+
m["Infestation"] = {
      ["Ozocubu's Autobiography"] = true,
+
  books = {
      ["the Unrestrained Analects"] = true
+
    ["book of Death"] = 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.",
+
  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 = {
+
  flags = {
      area = true
+
    target = true,
     },
+
     unclean = true,
    level = 7,
+
  },  
    name = "Ozocubu's Refrigeration",
+
  level = 8,  
    noise = {
+
  name = "Infestation",  
      casting = 5,
+
  noise = {casting = 8, effect = 4},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 8, min = 8},
    ["power cap"] = 200,
+
  schools = {
    schools = {
+
    Necromancy = true,
      Ice = true
 
    }
 
 
   },
 
   },
  ["Passage of Golubria"] = {
+
}
    books = {
+
m["Inner Flame"] = {
      ["book of the Moon"] = true,
+
  books = {
      ["Great Wizards, Vol. VII"] = true
+
    ["book of Flames"] = true,  
    },
+
    ["book of Spontaneous Combustion"] = 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 = {
+
  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.",  
      escape = true,
+
  flags = {
      neutral = true,
+
    WL_check = true,  
      selfench = true,
+
    destructive = true,  
      target = true
+
    not_self = true,  
    },
+
    target = true,
    level = 4,
+
  },  
    name = "Passage of Golubria",
+
  level = 3,  
    noise = {
+
  name = "Inner Flame",  
      casting = 3,
+
  noise = {casting = 3, effect = 0},  
      effect = 8
+
  ["power cap"] = 100,  
    },
+
  range = {max = 8, min = 8},  
    ["power cap"] = 100,
+
  schools = {
    range = {
+
    Fire = true,
      max = 7,
+
     Hexes = true,
      min = 2
 
    },
 
    schools = {
 
      Translocation = true
 
     }
 
 
   },
 
   },
  Passwall = {
+
}
    books = {
+
m["Irradiate"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Geomancy"] = true
+
    ["book of Spontaneous Combustion"] = true,  
    },
+
    ["book of Transmutation"] = 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 = {
+
  description = "Transmutes an ultra-thin layer of the caster's skin (or equivalent) directly into pure magical energy, blasting adjacent creatures. It may heavily deform its victims, 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.",  
      escape = true,
+
  flags = {
      not_self = true,
+
    area = true,  
      target = true,
+
    chaotic = true,
      utility = true
+
  },  
    },
+
  level = 5,  
    level = 2,
+
  name = "Irradiate",  
    name = "Passwall",
+
  noise = {casting = 5, effect = 0},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 0,
+
  quote = [=[“Reflex in the sky warn you you're gonna die
      effect = 0
+
Storm coming, you'd better hide from the atomic tide
    },
+
Flashes in the sky turns houses into sties
    ["power cap"] = 120,
+
Turns people into clay, radiation minds decay”
    quote = "“He says the best way out is always through.”\n    -Robert Frost, _A Servant to Servants_. 1915.",
+
    -Black Sabbath, “Electric Funeral”. 1970.]=],  
    range = {
+
  range = {max = 1, min = 1},  
      max = 7,
+
  schools = {
      min = 1
+
    Alchemy = true,  
    },
+
    Conjuration = true,
    schools = {
 
      Earth = true,
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  Petrify = {
+
}
    books = {
+
m["Iskenderun's Battlesphere"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Sloth"] = true
+
    ["book of Power"] = true,  
    },
+
    ["book of the Spheres"] = 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 = {
+
  description = [=[Conjures a small globe of destructive energy. Each time its creator casts a offensive spell, the battlesphere will also fire an unerring volley of energy at the most injured nearby foe it can reach.
      dir_or_target = true,
+
 
      needs_tracer = true,
+
The battlesphere's creator can freely fire through its position without harming it.]=],  
      WL_check = true
+
  flags = {
    },
+
    utility = true,
    level = 4,
+
  },  
    name = "Petrify",
+
  level = 4,  
    noise = {
+
  name = "Iskenderun's Battlesphere",  
      casting = 3,
+
  noise = {casting = 4, effect = 0},  
      effect = 0
+
  ["power cap"] = 100,  
    },
+
  quote = [=[“Maxim 4: Close air support covereth a multitude of sins.”
    ["power cap"] = 100,
+
    -Howard Tayler, _The Seventy Maxims of Maximally Effective Mercenaries_,
    range = {
+
    in _Schlock Mercenary_. 2008.]=],  
      max = 6,
+
  schools = {
      min = 6
+
    Conjuration = true,  
    },
+
    Forgecraft = true,
    schools = {
 
      Earth = true,
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Poisonous Vapours"] = {
+
}
    books = {
+
m["Iskenderun's Mystic Blast"] = {
      ["book of Vapours"] = true,
+
  books = {
      ["Young Poisoner's Handbook"] = true
+
    ["book of Blasting"] = true,  
    },
+
    ["book of Duality"] = true,
    description = "Turns the air around a targeted creature toxic, directly inflicting poison on the target before dispersing.",
+
  },  
    flags = {
+
  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. Spellpower increases damage and knockback distance.",  
      not_self = true,
+
  flags = {
      target = true
+
    area = true,
    },
+
  },  
    level = 2,
+
  level = 4,  
    name = "Poisonous Vapours",
+
  name = "Iskenderun's Mystic Blast",  
    noise = {
+
  noise = {casting = 4, effect = 10},  
      casting = 2,
+
  ["power cap"] = 100,  
      effect = 0
+
  range = {max = 2, min = 2},  
    },
+
  schools = {
    ["power cap"] = 50,
+
    Conjuration = true,  
    range = {
+
    Translocation = true,
      max = 7,
 
      min = 7
 
    },
 
    schools = {
 
      Air = true,
 
      Poison = true
 
    }
 
 
   },
 
   },
  ["Polar Vortex"] = {
+
}
    books = {
+
m["Jinxbite"] = {
      ["book of Ice"] = true
+
  books = {
     },
+
    ["book of Misfortune"] = 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.",
+
     ["book of Party Tricks"] = true,
    flags = {
+
  },  
      area = 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.
    },
+
 
    level = 9,
+
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.]=],  
    name = "Polar Vortex",
+
  flags = {
    noise = {
+
    selfench = true,
      casting = 5,
+
  },  
      effect = 15
+
  level = 2,  
    },
+
  name = "Jinxbite",  
    ["power cap"] = 200,
+
  noise = {casting = 2, effect = 0},  
    range = {
+
  ["power cap"] = 50,  
      max = 5,
+
  schools = {
      min = 5
+
     Hexes = true,
     },
 
    schools = {
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Portal Projectile"] = {
+
}
    books = {
+
m["Kinetic Grapnel"] = {
      ["book of the Hunter"] = true,
+
  books = {
      ["book of Weapons"] = true
+
    ["book of Cantrips"] = true,
    },
+
  },  
    description = "Allows the caster to teleport fired or thrown missiles directly to their targets for a short duration, spending an additional small amount of magic for each missile. Teleported projectiles have their accuracy greatly increased.",
+
  description = "Weaves a thin kinetic filament around the caster's melee weapon and launches the other end of it at a nearby enemy. If this grapnel successfully hits and does damage, it will become lodged in them, allowing the next melee attack the caster performs against them to strike with perfect accuracy and a small slaying bonus.",  
    flags = {},
+
  flags = {
    level = 3,
+
    destructive = true,
    name = "Portal Projectile",
+
    dir_or_target = true,
    noise = {
+
    needs_tracer = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 1,  
    },
+
  name = "Kinetic Grapnel",  
    ["power cap"] = 50,
+
  noise = {casting = 1, effect = 0},  
    schools = {
+
  ["power cap"] = 25,  
      Hexes = true,
+
  range = {max = 4, min = 4},  
      Translocation = true
+
  schools = {
     }
+
     Forgecraft = true,
 
   },
 
   },
  Sandblast = {
+
}
    books = {
+
m["Kiss of Death"] = {
      ["book of Geomancy"] = true
+
  books = {
    },
+
    ["book of Touch"] = 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 = {
+
  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.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true,
+
    dir_or_target = true,  
      not_self = true
+
    needs_tracer = true,  
    },
+
    not_self = true,
    level = 1,
+
  },  
    name = "Sandblast",
+
  level = 1,  
    noise = {
+
  name = "Kiss of Death",  
      casting = 1,
+
  noise = {casting = 1, effect = 0},  
      effect = 2
+
  ["power cap"] = 25,  
    },
+
  range = {max = 1, min = 1},  
    ["power cap"] = 50,
+
  schools = {
    range = {
+
    Conjuration = true,
      max = 4,
+
     Necromancy = true,
      min = 4
 
    },
 
    schools = {
 
      Earth = true
 
     }
 
 
   },
 
   },
  Scorch = {
+
}
    books = {
+
m["Launch Clockwork Bee"] = {
      ["book of Scorching"] = true
+
  books = {
     },
+
    ["Handbook of Applied Construction"] = true,
    description = "Scorches a random foe. Those injured by this have their resistance to fire burned away for a short time.",
+
     ["My Sojourn through Swampland"] = true,
    flags = {
+
  },  
      no_ghost = true
+
  description = [=[Constructs a mechanical bee and winds its clockwork mechanisms over several turns before unleashing it against a targeted foe. The bee is swift and powerful, but its clockwork quickly winds down as it attacks, eventually leaving it helpless and unable to move.
     },
+
 
    level = 2,
+
The caster may repair and rewind a dormant bee by attempting to move into it, at the cost of 1 MP.
    name = "Scorch",
+
 
    noise = {
+
Spellpower increases the number of attacks the bee may perform before going dormant.]=],  
      casting = 4,
+
  flags = {
      effect = 8
+
    not_self = true,
    },
+
     target = true,
    ["power cap"] = 50,
+
  },  
    range = {
+
  level = 3,  
      max = 3,
+
  name = "Launch Clockwork Bee",  
      min = 3
+
  noise = {casting = 3, effect = 0},  
    },
+
  ["power cap"] = 100,  
    schools = {
+
  range = {max = 8, min = 8},  
      Fire = true
+
  schools = {
    }
+
    Forgecraft = true,
 
   },
 
   },
  ["Searing Ray"] = {
+
}
    books = {
+
m["Leda's Liquefaction"] = {
      ["book of Conjurations"] = true
+
  books = {
     },
+
    ["book of Sloth"] = 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.",
+
     ["book of the Earth"] = true,
    flags = {
+
  },  
      dir_or_target = 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.
      needs_tracer = true
+
 
    },
+
The 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.]=],  
    level = 2,
+
  flags = {
    name = "Searing Ray",
+
    area = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 4,  
      effect = 2
+
  name = "Leda's Liquefaction",  
    },
+
  noise = {casting = 4, effect = 0},  
    ["power cap"] = 50,
+
  ["power cap"] = 200,  
    range = {
+
  schools = {
      max = 4,
+
    Alchemy = true,  
      min = 4
+
     Earth = true,
    },
 
     schools = {
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  Shatter = {
+
}
    books = {
+
m["Lee's Rapid Deconstruction"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["book of Iron"] = 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.",
+
     ["book of the Earth"] = true,
    flags = {
+
  },  
      area = 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.
     },
+
 
    level = 9,
+
Targets 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.]=],  
    name = "Shatter",
+
  flags = {
    noise = {
+
    destructive = true,
      casting = 7,
+
     target = true,
      effect = 30
+
  },  
    },
+
  level = 5,  
    ["power cap"] = 200,
+
  name = "Lee's Rapid Deconstruction",  
    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.",
+
  noise = {casting = 5, effect = 20},  
    schools = {
+
  ["power cap"] = 200,  
      Earth = true
+
  quote = [=[“Now the house was full of men and women; and all the lords of the Philistines
    }
+
were there; and there were upon the roof about three thousand men and women,
 +
that beheld while Samson made sport.
 +
 
 +
And Samson called unto the LORD, and said, O Lord GOD, remember me, I pray
 +
thee, and strengthen me, I pray thee, only this once, O God, that I may be at
 +
once avenged of the Philistines for my two eyes.
 +
 
 +
And Samson took hold of the two middle pillars upon which the house stood, and
 +
on which it was borne up, of the one with his right hand, and of the other
 +
with his left.
 +
 
 +
And Samson said, Let me die with the Philistines. And he bowed himself with
 +
all his might; and the house fell upon the lords, and upon all the people that
 +
were therein. So the dead which he slew at his death were more than they which
 +
he slew in his life.”
 +
    -KJV Bible, Judges 16:27-30.]=],
 +
  range = {max = 8, min = 8},  
 +
  schools = {
 +
    Earth = true,
 
   },
 
   },
  Shock = {
+
}
    books = {
+
m["Lehudib's Crystal Spear"] = {
      ["book of Air"] = true
+
  books = {
     },
+
    ["book of Armaments"] = true,
    description = "Throws a bouncing bolt of electricity. It partially bypasses armour.",
+
     ["book of the Moon"] = true,
    flags = {
+
  },  
      dir_or_target = true,
+
  description = "Hurls a lethally sharp shard of crystal.",  
      needs_tracer = true
+
  flags = {
    },
+
    dir_or_target = true,  
    level = 1,
+
    needs_tracer = true,
    name = "Shock",
+
  },  
    noise = {
+
  level = 8,  
      casting = 1,
+
  name = "Lehudib's Crystal Spear",  
      effect = 1
+
  noise = {casting = 8, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 25,
+
  range = {max = 3, min = 3},  
    range = {
+
  schools = {
      max = 7,
+
    Conjuration = true,  
      min = 7
+
    Earth = true,
    },
 
    schools = {
 
      Air = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  Silence = {
+
}
    books = {
+
m["Lesser Beckoning"] = {
      ["book of the Moon"] = true,
+
  books = {
      ["book of the Senses"] = true
+
    ["book of Displacement"] = true,  
    },
+
    ["book of Spatial Translocations"] = 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 = {
+
  description = "Beckons the target forward, attempting to place them adjacent to the caster.",  
      area = true
+
  flags = {
     },
+
    dir_or_target = true,
    level = 5,
+
     needs_tracer = true,
    name = "Silence",
+
    not_self = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 2,  
      effect = 0
+
  name = "Lesser Beckoning",  
    },
+
  noise = {casting = 2, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 50,  
    schools = {
+
  range = {max = 5, min = 3},  
      Air = true,
+
  schools = {
      Hexes = true
+
     Translocation = true,
     }
 
 
   },
 
   },
  Simulacrum = {
+
}
    books = {
+
m["Magic Dart"] = {
      ["book of Ice"] = true,
+
  books = {
      ["book of the Tundra"] = true,
+
    ["book of Conjurations"] = true,  
      ["book of Winter"] = true
+
    ["book of Minor Magic"] = true,
    },
+
  },  
    description = "Grips a creature's soul in chains of ice. When it dies, its corpse freezes and splits, transforming into icy replicas which serve the caster. Simulacra cannot leave the level they were created on. The number created depends on spell power.",
+
  description = "Fires a small bolt of magical energy which never misses.",  
    flags = {
+
  flags = {
      dir_or_target = true,
+
    dir_or_target = true,  
      needs_tracer = true
+
    needs_tracer = true,
    },
+
  },  
    level = 6,
+
  level = 1,  
    name = "Simulacrum",
+
  name = "Magic Dart",  
    noise = {
+
  noise = {casting = 1, effect = 0},  
      casting = 5,
+
  ["power cap"] = 25,
      effect = 0
+
  quote = [=[“Wie die Mächtigen es schon seit jeher wissen,
    },
+
Es gibt immer einen Kniff;
    ["power cap"] = 200,
+
Denn als Guter bist du niemals so gerissen,
     range = {
+
Ein Zauberpfeil der immer trifft!
      max = 7,
+
 
      min = 7
+
[As the powerful have known all along,
    },
+
There is always a trick;
    schools = {
+
Because as a good person, you'll never be so cunning,
      Ice = true,
+
A magic arrow that always hits!]”
      Necromancy = true
+
     -ASP, "Verwandlungen I-III". 2008]=],
    }
+
  range = {max = 8, min = 8},  
 +
  schools = {
 +
    Conjuration = true,
 
   },
 
   },
   Slow = {
+
}
     books = {
+
m["Magnavolt"] = {
      ["book of Debilitation"] = true
+
   books = {
    },
+
     ["Maxwell's Memoranda"] = true,
    description = "Slows the actions of a creature.",
+
    ["book of Iron"] = true,
    flags = {
+
  },  
      dir_or_target = 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.
      needs_tracer = true,
+
 
      WL_check = true
+
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 = {
    level = 1,
+
    destructive = true,  
    name = "Slow",
+
    needs_tracer = true,  
    noise = {
+
    prefer_farthest = true,
      casting = 2,
+
     target = true,
      effect = 0
+
  },  
    },
+
  level = 7,  
    ["power cap"] = 25,
+
  name = "Magnavolt",  
    range = {
+
  noise = {casting = 7, effect = 0},  
      max = 7,
+
  ["power cap"] = 200,  
      min = 7
+
  range = {max = 8, min = 8},  
    },
+
  schools = {
    schools = {
+
    Air = true,
      Hexes = true
+
     Earth = true,
     }
 
 
   },
 
   },
  ["Spellforged Servitor"] = {
+
}
    books = {
+
m["Malign Gateway"] = {
      ["book of Dangerous Friends"] = true,
+
  books = {
      ["book of Power"] = true
+
    ["Grand Grimoire"] = 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.",
+
  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 = {},
+
  flags = {
    level = 7,
+
    chaotic = true,
    name = "Spellforged Servitor",
+
    unholy = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 7,  
      effect = 0
+
  name = "Malign Gateway",  
    },
+
  noise = {casting = 7, effect = 15},  
    ["power cap"] = 200,
+
  ["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 = {
    schools = {
+
    Summoning = true,  
      Conjuration = true,
+
    Translocation = true,
      Summoning = true
 
    }
 
 
   },
 
   },
  Starburst = {
+
}
    books = {
+
m["Manifold Assault"] = {
      ["book of Fire"] = true,
+
  books = {
      ["book of Spectacle"] = true
+
    ["book of Battle"] = true,  
    },
+
    ["book of the Warp"] = true,
    description = "Releases penetrating bolts of fire from the caster in every direction.",
+
  },  
    flags = {
+
  description = [=[Warps space into paradoxical configurations to strike many visible foes with one melee attack. Power increases the number of foes attacked with one cast, though unarmed attacks strike only half as many targets at once, as additional care must be taken when warping one's own limbs.
      area = true
+
 
    },
+
The time taken for the attack is exactly the same as a normal melee attack. Attacks performed this way never miss, but the exact spot struck cannot be controlled precisely, making them unable to do extra damage against unsuspecting foes.]=],  
    level = 6,
+
  flags = {
    name = "Starburst",
+
  },  
    noise = {
+
  level = 7,  
      casting = 6,
+
  name = "Manifold Assault",  
      effect = 6
+
  noise = {casting = 7, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
     Translocation = true,
      max = 5,
 
      min = 5
 
     },
 
    schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  ["Static Discharge"] = {
+
}
    books = {
+
m["Martyr's Knell"] = {
      ["book of Lightning"] = true,
+
  books = {
      ["book of Touch"] = true
+
    ["book of Decay"] = true,  
    },
+
    ["book of Unlife"] = 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 = {
+
  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.
      area = true
+
 
    },
+
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.]=],  
    level = 2,
+
  flags = {
    name = "Static Discharge",
+
  },  
    noise = {
+
  level = 4,  
      casting = 3,
+
  name = "Martyr's Knell",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 100,
+
  schools = {
    range = {
+
    Necromancy = true,  
      max = 1,
+
     Summoning = true,
      min = 1
 
     },
 
    schools = {
 
      Air = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Sticky Flame"] = {
+
}
    books = {
+
m["Maxwell's Capacitive Coupling"] = {
      ["book of Touch"] = true,
+
  books = {
      ["Everburning Encyclopedia"] = true
+
    ["Codex of Conductivity"] = true,  
    },
+
    ["Maxwell's Memoranda"] = 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 = {
+
  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. The spell requires a visible target to begin accumulating charge, though a different foe may be targeted when the charge is released.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    destructive = true,  
    },
+
    no_ghost = true,
    level = 4,
+
  },  
    name = "Sticky Flame",
+
  level = 8,  
    noise = {
+
  name = "Maxwell's Capacitive Coupling",  
      casting = 4,
+
  noise = {casting = 8, effect = 25},  
      effect = 1
+
  ["power cap"] = 200,  
    },
+
  range = {max = 8, min = 8},  
    ["power cap"] = 100,
+
  schools = {
    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.",
+
    Air = true,
    range = {
 
      max = 1,
 
      min = 1
 
    },
 
    schools = {
 
      Alchemy = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  Sting = {
+
}
    books = {
+
m["Maxwell's Portable Piledriver"] = {
      ["Young Poisoner's Handbook"] = true
+
  books = {
     },
+
    ["Maxwell's Memoranda"] = 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.",
+
     ["book of Displacement"] = true,
    flags = {
+
  },  
      dir_or_target = true,
+
  description = "Compresses an envelope of space around the caster and an adjacent enemy (or a contiguous line of enemies), then allows it to decompress abruptly, propelling everyone forward until the unfortunate being at the far end collides with something solid, inflicting damage on them proportional to the distance travelled.",  
      needs_tracer = true
+
  flags = {
    },
+
    target = true,
    level = 1,
+
  },  
    name = "Sting",
+
  level = 3,  
    noise = {
+
  name = "Maxwell's Portable Piledriver",  
      casting = 1,
+
  noise = {casting = 3, effect = 0},  
      effect = 1
+
  ["power cap"] = 100,
    },
+
  quote = "While originally designed for use in industrial construction, enterprising copycats were quick to discover a multitude of other problems that could be solved by moving one object into another, very, very quickly.",  
    ["power cap"] = 25,
+
  range = {max = 5, min = 5},  
    range = {
+
  schools = {
      max = 3,
+
    Translocation = true,
      min = 3
 
    },
 
    schools = {
 
      Alchemy = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Stone Arrow"] = {
+
}
    books = {
+
m["Mephitic Cloud"] = {
      ["book of Armaments"] = true,
+
  books = {
      ["book of Geomancy"] = true
+
    ["Trismegistus Codex"] = true,  
    },
+
    ["book of the Senses"] = true,
    description = "Fires a sharp spine of rock.",
+
  },  
    flags = {
+
  description = "Conjures a fragile flask that explodes into short-lived clouds of noxious fumes. These clouds may cause confusion in any creature not resistant to poison. Tougher, more experienced creatures are less likely to be affected.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    area = true,
    },
+
    cloud = true,
    level = 3,
+
    dir_or_target = true,  
    name = "Stone Arrow",
+
    needs_tracer = true,
    noise = {
+
  },  
      casting = 3,
+
  level = 3,  
      effect = 3
+
  name = "Mephitic Cloud",  
    },
+
  noise = {casting = 3, effect = 15},  
    ["power cap"] = 50,
+
  ["power cap"] = 100,
     range = {
+
  quote = [=[“Seit mehreren Jahren schon hatte die indische Cholera eine verstärkte
      max = 4,
+
Neigung zur Ausbreitung und Wanderung an den Tag gelegt. Erzeugt aus
      min = 4
+
den warmen Moraesten des Ganges-Deltas, aufgestiegen mit dem
    },
+
mephitischen Odem jener üppig-untauglichen, von Menschen gemiedenen
    schools = {
+
Urwelt- und Inselwildnis, in deren Bambusdickichten der Tiger kauert,
      Conjuration = true,
+
hatte die Seuche in ganz Hindustan andauernd und ungewöhnlich heftig
      Earth = true
+
gewütet, hatte östlich nach China, westlich nach Afghanistan und
     }
+
Persien übergegriffen und, den Hauptstraßen des Karawanenverkehrs
 +
folgend, ihre Schrecken bis Astrachan, ja selbst bis Moskau getragen.”
 +
     -Thomas Mann, _Der Tod in Venedig_, 1911.]=],
 +
  range = {max = 4, min = 4},  
 +
  schools = {
 +
    Air = true,  
 +
    Alchemy = true,
 +
     Conjuration = true,
 
   },
 
   },
  ["Sublimation of Blood"] = {
+
}
    books = {
+
m["Mercury Arrow"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Blood"] = true
+
    ["My Sojourn through Swampland"] = true,  
    },
+
    ["Young Poisoner's Handbook"] = 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 = {
+
  description = [=[Conjures an arrow of elemental mercury which deals direct poison damage to whatever it hits and may also weaken their melee attacks for a short while.
      utility = true
+
 
     },
+
The physical force of the arrow inflicts a small amount of damage even to those immune to poison, and the weakening effect can splash to adjacent targets and ignores poison resistance altogether.]=],  
    level = 2,
+
  flags = {
    name = "Sublimation of Blood",
+
    dir_or_target = true,
    noise = {
+
     needs_tracer = true,
      casting = 2,
+
  },  
      effect = 0
+
  level = 2,  
    },
+
  name = "Mercury Arrow",  
    ["power cap"] = 100,
+
  noise = {casting = 2, effect = 0},  
     schools = {
+
  ["power cap"] = 50,
      Necromancy = true
+
  quote = [=[“During the course of the treatise, each element is allowed time to tout its
     }
+
own virtues and usefulness to mankind, but when it comes time for Mercury,
 +
he announces that he presides over all of the beings that have come before
 +
him. Mercury is mother and father. He gives other metals their splendor and
 +
makes them useful to humanity. Without Mercury, the other metals would have no
 +
(use) value. Perhaps a seat on the throne would restrict him to a fixed
 +
position of sovereignty. He reigns, but he must be mobile.”
 +
     -Karen Pinkus, _Alchemical Mercury: A Theory of Ambivalance_, 2009]=],
 +
  range = {max = 4, min = 4},
 +
  schools = {
 +
    Alchemy = true,
 +
     Conjuration = true,
 
   },
 
   },
  ["Summon Cactus Giant"] = {
+
}
    books = {
+
m["Metabolic Englaciation"] = {
      ["book of Scorching"] = true,
+
  books = {
      ["book of the Wilderness"] = true
+
    ["book of Sloth"] = true,  
    },
+
    ["book of Winter"] = 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 = {},
+
  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.",  
    level = 6,
+
  flags = {
    name = "Summon Cactus Giant",
+
    area = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 5,  
      effect = 0
+
  name = "Metabolic Englaciation",  
    },
+
  noise = {casting = 5, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
    schools = {
+
  schools = {
      Summoning = true
+
    Hexes = true,
     }
+
     Ice = true,
 
   },
 
   },
  ["Summon Forest"] = {
+
}
    books = {
+
m["Momentum Strike"] = {
      ["book of the Wilderness"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["book of Spatial Translocations"] = 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.",
+
  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 = {},
+
  flags = {
    level = 5,
+
    not_self = true,
    name = "Summon Forest",
+
    target = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 2,  
      effect = 10
+
  name = "Momentum Strike",  
    },
+
  noise = {casting = 2, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 50,
    schools = {
+
  range = {max = 4, min = 4},  
      Summoning = true,
+
  schools = {
      Translocation = true
+
    Conjuration = true,  
    }
+
    Translocation = true,
 
   },
 
   },
  ["Summon Guardian Golem"] = {
+
}
    books = {
+
m["Nazja's Percussive Tempering"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of Dangerous Friends"] = true
+
    ["book of Duality"] = true,  
    },
+
    ["book of Metalworking"] = true,
    description = "Summons a protective golem. It redirects the injuries of its allies (but not the caster) to itself. When sufficiently damaged, it may fill with an inner flame, causing it to explode if destroyed. It gains more health at high power.",
+
  },  
    flags = {},
+
  description = "Manifests a magical hammer that repairs and temporarily augments the offensive capabilities of any construct that was created by the caster's own Forgecraft spells. This process results in a flurry of sparks, slag, and concussive shockwaves that do considerable damage to any enemies adjacent to the targeted construct, but it cannot be recast upon the same object until the enhancement wears off.",  
    level = 3,
+
  flags = {
    name = "Summon Guardian Golem",
+
    destructive = true,
    noise = {
+
    helpful = true,
      casting = 3,
+
    not_self = true,
      effect = 0
+
    target = true,
    },
+
  },  
    ["power cap"] = 100,
+
  level = 5,  
    schools = {
+
  name = "Nazja's Percussive Tempering",  
      Hexes = true,
+
  noise = {casting = 5, effect = 0},  
      Summoning = true
+
  ["power cap"] = 200,
     }
+
  quote = "Scholars long considered the hammer mere theatrics to mask the complex structural enhancement magics which must underpin this spell, and yet every attempt to remove it from the incantation has caused the spell to lose its effectiveness. The implications of this remain hotly debated.",  
 +
  range = {max = 8, min = 8},  
 +
  schools = {
 +
     Forgecraft = true,
 
   },
 
   },
  ["Summon Horrible Things"] = {
+
}
    books = {
+
m["Olgreb's Toxic Radiance"] = {
      ["Grand Grimoire"] = true
+
  books = {
     },
+
    ["Young Poisoner's Handbook"] = 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.",
+
     ["the Unrestrained Analects"] = true,
    flags = {
+
  },  
      chaotic = 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.",  
      mons_abjure = true,
+
  flags = {
      unholy = true
+
    area = true,  
    },
+
    destructive = true,
    level = 8,
+
  },  
    name = "Summon Horrible Things",
+
  level = 4,  
    noise = {
+
  name = "Olgreb's Toxic Radiance",  
      casting = 6,
+
  noise = {casting = 4, effect = 0},  
      effect = 0
+
  ["power cap"] = 100,  
    },
+
  schools = {
    ["power cap"] = 200,
+
    Alchemy = true,
    schools = {
 
      Summoning = true
 
    }
 
 
   },
 
   },
  ["Summon Hydra"] = {
+
}
    books = {
+
m["Orb of Destruction"] = {
      ["book of Blood"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["book of Dangerous Friends"] = true,  
    },
+
    ["book of the Spheres"] = true,
    description = "Summons a many-headed hydra to fight alongside the caster for a short time. Spell power determines the number of heads.",
+
  },  
    flags = {
+
  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 stabilise, and a nascent orb will deal reduced damage.
      mons_abjure = true
+
 
     },
+
Residents 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.]=],  
    level = 7,
+
  flags = {
    name = "Summon Hydra",
+
    dir_or_target = true,
    noise = {
+
    needs_tracer = true,
      casting = 6,
+
     not_self = true,
      effect = 0
+
  },  
    },
+
  level = 7,  
    ["power cap"] = 200,
+
  name = "Orb of Destruction",  
    schools = {
+
  noise = {casting = 7, effect = 0},  
      Summoning = true
+
  ["power cap"] = 200,  
    }
+
  range = {max = 8, min = 8},
 +
  schools = {
 +
    Conjuration = true,
 
   },
 
   },
  ["Summon Ice Beast"] = {
+
}
    books = {
+
m["Ozocubu's Armour"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["book of Rime"] = true
+
    ["book of Battle"] = true,  
    },
+
    ["book of Winter"] = true,
    description = "Calls forth a beast of ice to serve the caster. The strength of the beast depends on spell power.",
+
  },  
    flags = {},
+
  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.",  
    level = 3,
+
  flags = {
    name = "Summon Ice Beast",
+
    no_ghost = true,
    noise = {
+
  },  
      casting = 3,
+
  level = 3,  
      effect = 0
+
  name = "Ozocubu's Armour",  
    },
+
  noise = {casting = 3, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 100,  
    schools = {
+
  schools = {
      Ice = true,
+
    Ice = true,
      Summoning = true
 
    }
 
 
   },
 
   },
  ["Summon Lightning Spire"] = {
+
}
    books = {
+
m["Ozocubu's Refrigeration"] = {
      ["book of Storms"] = true,
+
  books = {
      ["book of the Sky"] = true
+
    ["book of Ice"] = true,  
    },
+
    ["the Unrestrained Analects"] = 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 = {},
+
  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 their allies will be partly insulated from the cold, taking less damage.",  
    level = 4,
+
  flags = {
    name = "Summon Lightning Spire",
+
    area = true,
    noise = {
+
    destructive = true,
      casting = 2,
+
  },  
      effect = 0
+
  level = 7,  
    },
+
  name = "Ozocubu's Refrigeration",  
    ["power cap"] = 100,
+
  noise = {casting = 7, effect = 0},  
    schools = {
+
  ["power cap"] = 200,  
      Air = true,
+
  schools = {
      Summoning = true
+
    Ice = true,
    }
 
 
   },
 
   },
  ["Summon Mana Viper"] = {
+
}
    books = {
+
m["Passage of Golubria"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["book of the Wilderness"] = true
+
    ["Great Wizards, Vol. VII"] = true,  
    },
+
    ["book of the Moon"] = 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 = {
+
  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. However, gateways close a short time after being opened, or immediately once entered.",  
      mons_abjure = true
+
  flags = {
     },
+
    aim_at_space = true,
    level = 5,
+
    escape = true,
    name = "Summon Mana Viper",
+
    selfench = true,
    noise = {
+
     target = true,
      casting = 4,
+
  },  
      effect = 0
+
  level = 4,  
    },
+
  name = "Passage of Golubria",  
    ["power cap"] = 100,
+
  noise = {casting = 4, effect = 8},  
    schools = {
+
  ["power cap"] = 100,  
      Hexes = true,
+
  range = {max = 8, min = 2},  
      Summoning = true
+
  schools = {
     }
+
     Translocation = true,
 
   },
 
   },
  ["Summon Small Mammal"] = {
+
}
    books = {
+
m["Passwall"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of Cantrips"] = true
+
    ["book of Burglary"] = true,  
    },
+
    ["book of Geomancy"] = true,
    description = "Summons a rat, bat, or quokka to the caster's aid. Spell power increases the chance of summoning a quokka.",
+
  },  
    flags = {},
+
  description = "Allows the caster to travel a short distance through an adjacent rock wall and emerge again on the other side. This spell takes an unusally long time to cast, during which the caster will be unable to act, but also gain increased armour from their attunement to the rock.",  
    level = 1,
+
  flags = {
    name = "Summon Small Mammal",
+
    escape = true,
    noise = {
+
    not_self = true,
      casting = 1,
+
    silent = true,
      effect = 0
+
    target = true,
    },
+
    utility = true,
    ["power cap"] = 25,
+
  },  
     schools = {
+
  level = 3,  
      Summoning = true
+
  name = "Passwall",  
    }
+
  noise = {casting = 0, effect = 0},  
 +
  ["power cap"] = 100,  
 +
  quote = [=[“He says the best way out is always through.”
 +
     -Robert Frost, _A Servant to Servants_. 1915.]=],
 +
  range = {max = 3, min = 3},
 +
  schools = {
 +
    Earth = true,
 
   },
 
   },
  Swiftness = {
+
}
    books = {
+
m["Permafrost Eruption"] = {
      ["book of Air"] = true,
+
  books = {
      ["book of Burglary"] = true
+
    ["book of the Earth"] = true,  
    },
+
    ["book of the Tundra"] = 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 = {
+
  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.
      hasty = true,
+
 
      selfench = true,
+
It will always attempt to blast the largest concentration of foes in sight, and never explodes next to the caster.]=],  
      utility = true
+
  flags = {
    },
+
    destructive = true,
    level = 3,
+
  },  
    name = "Swiftness",
+
  level = 6,  
    noise = {
+
  name = "Permafrost Eruption",  
      casting = 2,
+
  noise = {casting = 6, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 6, min = 6},  
    ["power cap"] = 100,
+
  schools = {
    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",
+
    Earth = true,
    schools = {
+
     Ice = true,
      Air = true
 
     }
 
 
   },
 
   },
  ["Teleport Other"] = {
+
}
    books = {
+
m["Petrify"] = {
      ["book of Displacement"] = true,
+
  books = {
      ["There-And-Back Book"] = true
+
    ["book of Sloth"] = true,  
    },
+
    ["book of Transmutation"] = true,
    description = "Randomly translocates a targeted creature.",
+
  },  
    flags = {
+
  description = "Petrifies a targeted creature and up to two other foes in a chain. Those which do not muster the Will to resist are briefly slowed, and then turned to stone. Until they return to flesh, they are unable to act, but also take half damage. The spell's power is lessened against secondary targets.",  
      dir_or_target = true,
+
  flags = {
      escape = true,
+
    WL_check = true,  
      needs_tracer = true,
+
    dir_or_target = true,  
      not_self = true,
+
    needs_tracer = true,
      WL_check = true
+
  },  
    },
+
  level = 4,  
    level = 3,
+
  name = "Petrify",  
    name = "Teleport Other",
+
  noise = {casting = 4, effect = 0},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 3,
+
  quote = [=[“Any pose held too long calcifies.
      effect = 0
+
A belief believed too long becomes dogma.
    },
+
Any expression held long enough will harden into a mask.
    ["power cap"] = 100,
+
And who is the _real_ us
     range = {
+
that hard exterior
      max = 7,
+
or the soft uncertain self we keep beneath?”
      min = 7
+
     -Dorothy Gambrell, _Cat and Girl_, 2011.]=],
    },
+
  range = {max = 6, min = 6},  
    schools = {
+
  schools = {
      Translocation = true
+
    Alchemy = true,
     }
+
     Earth = true,
 
   },
 
   },
  ["Tukima's Dance"] = {
+
}
    books = {
+
m["Plasma Beam"] = {
      ["book of Weapons"] = true,
+
  books = {
      ["Great Wizards, Vol. VII"] = true
+
    ["book of Fire"] = true,  
    },
+
    ["book of Lightning"] = 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 = {
+
  description = "Fires a penetrating beam of plasma at one of the caster's most distant foes. The ionised beam bypasses half of defenders' armour, and a second beam of fire follows in its wake.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true,
+
    destructive = true,  
      not_self = true,
+
    noisy = true,
      WL_check = true
+
  },  
    },
+
  level = 6,  
    level = 3,
+
  name = "Plasma Beam",  
    name = "Tukima's Dance",
+
  noise = {casting = 6, effect = 20},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 3,
+
  range = {max = 8, min = 8},  
      effect = 0
+
  schools = {
    },
+
    Air = true,
    ["power cap"] = 100,
+
     Fire = true,
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    schools = {
 
      Hexes = true
 
     }
 
 
   },
 
   },
  ["Vampiric Draining"] = {
+
}
    books = {
+
m["Platinum Paragon"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of Necromancy"] = true
+
    ["book of Weapons"] = true,
    },
+
  },  
    description = "Steals the life of an adjacent living creature and grants it to the caster.",
+
  description = [=[Constructs a gleaming metal champion whose prowess rivals that of the greatest living warriors. It is resistant to all forms of magic and wields a perfect replica of any artefact melee weapon the caster chooses.
    flags = {
+
 
      dir_or_target = true,
+
It creates a damaging shockwave around itself when first deployed and slowly gains charge as it attacks enemies. When it has gained sufficient charge, the spell may be recast to overload the paragon, unleashing a flurry of attacks in a wide area which inflict increased damage, but destroying the paragon in the process.
      not_self = true
+
 
    },
+
Due to the magical link it maintains with its creator, it will perform an extra attack whenever they do, and will sometimes even parry attacks directed at them, if they are close enough together.]=],  
    level = 3,
+
  flags = {
    name = "Vampiric Draining",
+
    not_self = true,  
    noise = {
+
    target = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 9,  
    },
+
  name = "Platinum Paragon",  
    ["power cap"] = 100,
+
  noise = {casting = 9, effect = 15},  
    range = {
+
  ["power cap"] = 200,  
      max = 1,
+
  range = {max = 3, min = 3},  
      min = 1
+
  schools = {
    },
+
    Forgecraft = true,
    schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Yara's Violent Unravelling"] = {
+
}
    books = {
+
m["Poisonous Vapours"] = {
      ["book of Misfortune"] = true,
+
  books = {
      ["Great Wizards, Vol. VII"] = true
+
    ["Young Poisoner's Handbook"] = true,  
    },
+
    ["book of Cantrips"] = 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 = {
+
  description = [=[Transmutes a small amount of the air around a target into toxic vapours, poisoning anyone unfortunate enough to breathe them in. The quantity of air affected is small and it will not persist beyond the turn in which it is cast.
      chaotic = true,
+
 
      no_ghost = true,
+
It cannot affect those with any resistance to poison.]=],  
      target = true
+
  flags = {
    },
+
    destructive = true,  
    level = 5,
+
    not_self = true,  
    name = "Yara's Violent Unravelling",
+
    target = true,
    noise = {
+
  },  
      casting = 5,
+
  level = 1,  
      effect = 15
+
  name = "Poisonous Vapours",  
    },
+
  noise = {casting = 1, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 25,  
    range = {
+
  range = {max = 3, min = 3},  
      max = 7,
+
  schools = {
      min = 7
+
    Air = true,  
    },
+
    Alchemy = true,
    schools = {
 
      Hexes = true,
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Plasma Beam"] = {
+
}
    books = {
+
m["Polar Vortex"] = {
      ["book of Fire"] = true,
+
  books = {
      ["book of Lightning"] = true
+
    ["book of Ice"] = 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.",
+
  description = "Turns the air around the caster into a freezing vortex, doing tremendous damage to everyone caught in it that can only be half-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 = {
+
  flags = {
      needs_tracer = true
+
    area = true,
     },
+
     destructive = true,
    level = 6,
+
  },  
    name = "Plasma Beam",
+
  level = 9,  
    noise = {
+
  name = "Polar Vortex",  
      casting = 6,
+
  noise = {casting = 9, effect = 15},  
      effect = 18
+
  ["power cap"] = 200,  
    },
+
  range = {max = 5, min = 5},  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
     Ice = true,
      max = 7,
+
  },
      min = 0
+
}
     },
+
m["Rending Blade"] = {
     schools = {
+
  books = {
      Fire = true,
+
    ["book of Armaments"] = true,  
      Air = true
+
     ["book of Weapons"] = true,
     }
+
  },
 +
  description = [=[Condenses the caster's magical energy into the form of a violently crackling blade. Each time the caster successfully hits with a melee attack while the spell is active, this blade will rend a path back and forth through nearby foes, dealing irresistible damage.
 +
 
 +
Casting this spell temporarily drains *all* of the caster's remaining magical power to constitute the blade, but this energy will be returned to them as soon as the blade ceases to exist. Each point of magical power sequestered this way slightly increases the damage the blade inflicts.]=],
 +
  flags = {
 +
    utility = true,
 +
  },
 +
  level = 4,
 +
  name = "Rending Blade",
 +
  noise = {casting = 4, effect = 0},
 +
  ["power cap"] = 100,
 +
  schools = {
 +
    Conjuration = true,
 +
     Forgecraft = true,
 
   },
 
   },
  ["Cigotuvi's Dreadful Rot"] = {
+
}
    books = {
+
m["Rimeblight"] = {
      ["book of Decay"] = true,
+
  books = {
      ["book of Vapours"] = true
+
    ["book of Maladies"] = true,  
    },
+
    ["book of Wicked Creation"] = true,
    description = "Rots away a part of the caster's flesh to produce a cloud of miasma around them. The miasma slows and powerfully poisons any living creature that lingers within - including the caster, if they tarry after casting. Most living creatures are terrified of miasma and will not willingly enter it.",
+
  },  
    flags = {
+
  description = [=[Afflicts a creature (and up to two others near it) 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 will start erupting violently from their body, damaging nearby enemies. When they finally succumb, the plague may spread to those around them.
      unclean = true,
+
 
    },
+
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.]=],  
    level = 2,
+
  flags = {
    name = "Cigotuvi's Dreadful Rot",
+
    destructive = true,
    noise = {
+
    dir_or_target = true,
      casting = 2,
+
    not_self = true,
      effect = 0
+
    unclean = true,
    },
+
  },  
    ["power cap"] = 100,
+
  level = 7,  
    schools = {
+
  name = "Rimeblight",  
      Air = true,
+
  noise = {casting = 7, effect = 0},  
      Necromancy = true,
+
  ["power cap"] = 200,  
      Alchemy = true
+
  range = {max = 5, min = 5},
    },
+
  schools = {
 +
    Ice = true,  
 +
    Necromancy = true,
 
   },
 
   },
  ["Volatile Blastmotes"] = {
+
}
    books = {
+
m["Sandblast"] = {
      ["book of Blasting"] = true,
+
  books = {
      ["book of Spectacle"] = true
+
    ["book of Geomancy"] = 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.",
+
  description = "Blasts a target with high-velocity rock shards. Gathering the rock from ambient grit is slow, making this spell take one-and-a-half times as long to cast as most. Its damage is strongly reduced by armour.",  
    flags = {
+
  flags = {
     },
+
     destructive = true,
    level = 3,
+
    dir_or_target = true,
    name = "Volatile Blastmotes",
+
    needs_tracer = true,
    noise = {
+
    not_self = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 1,  
    },
+
  name = "Sandblast",  
    ["power cap"] = 100,
+
  noise = {casting = 1, effect = 0},  
    schools = {
+
  ["power cap"] = 50,  
      Fire = true,
+
  range = {max = 4, min = 4},  
      Translocation = true,
+
  schools = {
     },
+
     Earth = true,
 
   },
 
   },
  ["Kiss of Death"] = {
+
}
    books = {
+
m["Scorch"] = {
      ["book of Touch"] = true,
+
  books = {
      ["book of Death"] = true
+
    ["book of Scorching"] = 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.",
+
  description = "Scorches a random foe. Those injured by this have their resistance to fire burned away for a short time.",  
    flags = {
+
  flags = {
      unclean = true,
+
    destructive = true,
      dir_or_target = true,
+
  },  
      not_self = true,
+
  level = 2,  
    },
+
  name = "Scorch",  
    level = 1,
+
  noise = {casting = 2, effect = 8},  
    name = "Kiss of Death",
+
  ["power cap"] = 50,  
    noise = {
+
  range = {max = 3, min = 3},  
      casting = 1,
+
  schools = {
      effect = 0
+
    Fire = true,
    },
 
    ["power cap"] = 25,
 
    range = {
 
      max = 1,
 
      min = 0
 
    },
 
    schools = {
 
      Conjuration = true,
 
      Necromancy = true,
 
    },
 
 
   },
 
   },
  ["Momentum Strike"] = {
+
}
    books = {
+
m["Sculpt Simulacrum"] = {
      ["book of Spatial Translocations"] = true,
+
  books = {
     },
+
    ["book of Cryoformation"] = 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.",
+
     ["book of Wicked Creation"] = true,
    flags = {
+
  },  
 +
  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.
  
      not_self = true,
+
The good gods frown on this spell, as it works blood and ichor into unnatural facsimiles.
     },
+
 
    level = 2,
+
You can maintain up to 5 simulacra simultaneously.]=],
    name = "Momentum Strike",
+
  flags = {
    noise = {
+
    dir_or_target = true,
      casting = 2,
+
    needs_tracer = true,
      effect = 0
+
    not_self = true,  
    },
+
     target = true,
    ["power cap"] = 50,
+
    unholy = true,
    range = {
+
  },  
      max = 4,
+
  level = 6,  
      min = 4
+
  name = "Sculpt Simulacrum",  
    },
+
  noise = {casting = 6, effect = 0},  
    schools = {
+
  ["power cap"] = 200,  
      Conjuration = true,
+
  range = {max = 1, min = 1},  
      Translocation = true,
+
  schools = {
    },
+
    Alchemy = true,  
 +
    Ice = true,
 
   },
 
   },
  ["Arcjolt"] = {
+
}
    books = {
+
m["Searing Ray"] = {
      ["book of Lightning"] = true,
+
  books = {
      ["Maxwell's Memoranda"] = true,
+
    ["book of Conjurations"] = 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.",
+
  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 = {
+
  flags = {
      dir_or_target = true,
+
    dir_or_target = true,  
      not_self = true,
+
    needs_tracer = true,
    },
+
  },  
    level = 5,
+
  level = 2,  
    name = "Arcjolt",
+
  name = "Searing Ray",  
    noise = {
+
  noise = {casting = 2, effect = 0},  
      casting = 5,
+
  ["power cap"] = 50,  
      effect = 10
+
  range = {max = 4, min = 4},  
    },
+
  schools = {
    ["power cap"] = 200,
+
     Conjuration = true,
    schools = {
 
      Conjuration = true,
 
      Air = true,
 
     },
 
 
   },
 
   },
  ["Vhi's Electric Charge"] = {
+
}
    books = {
+
m["Shatter"] = {
      ["book of Lightning"] = true,
+
  books = {
      ["Maxwell's Memoranda"] = true,
+
    ["book of Annihilations"] = 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.",
+
  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 = {
+
  flags = {
      not_self = true,
+
    area = true,  
     },
+
     destructive = true,
    level = 3,
+
  },  
    name = "Vhi's Electric Charge",
+
  level = 9,  
    noise = {
+
  name = "Shatter",  
      casting = 3,
+
  noise = {casting = 9, effect = 30},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  quote = [=[“So the people shouted when the priests blew with the trumpets: and it came to
    ["power cap"] = 50,
+
pass, when the people heard the sound of the trumpet, and the people shouted
    schools = {
+
with a great shout, that the wall fell down flat, so that the people went up
      Translocation = true,
+
into the city, every man straight before him, and they took the city.
      Air = true,
+
 
     },
+
And they utterly destroyed all that was in the city, both man and woman, young
 +
and old, and ox, and sheep, and ass, with the edge of the sword.”
 +
    -KJV Bible, Joshua 6:20-21.]=],  
 +
  schools = {
 +
     Earth = true,
 
   },
 
   },
  ["Jinxbite"] = {
+
}
    books = {
+
m["Shock"] = {
      ["book of Misfortune"] = true,
+
  books = {
    },
+
    ["book of Air"] = 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 = {
+
  description = "Throws a bouncing bolt of electricity. It bypasses half of defenders' armour.",  
      WL_check = true,
+
  flags = {
     },
+
    dir_or_target = true,  
    level = 2,
+
     needs_tracer = true,
    name = "Jinxbite",
+
  },  
    noise = {
+
  level = 1,  
      casting = 2,
+
  name = "Shock",  
      effect = 0
+
  noise = {casting = 1, effect = 0},  
    },
+
  ["power cap"] = 25,  
    ["power cap"] = 50,
+
  range = {max = 8, min = 8},  
    range = {
+
  schools = {
      max = 1,
+
    Air = true,  
      min = 1
+
     Conjuration = true,
    },
 
    schools = {
 
      Hexes = true,
 
     },
 
 
   },
 
   },
  ["Mercury Vapours"] = {
+
}
    books = {
+
m["Sigil of Binding"] = {
      ["book of Vapours"] = true,
+
  books = {
      ["Young Poisoner's Handbook"] = true
+
    ["Treatise on Traps"] = true,  
    },
+
    ["book of the Hunter"] = 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 = {
+
  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. Swiftness from any source grants immunity to binding.
      not_self = true,
+
 
      target = true
+
Only one set of sigils can be maintained at a time, and they will expire prematurely if they leave your sight.]=],  
    },
+
  flags = {
    level = 2,
+
  },  
    name = "Mercury Vapours",
+
  level = 3,  
    noise = {
+
  name = "Sigil of Binding",  
      casting = 2,
+
  noise = {casting = 3, effect = 0},  
      effect = 0
+
  ["power cap"] = 100,  
    },
+
  schools = {
    ["power cap"] = 50,
+
     Hexes = true,
    range = {
 
      max = 3,
 
      min = 3
 
    },
 
     schools = {
 
      Air = true,
 
      Alchemy = true
 
    }
 
 
   },
 
   },
  ["Sigil of Binding"] = {
+
}
    books = {
+
m["Silence"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of the Hunter"] = true,
+
    ["book of the Moon"] = true,  
    },
+
    ["book of the Senses"] = 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 = {
+
  description = [=[Eliminates all sound near the caster. This makes reading scrolls, casting spells, invoking divine abilities, or shouting impossible in the caster's vicinity.
      WL_check = true,
+
 
     },
+
Certain monsters have innate magical or special abilities which will still be usable while silenced.
    level = 3,
+
 
    name = "Sigil of Binding",
+
The effect starts out with a radius depending on power, which will then shrink, eventually covering only the caster, before it times out.]=],  
    noise = {
+
  flags = {
      casting = 3,
+
    area = true,  
      effect = 0
+
     silent = true,
    },
+
  },  
    ["power cap"] = 100,
+
  level = 5,  
    range = {
+
  name = "Silence",  
      max = 2,
+
  noise = {casting = 0, effect = 0},  
      min = 2
+
  ["power cap"] = 200,  
     },
+
  schools = {
    schools = {
+
    Air = true,  
      Hexes = true,
+
     Hexes = true,
    },
 
 
   },
 
   },
   ["Brom's Barrelling Boulder"] = {
+
}
     books = {
+
m["Slow"] = {
      ["book of Geomancy"] = true,
+
  books = {
      ["book of Spheres"] = true,
+
    ["book of Debilitation"] = 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.",
+
  description = "Slows the actions of a creature.",
     flags = {
+
  flags = {
      not_self = true,
+
    WL_check = true,
     },
+
    dir_or_target = true,
    level = 4,
+
    needs_tracer = true,
     name = "Curse of Agony",
+
  },
     noise = {
+
   level = 1,
      casting = 5,
+
  name = "Slow",
      effect = 0
+
  noise = {casting = 1, effect = 0},
     },
+
  ["power cap"] = 25,
     ["power cap"] = 200,
+
  range = {max = 8, min = 8},
     range = {
+
  schools = {
      max = 1,
+
    Hexes = true,
      min = 1
+
  },
     },
+
}
     schools = {
+
m["Soul Splinter"] = {
      Earth = true,
+
  books = {
      Conjuration = true,
+
    ["book of Necromancy"] = true,
     },
+
    ["book of Unlife"] = 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.
 +
 
 +
Wisps created from more powerful souls have more damaging attacks, but are always fragile.]=],
 +
  flags = {
 +
    WL_check = true,
 +
    dir_or_target = true,
 +
    needs_tracer = true,
 +
    not_self = true,
 +
  },
 +
  level = 1,
 +
  name = "Soul Splinter",
 +
  noise = {casting = 1, effect = 0},
 +
  ["power cap"] = 25,
 +
  range = {max = 5, min = 5},
 +
  schools = {
 +
     Necromancy = true,
 +
  },
 +
}
 +
m["Spellspark Servitor"] = {
 +
  books = {
 +
    ["book of Dangerous Friends"] = true,  
 +
    ["book of Power"] = true,
 +
  },
 +
  description = [=[Constructs a metallic servant with a spark of the caster's own arcane knowledge at its core. This spark allows the servitor to unleash 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.
 +
 
 +
(While you know this spell, you may choose which of your eligible spells it will cast with the Imbue Servitor ability.)]=],
 +
  flags = {
 +
  },
 +
  level = 7,
 +
  name = "Spellspark Servitor",
 +
  noise = {casting = 7, effect = 0},
 +
  ["power cap"] = 200,
 +
  quote = [=[“When you think
 +
Your toys have gone berserk
 +
It's an illusion
 +
You cannot shirk”
 +
    -Siouxsie and the Banshees, “Spellbound”]=],
 +
  schools = {
 +
     Conjuration = true,
 +
    Forgecraft = true,
 +
  },
 +
}
 +
m["Sphinx Sisters"] = {
 +
  books = {
 +
    ["book of Beasts"] = true,  
 +
     ["book of Misfortune"] = true,
 +
  },
 +
  description = [=[Summons a pair of riddling sphinxes - one guardian and one marauder - to debilitate the caster's enemies with hexes and batter them with violent winds.
 +
 
 +
Spell power increases the sphinxes' durability and the power of their spells.]=],
 +
  flags = {
 +
    mons_abjure = true,
 +
  },
 +
  level = 7,
 +
  name = "Sphinx Sisters",
 +
  noise = {casting = 7, effect = 0},
 +
  ["power cap"] = 200,
 +
  schools = {
 +
    Hexes = true,
 +
    Summoning = true,
 +
  },
 +
}
 +
m["Splinterfrost Shell"] = {
 +
  books = {
 +
    ["book of Cryoformation"] = true,
 +
    ["book of Duality"] = true,
 +
  },
 +
  description = [=[Constructs a frangible shell of reinforced ice in a half-circle around the caster, pushing creatures out of the way to make space for it, if possible.
 +
 
 +
This barricade is durable, and whenever a segment of it is destroyed, will fracture into a salvo of icy projectiles launched at whatever destroyed it.
 +
 
 +
If the caster strays too far away from their barrier, it will melt rapidly.]=],
 +
  flags = {
 +
    not_self = true,
 +
    target = true,
 +
  },
 +
  level = 7,
 +
  name = "Splinterfrost Shell",
 +
  noise = {casting = 7, effect = 0},
 +
  ["power cap"] = 200,
 +
  range = {max = 1, min = 1},
 +
  schools = {
 +
    Forgecraft = true,
 +
    Ice = true,
 +
  },
 +
}
 +
m["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 = 0},
 +
  ["power cap"] = 200,
 +
  range = {max = 5, min = 5},
 +
  schools = {
 +
    Conjuration = true,
 +
    Fire = true,
 +
  },
 +
}
 +
m["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 the damage dealt bypasses half of defenders' armour.",
 +
  flags = {
 +
    area = true,
 +
  },
 +
  level = 2,
 +
  name = "Static Discharge",
 +
  noise = {casting = 2, effect = 0},
 +
  ["power cap"] = 50,
 +
  range = {max = 1, min = 1},
 +
  schools = {
 +
    Air = true,
 +
    Conjuration = true,
 +
  },
 +
}
 +
m["Sticky Flame"] = {
 +
  books = {
 +
    ["Everburning Encyclopedia"] = true,
 +
    ["book of Flames"] = true,
 +
  },
 +
  description = [=[Unleashes a short-ranged spray of incendiary 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.
 +
 
 +
If the target is insubstantial, the liquid fire will fail to stick.]=],
 +
  flags = {
 +
    destructive = true,
 +
    dir_or_target = true,
 +
    needs_tracer = true,
 +
  },
 +
  level = 4,
 +
  name = "Sticky Flame",
 +
  noise = {casting = 4, effect = 0},
 +
  ["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
 +
for the rest of his life.”
 +
    -Terry Pratchett, “Jingo”. 1997.]=],
 +
  range = {max = 1, min = 1},
 +
  schools = {
 +
    Alchemy = true,
 +
    Fire = true,
 +
  },
 +
}
 +
m["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 = 0},
 +
  ["power cap"] = 50,
 +
  range = {max = 4, min = 4},
 +
  schools = {
 +
    Conjuration = true,
 +
    Earth = true,
 +
  },
 +
}
 +
m["Sublimation of Blood"] = {
 +
  books = {
 +
    ["book of Blood"] = true,  
 +
     ["book of Maladies"] = 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,
 +
  },
 +
}
 +
m["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 = 6, effect = 0},
 +
  ["power cap"] = 200,
 +
  schools = {
 +
    Summoning = true,
 +
  },
 +
}
 +
m["Summon Forest"] = {
 +
  books = {
 +
    ["Fen Folio"] = true,
 +
    ["book of the Wilderness"] = 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 = 5, effect = 10},
 +
  ["power cap"] = 200,
 +
  schools = {
 +
    Summoning = true,
 +
    Translocation = true,
 +
  },
 +
}
 +
m["Summon Horrible Things"] = {
 +
  books = {
 +
    ["Grand Grimoire"] = true,
 +
  },
 +
  description = "Opens a gate to the Abyss and calls through two or more hideous abominations from that dreadful place. While powerful, brushing one's mind against the fabric of the Abyss in this manner invites Doom upon the caster and may eventually cost them greatly.",
 +
  flags = {
 +
    chaotic = true,
 +
    mons_abjure = true,
 +
    unholy = true,
 +
  },
 +
  level = 8,
 +
  name = "Summon Horrible Things",
 +
  noise = {casting = 8, effect = 0},
 +
  ["power cap"] = 200,
 +
  schools = {
 +
     Summoning = true,
 +
  },
 +
}
 +
m["Summon Hydra"] = {
 +
  books = {
 +
    ["Fen Folio"] = true,  
 +
     ["book of Blood"] = 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 = 7, effect = 0},
 +
  ["power cap"] = 200,  
 +
  schools = {
 +
     Summoning = true,
 +
  },
 +
}
 +
m["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,
 +
  },
 +
}
 +
m["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 = 5, effect = 0},
 +
  ["power cap"] = 100,
 +
  schools = {
 +
    Hexes = true,
 +
    Summoning = true,
 +
  },
 +
}
 +
m["Summon Seismosaurus Egg"] = {
 +
  books = {
 +
    ["book of Beasts"] = true,  
 +
     ["book of the Wilderness"] = true,
 +
  },
 +
  description = [=[Summons the egg of a brutish lizard, just on the verge of hatching. So long as there are foes nearby and the caster remains adjacent to the egg, it will hatch several turns after being summoned to wreak havoc upon its summoner's foes.
 +
 
 +
Even as a juvenile, a seismosaurus is a force to be reckoned with. It is nearly as hardy as a mountain, and its footfalls are capable of creating violent seismic shockwaves. Each shockwave deals considerable damage to non-flying enemies, and may sometimes even cause them to lose their footing altogether.
 +
 
 +
Spell power increases the egg's durability and the strength of the seismosaur within, but not the time it takes to hatch.]=],
 +
  flags = {
 +
  },
 +
  level = 4,
 +
  name = "Summon Seismosaurus Egg",
 +
  noise = {casting = 4, effect = 0},
 +
  ["power cap"] = 100,
 +
  quote = [=[Zoologists famously considered this animal to have been extinct for centuries until copies of this spell were unearthed among the affairs of a misanthropic hermit who'd finally made the wrong noble's hair fall out.
 +
 
 +
Several well-funded expeditions were launched in the wake of the discovery, but despite (or perhaps because of) the sometimes-violent competitiveness these naturalists had for each other, the location of the lizards' nesting grounds remains unknown to this day.]=],
 +
  schools = {
 +
    Earth = true,
 +
    Summoning = true,
 
   },
 
   },
  ["Dimensional Bullseye"] = {
+
}
    books = {
+
m["Summon Small Mammal"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of the Hunter"] = true,
+
    ["book of Callings"] = true,  
    },
+
    ["book of Cantrips"] = 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 = {},
+
  description = "Summons a rat, bat, or quokka to the caster's aid. Spell power increases the chance of summoning a quokka.",  
    level = 4,
+
  flags = {
    name = "Dimensional Bullseye",
+
  },  
    noise = {
+
  level = 1,  
      casting = 4,
+
  name = "Summon Small Mammal",  
      effect = 0
+
  noise = {casting = 1, effect = 0},  
    },
+
  ["power cap"] = 25,  
    ["power cap"] = 200,
+
  schools = {
    schools = {
+
    Summoning = true,
      Hexes = true,
 
      Translocation = true,
 
    },
 
 
   },
 
   },
  ["Summon Blazeheart Golem"] = {
+
}
    books = {
+
m["Swiftness"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of Dangerous Friends"] = true
+
    ["book of Air"] = true,  
    },
+
    ["book of Burglary"] = 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 = {},
+
  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.",  
    level = 4,
+
  flags = {
    name = "Summon Blazeheart Golem",
+
    hasty = true,
    noise = {
+
    selfench = true,
      casting = 4,
+
    utility = true,
      effect = 0
+
  },  
    },
+
  level = 3,  
    ["power cap"] = 100,
+
  name = "Swiftness",  
    schools = {
+
  noise = {casting = 3, effect = 0},  
      Fire = true,
+
  ["power cap"] = 100,  
      Summoning = true
+
  quote = [=[“JUST WALK OUT
     },
+
you can leave!!!
 +
  work
 +
  social thing
 +
  movies
 +
  home
 +
  class
 +
  dentist
 +
  clothes shoppi
 +
  too fancy weed store
 +
  cops if your quick
 +
  friend ships
 +
IF IT SUCKS... HIT DA BRICKS!!
 +
real winners quit” [sic]
 +
  -Admin, @dasharez0ne Twitter. March 30, 2018]=],  
 +
  schools = {
 +
     Air = true,
 
   },
 
   },
  ["Martyr's Knell"] = {
+
}
    books = {
+
m["Teleport Other"] = {
      ["book of Decay"] = true,
+
  books = {
      ["book of Necromancy"] = true
+
    ["There-And-Back Book"] = true,  
    },
+
    ["book of Displacement"] = 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 = {},
+
  description = "Attempts to teleport a targeted creature out of the caster's sight, after a short delay.",  
    level = 4,
+
  flags = {
    name = "Martyr's Knell",
+
    WL_check = true,
    noise = {
+
    escape = true,
      casting = 4,
+
    not_self = true,
      effect = 0
+
    target = true,
    },
+
  },  
    ["power cap"] = 100,
+
  level = 3,  
    schools = {
+
  name = "Teleport Other",  
      Necromancy = true,
+
  noise = {casting = 3, effect = 0},  
      Summoning = true
+
  ["power cap"] = 100,  
     },
+
  range = {max = 8, min = 8},  
 +
  schools = {
 +
     Translocation = true,
 
   },
 
   },
  ["Curse of Agony"] = {
+
}
    books = {
+
m["Tukima's Dance"] = {
      ["book of Necromancy"] = true,
+
  books = {
      ["book of Wizardry"] = true,
+
    ["Great Wizards, Vol. VII"] = true,  
      ["book of the Senses"] = true,
+
    ["book of Weapons"] = true,
    },
+
  },  
    description = "Curses a foe, halving their remaining health after the next two times thatthe caster strikes them in melee.",
+
  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.
    flags = {
+
 
      dir_or_target = true,
+
Certain powerful named artefacts cannot be animated, and any properties that require skill in evocations will not be active.]=],  
      needs_tracer = true,
+
  flags = {
      not_self = true,
+
    WL_check = true,
      WL_check = true
+
    dir_or_target = true,  
     },
+
    needs_tracer = true,  
     level = 5,
+
    not_self = true,
    name = "Curse of Agony",
+
  },
    noise = {
+
  level = 3,
      casting = 5,
+
  name = "Tukima's Dance",
      effect = 0
+
  noise = {casting = 3, effect = 0},
    },
+
  ["power cap"] = 100,
    ["power cap"] = 200,
+
  range = {max = 8, min = 8},
    range = {
+
  schools = {
      max = 3,
+
    Hexes = true,
      min = 3
+
  },
    },
+
}
    schools = {
+
m["Vampiric Draining"] = {
      Necromancy = true,
+
  books = {
    },
+
    ["book of Duality"] = 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,
 
   },
 
   },
  ["Sculpt Simulacrum"] = {
+
}
    books = {
+
m["Vhi's Electric Charge"] = {
      ["book of Ice"] = true,
+
  books = {
      ["book of the Tundra"] = true,
+
    ["book of Lightning"] = true,  
      ["book of Winter"] = true
+
    ["book of Movement"] = 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.",
+
  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. The time taken by the spell is the greater of the time normally needed to cast a spell or that needed to launch one melee attack.",  
    flags = {
+
  flags = {
      dir_or_target = true,
+
    dir_or_target = true,  
      needs_tracer = true
+
    noisy = true,
    },
+
  },  
    level = 6,
+
  level = 4,  
    name = "Sculpt Simulacrum",
+
  name = "Vhi's Electric Charge",  
    noise = {
+
  noise = {casting = 4, effect = 0},  
      casting = 6,
+
  ["power cap"] = 50,  
      effect = 0
+
  range = {max = 4, min = 4},  
    },
+
  schools = {
    ["power cap"] = 200,
+
    Air = true,  
    range = {
+
    Translocation = true,
      max = 1,
 
      min = 1
 
    },
 
    schools = {
 
      Ice = true,
 
      Alchemy = true
 
    },
 
 
   },
 
   },
  ["Bombard"] = {
+
}
    books = {
+
m["Volatile Blastmotes"] = {
      ["book of Iron"] = true,
+
  books = {
      ["book of Power"] = true
+
    ["book of Blasting"] = true,  
    },
+
    ["book of Movement"] = true,
    description = "Blasts an iron ball toward a target. The force of the blast often sends the caster staggering backwards.",
+
  },  
    flags = {
+
  description = "Brings forth a cloud of volatile blastmotes around the caster. These explode on contact with open flame or with creatures - including any caster foolish enough to linger in them! The explosion is concussive, knocking adjacent creatures away. Damage done rises with the spell's power.",  
      dir_or_target = true,
+
  flags = {
      needs_tracer = true
+
    destructive = true,
    },
+
  },  
    level = 6,
+
  level = 3,  
    name = "Bombard",
+
  name = "Volatile Blastmotes",  
    noise = {
+
  noise = {casting = 3, effect = 0},  
      casting = 6,
+
  ["power cap"] = 50,  
      effect = 6
+
  schools = {
    },
+
     Fire = true,  
    ["power cap"] = 200,
+
    Translocation = true,
    range = {
 
      max = 4,
 
      min = 4
 
    },
 
     schools = {
 
      Conjuration = true,
 
      Earth = true
 
    },
 
 
   },
 
   },
  ["Fugue of the Fallen"] = {
+
}
    books = {
+
m["Yara's Violent Unravelling"] = {
      ["book of Battle"] = true,
+
  books = {
      ["book of Dreams"] = true
+
    ["Great Wizards, Vol. VII"] = true,  
    },
+
    ["book of Misfortune"] = 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 = {
+
  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.",  
      selfench = true
+
  flags = {
     },
+
    chaotic = true,
    level = 3,
+
    destructive = true,
    name = "Fugue of the Fallen",
+
    no_ghost = true,
    noise = {
+
     target = true,
      casting = 3,
+
  },  
      effect = 8
+
  level = 5,  
    },
+
  name = "Yara's Violent Unravelling",  
    ["power cap"] = 100,
+
  noise = {casting = 5, effect = 15},  
    schools = {
+
  ["power cap"] = 200,  
      Necromancy = true
+
  range = {max = 8, min = 8},
     },
+
  schools = {
 +
    Alchemy = true,
 +
     Hexes = true,
 
   },
 
   },
 
}
 
}
 +
return m

Latest revision as of 17:43, 19 May 2026

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.


local m = {}
m["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 = {
    destructive = true, 
    not_self = true, 
    target = true,
  }, 
  level = 4, 
  name = "Airstrike", 
  noise = {casting = 4, effect = 4}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Air = true,
  },
}
m["Alistair's Intoxication"] = {
  books = {
    ["Great Wizards, Vol. II"] = true, 
    ["book of Party Tricks"] = 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 = 5, effect = 0}, 
  ["power cap"] = 150, 
  schools = {
    Alchemy = true,
  },
}
m["Alistair's Walking Alembic"] = {
  books = {
    ["book of Contraptions"] = true, 
    ["book of Metalworking"] = true,
  }, 
  description = "Constructs a mobile and combat-capable alchemical manufactory. It uses the friction of melee combat to brew a variety of useful potions, venting clouds of their toxic byproducts at whatever it punches. When it has built up enough heat to complete its synthesis, it will automatically dispense the finished potions to nearby allies before falling apart.", 
  flags = {
  }, 
  level = 5, 
  name = "Alistair's Walking Alembic", 
  noise = {casting = 5, effect = 0}, 
  ["power cap"] = 100, 
  quote = "Despite its unwieldy appearance, it is widely considered Alistair's most popular work; countless variations of this spell can be found in surface libraries, customised to prepare everything from floor polish to vegetable soup. In the depths of the dungeon, however, most mages favor the combat utility of the classic iteration.", 
  schools = {
    Alchemy = true, 
    Forgecraft = true,
  },
}
m["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 = {
    WL_check = true, 
    area = true,
  }, 
  level = 4, 
  name = "Anguish", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true, 
    Necromancy = true,
  },
}
m["Animate Dead"] = {
  books = {
    ["book of Death"] = true, 
    ["book of the Grave"] = 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, 
    no_ghost = true, 
    utility = true,
  }, 
  level = 4, 
  name = "Animate Dead", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  quote = [=[“Remember, I am not recording the vision of a madman. The sun does not more
 certainly shine in the heavens, than that which I now affirm is true. Some
 miracle might have produced it, yet the stages of the discovery were distinct
 and probable. After days and nights of incredible labour and fatigue, I
 succeeded in discovering the cause of generation and life; nay, more, I became
 myself capable of bestowing animation upon lifeless matter.”
    -Mary Shelley, _Frankenstein, or the Modern Prometheus_,
     Vol. I, Chapter 3. 1818 (1st Ed.)]=], 
  schools = {
    Necromancy = true,
  },
}
m["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.

Extremely 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 = 8, min = 8}, 
  schools = {
    Translocation = true,
  },
}
m["Arcjolt"] = {
  books = {
    ["Codex of Conductivity"] = true, 
    ["book of Lightning"] = 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 = {
    area = true,
  }, 
  level = 5, 
  name = "Arcjolt", 
  noise = {casting = 5, effect = 10}, 
  ["power cap"] = 200, 
  range = {max = 2, min = 2}, 
  schools = {
    Air = true, 
    Conjuration = true,
  },
}
m["Awaken Armour"] = {
  books = {
    ["book of Iron"] = true, 
    ["book of the Fortress"] = true,
  }, 
  description = [=[Draws upon the memory of your worn armour to manifest an echo of it that fights alongside you. This echo moves slowly, but the power of its blows increases dramatically with the weight of the armour used to form it. It possesses all the defensive properties of the armour itself.

Spellpower increases its durability.]=], 
  flags = {
  }, 
  level = 4, 
  name = "Awaken Armour", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 50, 
  quote = "\"A blacksmith shapes the heart of their steel just as much as any leader shapes the hearts of their soldiers. If this armour of mine could speak, I know it would say that we fight for the same cause.\"", 
  schools = {
    Earth = true, 
    Forgecraft = true,
  },
}
m["Blink"] = {
  books = {
    ["book of Minor Magic"] = true, 
    ["book of Spatial Translocations"] = true,
  }, 
  description = "Randomly translocates the caster a short distance. After translocating in this way, the spell cannot be cast again for a short period of time depending on spell power.", 
  flags = {
    escape = true, 
    selfench = true, 
    utility = true,
  }, 
  level = 2, 
  name = "Blink", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  schools = {
    Translocation = true,
  },
}
m["Bombard"] = {
  books = {
    ["Compendium of Siegecraft"] = true, 
    ["book of Power"] = 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 = 0}, 
  ["power cap"] = 200, 
  range = {max = 4, min = 4}, 
  schools = {
    Conjuration = true, 
    Earth = true,
  },
}
m["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.

It 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 = 8, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Necromancy = true,
  },
}
m["Borgnjor's Vile Clutch"] = {
  books = {
    ["Great Wizards, Vol. II"] = true, 
    ["book of the Grave"] = 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, 
    not_self = true,
  }, 
  level = 5, 
  name = "Borgnjor's Vile Clutch", 
  noise = {casting = 5, effect = 5}, 
  ["power cap"] = 200, 
  range = {max = 6, min = 6}, 
  schools = {
    Earth = true, 
    Necromancy = true,
  },
}
m["Brom's Barrelling Boulder"] = {
  books = {
    ["Compendium of Siegecraft"] = true, 
    ["book of the Spheres"] = true,
  }, 
  description = [=[Unleashes a massive rolling boulder in a given compass direction. This boulder damages any creature it hits, rolling over those who perish beneath it and pushing any others helplessly backwards (along with anyone else unfortunate enough to be standing behind them).

Its size and reckless locomotion make it difficult to use in confined areas; if launched down narrow passages, it will rapidly abrade against the walls and fall apart. It will also crumble if it leaves the caster's sight or strikes a wall or otherwise unmoveable creature.]=], 
  flags = {
    not_self = true, 
    target = true,
  }, 
  level = 4, 
  name = "Brom's Barrelling Boulder", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 8, min = 8}, 
  schools = {
    Conjuration = true, 
    Earth = true,
  },
}
m["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.

Recasting this spell while your familiar is nearby will imbue it with additional magic, mending some of its wounds, cleansing it of poison, 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
 as if from down below in the valley the howling of many wolves. The Count's
 eyes gleamed, and he said.

 ‘Listen to them, the children of the night. What music they make!’ Seeing, I
 suppose, some expression in my face strange to him, he added, ‘Ah, sir, you
 dwellers in the city cannot enter into the feelings of the hunter.’”
    -Bram Stoker, _Dracula_. 1897.]=], 
  schools = {
    Summoning = true,
  },
}
m["Call Imp"] = {
  books = {
    ["book of Callings"] = true, 
    ["book of Minor Magic"] = true,
  }, 
  description = "Calls forth a minor demon from the pits of Hell, equipped with a spear with which to jab at the caster's enemies. The quality of the imp's weaponry rises with spell power.", 
  flags = {
    unholy = true,
  }, 
  level = 2, 
  name = "Call Imp", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  schools = {
    Summoning = true,
  },
}
m["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 = {
    WL_check = true, 
    area = true,
  }, 
  level = 4, 
  name = "Cause Fear", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 200, 
  quote = [=[“And when Miranda sang
 Everyone turned away
 Used to the noose, they obey”
    -The Mars Volta, “Miranda That Ghost Just Isn't Holy Anymore”. 2005.]=], 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true,
  },
}
m["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 bypasses half of defenders' armour and resistance to electricity.", 
  flags = {
    area = true,
  }, 
  level = 9, 
  name = "Chain Lightning", 
  noise = {casting = 9, effect = 25}, 
  ["power cap"] = 200, 
  quote = [=[“The trouble ain't that there is too many fools,
 but that the lightning ain't distributed right.”
    -traditionally attributed to Samuel Clemens.]=], 
  schools = {
    Air = true, 
    Conjuration = true,
  },
}
m["Cigotuvi's Putrefaction"] = {
  books = {
    ["book of Debilitation"] = true, 
    ["book of Decay"] = 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.

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 = {
    target = true, 
    unclean = true,
  }, 
  level = 4, 
  name = "Cigotuvi's Putrefaction", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 5, min = 5}, 
  schools = {
    Air = true, 
    Necromancy = true,
  },
}
m["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 = {
    WL_check = true, 
    selfench = true,
  }, 
  level = 3, 
  name = "Confusing Touch", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Hexes = true,
  },
}
m["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. The damage dealt bypasses half of defenders' armour. Casters are advised to use caution; the lightning is not mindful of what it may hit.

The 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 = {
  }, 
  level = 6, 
  name = "Conjure Ball Lightning", 
  noise = {casting = 6, effect = 25}, 
  ["power cap"] = 200, 
  schools = {
    Air = true, 
    Conjuration = true,
  },
}
m["Construct Spike Launcher"] = {
  books = {
    ["Handbook of Applied Construction"] = true, 
    ["Treatise on Traps"] = true,
  }, 
  description = "Constructs a simple mechanical trap within an adjacent wall which repeatedly skewers random adjacent enemies. Protected by the wall itself, it is invulnerable to most forms of damage, but will fall apart if the caster leaves its vicinity.", 
  flags = {
  }, 
  level = 2, 
  name = "Construct Spike Launcher", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  schools = {
    Forgecraft = true,
  },
}
m["Curse of Agony"] = {
  books = {
    ["book of Maladies"] = true, 
    ["book of the Senses"] = true,
  }, 
  description = "Curses a foe, halving their remaining health after each of the next two times that the caster strikes them in melee.", 
  flags = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true,
  }, 
  level = 5, 
  name = "Curse of Agony", 
  noise = {casting = 5, effect = 0}, 
  ["power cap"] = 100, 
  quote = [=[“Unbearable, isn't it? The suffering of strangers, the agony of friends. There
 is a secret song at the center of the world, Joey, and its sound is like
 razors through flesh.”
    -Pinhead, _Hellraiser 3: Hell on Earth_. 1992.]=], 
  range = {max = 4, min = 4}, 
  schools = {
    Necromancy = true,
  },
}
m["Dazzling Flash"] = {
  books = {
    ["book of Spectacle"] = true, 
    ["book of the Senses"] = true,
  }, 
  description = "The caster erupts in a scintillating display of light. Any living, demonic or angelic creature nearby may be dazzled and left stumbling blindly.", 
  flags = {
    area = true,
  }, 
  level = 3, 
  name = "Dazzling Flash", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 3, min = 2}, 
  schools = {
    Fire = true, 
    Hexes = true,
  },
}
m["Death Channel"] = {
  books = {
    ["book of Unlife"] = true, 
    ["book of Wicked Creation"] = 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 = 6, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Necromancy = true,
  },
}
m["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.

The 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 = 9, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Necromancy = true,
  },
}
m["Detonation Catalyst"] = {
  books = {
    ["book of Battle"] = true, 
    ["book of Spontaneous Combustion"] = true,
  }, 
  description = "Affixes a volatile catalyst to the caster's fists or melee weapon, causing each of their strikes to release a fiery explosion at its primary target. The caster and their allies are protected from the explosion's effects. The activity of the catalyst may be prolonged indefinitely as long as the caster continues to attack, but it rapidly loses potency when they take other actions. The base damage of the caster's weapon and the caster's spellpower each increase the explosion's damage.", 
  flags = {
    selfench = true,
  }, 
  level = 5, 
  name = "Detonation Catalyst", 
  noise = {casting = 5, effect = 15}, 
  ["power cap"] = 100, 
  schools = {
    Alchemy = true, 
    Fire = true,
  },
}
m["Diamond Sawblades"] = {
  books = {
    ["Treatise on Traps"] = true, 
    ["book of Contraptions"] = true,
  }, 
  description = "Forges up to four razor-sharp sawblades at fixed positions around the caster which shred any enemies adjacent to them over several turns.", 
  flags = {
  }, 
  level = 7, 
  name = "Diamond Sawblades", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Forgecraft = true,
  },
}
m["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 = {
    not_self = true, 
    prefer_farthest = true, 
    target = true,
  }, 
  level = 4, 
  name = "Dimensional Bullseye", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true, 
    Translocation = true,
  },
}
m["Discord"] = {
  books = {
    ["book of Chaos"] = true, 
    ["the Unrestrained Analects"] = true,
  }, 
  description = "Drives nearby creatures into an wild frenzy, causing them to mercilessly attack anything and everything nearby with great strength and speed.", 
  flags = {
    WL_check = true, 
    area = true, 
    hasty = true,
  }, 
  level = 8, 
  name = "Discord", 
  noise = {casting = 8, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Hexes = true,
  },
}
m["Disjunction"] = {
  books = {
    ["book of Chaos"] = true, 
    ["book of the Warp"] = true,
  }, 
  description = "Destabilises 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.", 
  flags = {
    escape = true, 
    utility = true,
  }, 
  level = 8, 
  name = "Disjunction", 
  noise = {casting = 8, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 4, min = 4}, 
  schools = {
    Translocation = true,
  },
}
m["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,
  },
}
m["Dispersal"] = {
  books = {
    ["There-And-Back Book"] = true, 
    ["book of the Warp"] = 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 = 6, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 4, min = 1}, 
  schools = {
    Translocation = true,
  },
}
m["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 = 9, effect = 15}, 
  ["power cap"] = 200, 
  quote = [=[“This is where the dragons went.
 They lie...
 Not dead, not asleep. Not waiting, because waiting implies expectation.
 Possibly the word we're looking for here is...
 ...dormant.
 And although the space they occupy isn't like normal space, nevertheless
   they are packed in tightly. Not a cubic inch there but is filled by a claw,
   a talon, a scale, the tip of a tail, so the effect is like one of those
   trick drawings and your eyeballs eventually realise that the space between
   each dragon is, in fact, another dragon.
 They could put you in mind of a can of sardines, if you thought sardines
   were huge and scaly and proud and arrogant.
 And presumably, somewhere, there's the key.”
    -Terry Pratchett, “Guards! Guards!”. 1990.]=], 
  schools = {
    Summoning = true,
  },
}
m["Enfeeble"] = {
  books = {
    ["book of Hexes"] = true, 
    ["book of Misfortune"] = true,
  }, 
  description = "Overwhelms an enemy with malignant energies, irresistibly weakening their melee attacks and reducing the power of their spells. It will additionally daze and blind any foe that fails to resist the full force of the curse - even those without visual senses!", 
  flags = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 7, 
  name = "Enfeeble", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true,
  },
}
m["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 = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true, 
    silent = 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?”
    -Eurythmics, “Sweet Dreams (Are Made of This)”. 1983.]=], 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true, 
    Ice = true,
  },
}
m["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, 
    destructive = 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,
  },
}
m["Eringya's Surprising Crocodile"] = {
  books = {
    ["My Sojourn through Swampland"] = true, 
    ["book of Callings"] = true,
  }, 
  description = "Summons a toothy crocodile to assault an adjacent enemy. The crocodile will appear beneath the caster in a surge of murky water and perform an empowered attack against the chosen target, dragging both it and the caster backward before allowing the latter to dismount safely behind it. It cannot be recast while the crocodile is still active.", 
  flags = {
    not_self = true, 
    target = true,
  }, 
  level = 4, 
  name = "Eringya's Surprising Crocodile", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  quote = "A popular legend states that Eringya first demonstrated this spell as the closing remark of a particularly acrimonious debate about wetlands conservation, but most modern scholars consider this apocryphal.", 
  range = {max = 1, min = 1}, 
  schools = {
    Summoning = true,
  },
}
m["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. Half of its damage bypasses fire resistance.", 
  flags = {
    area = true, 
    needs_tracer = true, 
    target = true,
  }, 
  level = 9, 
  name = "Fire Storm", 
  noise = {casting = 9, effect = 25}, 
  ["power cap"] = 200, 
  quote = [=[“Some have said there is no subtlety to destruction. You know what? They're
 dead.”
    -Jaya Ballard, task mage (Magic: the Gathering).]=], 
  range = {max = 5, min = 5}, 
  schools = {
    Conjuration = true, 
    Fire = true,
  },
}
m["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,
  },
}
m["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 = 4, effect = 12}, 
  ["power cap"] = 100, 
  range = {max = 3, min = 3}, 
  schools = {
    Conjuration = true, 
    Fire = true,
  },
}
m["Forge Blazeheart Golem"] = {
  books = {
    ["Handbook of Applied Construction"] = true, 
    ["book of Dangerous Friends"] = true,
  }, 
  description = [=[Constructs a shell of slag iron around a volatile elemental spark. It is capable of raining down powerful blows on its creator's adversaries - so powerful that the golem itself is often damaged by their impact.

Only tenuously independent of its creator's magic, the flames within it will rapidly go dormant if the two ever leave each other's side. If its shell is destroyed while the golem is still active, its exposed core will violently detonate a moment later.

It gains greater explosive damage at higher power.]=], 
  flags = {
  }, 
  level = 4, 
  name = "Forge Blazeheart Golem", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Fire = true, 
    Forgecraft = true,
  },
}
m["Forge Lightning Spire"] = {
  books = {
    ["Codex of Conductivity"] = true, 
    ["book of Storms"] = true,
  }, 
  description = "Constructs an immobile lightning spire at a nearby location. This spire irregularly discharges bolts of electricity at the caster's foes, prioritizing whichever of them is most distant from it.", 
  flags = {
  }, 
  level = 4, 
  name = "Forge Lightning Spire", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Air = true, 
    Forgecraft = true,
  },
}
m["Forge Monarch Bomb"] = {
  books = {
    ["book of Blasting"] = true, 
    ["book of Contraptions"] = true,
  }, 
  description = [=[Constructs a flying incendiary factory, packed to the brim with cluster bomblets which it can deploy both in melee and launch at range. While the monarch's bomblets have no attack of their own, they will pursue the caster's enemies until given the signal to explode.

Recasting this spell while anything it has created is still active will detonate the monarch bomb and all bomblets, dealing a combination of fire and physical damage to everything adjacent to them besides the caster themselves.]=], 
  flags = {
  }, 
  level = 6, 
  name = "Forge Monarch Bomb", 
  noise = {casting = 6, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Fire = true, 
    Forgecraft = true,
  },
}
m["Forge Phalanx Beetle"] = {
  books = {
    ["book of Metalworking"] = true, 
    ["book of the Fortress"] = true,
  }, 
  description = [=[Constructs a small mechanical guardian which bolsters its creator's armour class for as long as it remains adjacent to them.

While also capable of biting foes, the phalanx beetle will never voluntarily leave its creator's side, and if forcibly separated, will prioritise returning to them over any other concern.

Spellpower increases the magnitude of the AC increase, as well as the beetle's own durability.]=], 
  flags = {
  }, 
  level = 6, 
  name = "Forge Phalanx Beetle", 
  noise = {casting = 6, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Forgecraft = true,
  },
}
m["Fortress Blast"] = {
  books = {
    ["book of Power"] = true, 
    ["book of the Fortress"] = true,
  }, 
  description = [=[Draws upon the caster's own physical integrity to create a kinetic shockwave that damages foes in a large area. The caster is locked in place for several turns as the shockwave starts to form, and the spell will be cancelled if they are displaced during that time, but they may otherwise perform other actions freely.

Spellpower causes the spell to complete more quickly, but the damage depends entirely upon the caster's AC.]=], 
  flags = {
    area = true, 
    destructive = true,
  }, 
  level = 6, 
  name = "Fortress Blast", 
  noise = {casting = 6, effect = 20}, 
  ["power cap"] = 75, 
  range = {max = 3, min = 3}, 
  schools = {
    Forgecraft = true,
  },
}
m["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 = {
  }, 
  level = 1, 
  name = "Foxfire", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  schools = {
    Conjuration = true, 
    Fire = true,
  },
}
m["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 = {
    destructive = true, 
    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,
  },
}
m["Freezing Cloud"] = {
  books = {
    ["Trismegistus Codex"] = true, 
    ["book of Ice"] = true,
  }, 
  description = "Conjures up a large cloud of lethally cold vapour.", 
  flags = {
    area = true, 
    cloud = true, 
    needs_tracer = true, 
    target = true,
  }, 
  level = 5, 
  name = "Freezing Cloud", 
  noise = {casting = 5, effect = 2}, 
  ["power cap"] = 200, 
  range = {max = 5, min = 5}, 
  schools = {
    Air = true, 
    Conjuration = true, 
    Ice = true,
  },
}
m["Frozen Ramparts"] = {
  books = {
    ["book of Frost"] = true, 
    ["book of Winter"] = 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.

The ice will crack and fall away if the caster moves to a new position.]=], 
  flags = {
    area = true, 
    destructive = true, 
    no_ghost = true,
  }, 
  level = 3, 
  name = "Frozen Ramparts", 
  noise = {casting = 3, effect = 8}, 
  ["power cap"] = 50, 
  quote = [=[”And as you cross the circle line
 Well, the ice wall creaks behind
 You're a rabbit on the run”

    -Jethro Tull, “Skating Away (on the Thin Ice of a New Day)”.  1974.]=], 
  range = {max = 2, min = 2}, 
  schools = {
    Ice = true,
  },
}
m["Fugue of the Fallen"] = {
  books = {
    ["book of Battle"] = true, 
    ["book of Dreams"] = 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.

Recasting 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,
  },
}
m["Fulminant Prism"] = {
  books = {
    ["book of Blasting"] = true, 
    ["book of Conjurations"] = true,
  }, 
  description = "Conjures a shining prism of an unstable soft gold alloy. This is useless as legal tender, however, as it will unfortunately violently explode with arcane force after a short duration. If destroyed prematurely, its blast will be much weaker.", 
  flags = {
    area = true, 
    no_ghost = true, 
    not_self = true, 
    target = true,
  }, 
  level = 4, 
  name = "Fulminant Prism", 
  noise = {casting = 4, effect = 20}, 
  ["power cap"] = 200, 
  range = {max = 4, min = 4}, 
  schools = {
    Alchemy = true, 
    Conjuration = true,
  },
}
m["Fulsome Fusillade"] = {
  books = {
    ["book of Spectacle"] = true, 
    ["book of Transmutation"] = 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.

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 = {
    area = true, 
    chaotic = true, 
    destructive = true,
  }, 
  level = 8, 
  name = "Fulsome Fusillade", 
  noise = {casting = 8, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Alchemy = true, 
    Conjuration = true,
  },
}
m["Gell's Gavotte"] = {
  books = {
    ["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.

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 = {
    aim_at_space = true, 
    target = true,
  }, 
  level = 6, 
  name = "Gell's Gavotte", 
  noise = {casting = 6, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 1, min = 1}, 
  schools = {
    Translocation = true,
  },
}
m["Gloom"] = {
  books = {
    ["book of Spectacle"] = true, 
    ["book of the Senses"] = true,
  }, 
  description = [=[Emits a wave of pernicious gloom which attempts to smother the light around nearby creatures. Any living, demonic or holy creature caught in the effect may briefly lose their eyesight and be left stumbling blindly.

Willpower is useless against this spell, but stronger creatures may still shrug off its effects.]=], 
  flags = {
    silent = true,
  }, 
  level = 3, 
  name = "Gloom", 
  noise = {casting = 0, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 3, min = 2}, 
  schools = {
    Hexes = true, 
    Necromancy = true,
  },
}
m["Grave Claw"] = {
  books = {
    ["book of Necromancy"] = true, 
    ["book of the Grave"] = 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 = {
    not_self = true, 
    target = true,
  }, 
  level = 2, 
  name = "Grave Claw", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 4, min = 4}, 
  schools = {
    Necromancy = true,
  },
}
m["Hailstorm"] = {
  books = {
    ["book of Frost"] = true, 
    ["book of the Tundra"] = 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 = {
    area = true,
  }, 
  level = 3, 
  name = "Hailstorm", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 3, min = 3}, 
  schools = {
    Conjuration = true, 
    Ice = true,
  },
}
m["Haunt"] = {
  books = {
    Necronomicon = true, 
    ["book of Death"] = 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 = 7, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Necromancy = true, 
    Summoning = true,
  },
}
m["Hellfire Mortar"] = {
  books = {
    ["Compendium of Siegecraft"] = true, 
    ["Trismegistus Codex"] = 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.

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 = {
    destructive = true, 
    dir_or_target = true,
  }, 
  level = 7, 
  name = "Hellfire Mortar", 
  noise = {casting = 7, effect = 20}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Earth = true, 
    Fire = true, 
    Forgecraft = true,
  },
}
m["Hoarfrost Cannonade"] = {
  books = {
    ["Compendium of Siegecraft"] = true, 
    ["book of Cryoformation"] = true,
  }, 
  description = [=[Sculpts a pair of icy cannons that assail the caster's enemies from long range. The frigid shards they fire rapidly coat their targets with a layer of brittle frost which slows their movement.

The cannons are short-lived and consume a part of themselves with every shard they fire, but if they survive to fire their final salvo without interference, it will be extra-powerful.]=], 
  flags = {
  }, 
  level = 5, 
  name = "Hoarfrost Cannonade", 
  noise = {casting = 5, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Forgecraft = true, 
    Ice = true,
  },
}
m["Ignite Poison"] = {
  books = {
    ["Everburning Encyclopedia"] = true, 
    ["book of Blood"] = 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, 
    destructive = true,
  }, 
  level = 4, 
  name = "Ignite Poison", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Alchemy = true, 
    Fire = true,
  },
}
m["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, 
    destructive = true,
  }, 
  level = 8, 
  name = "Ignition", 
  noise = {casting = 8, effect = 15}, 
  ["power cap"] = 200, 
  schools = {
    Fire = true,
  },
}
m["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 = 8, min = 8}, 
  schools = {
    Necromancy = true,
  },
}
m["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 = {
    WL_check = true, 
    destructive = true, 
    not_self = true, 
    target = true,
  }, 
  level = 3, 
  name = "Inner Flame", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 8, min = 8}, 
  schools = {
    Fire = true, 
    Hexes = true,
  },
}
m["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 may heavily deform its victims, 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 = 5, effect = 0}, 
  ["power cap"] = 200, 
  quote = [=[“Reflex in the sky warn you you're gonna die
 Storm coming, you'd better hide from the atomic tide
 Flashes in the sky turns houses into sties
 Turns people into clay, radiation minds decay”
    -Black Sabbath, “Electric Funeral”. 1970.]=], 
  range = {max = 1, min = 1}, 
  schools = {
    Alchemy = true, 
    Conjuration = true,
  },
}
m["Iskenderun's Battlesphere"] = {
  books = {
    ["book of Power"] = true, 
    ["book of the Spheres"] = true,
  }, 
  description = [=[Conjures a small globe of destructive energy. Each time its creator casts a offensive spell, the battlesphere will also fire an unerring volley of energy at the most injured nearby foe it can reach.

The battlesphere's creator can freely fire through its position without harming it.]=], 
  flags = {
    utility = true,
  }, 
  level = 4, 
  name = "Iskenderun's Battlesphere", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  quote = [=[“Maxim 4: Close air support covereth a multitude of sins.”
    -Howard Tayler, _The Seventy Maxims of Maximally Effective Mercenaries_,
     in _Schlock Mercenary_. 2008.]=], 
  schools = {
    Conjuration = true, 
    Forgecraft = true,
  },
}
m["Iskenderun's Mystic Blast"] = {
  books = {
    ["book of Blasting"] = true, 
    ["book of Duality"] = 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. Spellpower increases damage and knockback distance.", 
  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,
  },
}
m["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.

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 = {
    selfench = true,
  }, 
  level = 2, 
  name = "Jinxbite", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  schools = {
    Hexes = true,
  },
}
m["Kinetic Grapnel"] = {
  books = {
    ["book of Cantrips"] = true,
  }, 
  description = "Weaves a thin kinetic filament around the caster's melee weapon and launches the other end of it at a nearby enemy. If this grapnel successfully hits and does damage, it will become lodged in them, allowing the next melee attack the caster performs against them to strike with perfect accuracy and a small slaying bonus.", 
  flags = {
    destructive = true, 
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 1, 
  name = "Kinetic Grapnel", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  range = {max = 4, min = 4}, 
  schools = {
    Forgecraft = true,
  },
}
m["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 = {
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true,
  }, 
  level = 1, 
  name = "Kiss of Death", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  range = {max = 1, min = 1}, 
  schools = {
    Conjuration = true, 
    Necromancy = true,
  },
}
m["Launch Clockwork Bee"] = {
  books = {
    ["Handbook of Applied Construction"] = true, 
    ["My Sojourn through Swampland"] = true,
  }, 
  description = [=[Constructs a mechanical bee and winds its clockwork mechanisms over several turns before unleashing it against a targeted foe. The bee is swift and powerful, but its clockwork quickly winds down as it attacks, eventually leaving it helpless and unable to move.

The caster may repair and rewind a dormant bee by attempting to move into it, at the cost of 1 MP.

Spellpower increases the number of attacks the bee may perform before going dormant.]=], 
  flags = {
    not_self = true, 
    target = true,
  }, 
  level = 3, 
  name = "Launch Clockwork Bee", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 8, min = 8}, 
  schools = {
    Forgecraft = true,
  },
}
m["Leda's Liquefaction"] = {
  books = {
    ["book of Sloth"] = true, 
    ["book of the Earth"] = 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.

The 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 = 4, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Alchemy = true, 
    Earth = true,
  },
}
m["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.

Targets 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 = {
    destructive = true, 
    target = true,
  }, 
  level = 5, 
  name = "Lee's Rapid Deconstruction", 
  noise = {casting = 5, effect = 20}, 
  ["power cap"] = 200, 
  quote = [=[“Now the house was full of men and women; and all the lords of the Philistines
 were there; and there were upon the roof about three thousand men and women,
 that beheld while Samson made sport.

 And Samson called unto the LORD, and said, O Lord GOD, remember me, I pray
 thee, and strengthen me, I pray thee, only this once, O God, that I may be at
 once avenged of the Philistines for my two eyes.

 And Samson took hold of the two middle pillars upon which the house stood, and
 on which it was borne up, of the one with his right hand, and of the other
 with his left.

 And Samson said, Let me die with the Philistines. And he bowed himself with
 all his might; and the house fell upon the lords, and upon all the people that
 were therein. So the dead which he slew at his death were more than they which
 he slew in his life.”
    -KJV Bible, Judges 16:27-30.]=], 
  range = {max = 8, min = 8}, 
  schools = {
    Earth = true,
  },
}
m["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 = 0}, 
  ["power cap"] = 200, 
  range = {max = 3, min = 3}, 
  schools = {
    Conjuration = true, 
    Earth = true,
  },
}
m["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,
  },
}
m["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 = 0}, 
  ["power cap"] = 25, 
  quote = [=[“Wie die Mächtigen es schon seit jeher wissen,
 Es gibt immer einen Kniff;
 Denn als Guter bist du niemals so gerissen,
 Ein Zauberpfeil der immer trifft!

 [As the powerful have known all along,
 There is always a trick;
 Because as a good person, you'll never be so cunning,
 A magic arrow that always hits!]”
    -ASP, "Verwandlungen I-III". 2008]=], 
  range = {max = 8, min = 8}, 
  schools = {
    Conjuration = true,
  },
}
m["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.

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 = {
    destructive = true, 
    needs_tracer = true, 
    prefer_farthest = true, 
    target = true,
  }, 
  level = 7, 
  name = "Magnavolt", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Air = true, 
    Earth = true,
  },
}
m["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 = 7, effect = 15}, 
  ["power cap"] = 200, 
  schools = {
    Summoning = true, 
    Translocation = true,
  },
}
m["Manifold Assault"] = {
  books = {
    ["book of Battle"] = true, 
    ["book of the Warp"] = true,
  }, 
  description = [=[Warps space into paradoxical configurations to strike many visible foes with one melee attack. Power increases the number of foes attacked with one cast, though unarmed attacks strike only half as many targets at once, as additional care must be taken when warping one's own limbs.

The time taken for the attack is exactly the same as a normal melee attack. Attacks performed this way never miss, but the exact spot struck cannot be controlled precisely, making them unable to do extra damage against unsuspecting foes.]=], 
  flags = {
  }, 
  level = 7, 
  name = "Manifold Assault", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Translocation = true,
  },
}
m["Martyr's Knell"] = {
  books = {
    ["book of Decay"] = true, 
    ["book of Unlife"] = 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.

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,
  },
}
m["Maxwell's Capacitive Coupling"] = {
  books = {
    ["Codex of Conductivity"] = 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. The spell requires a visible target to begin accumulating charge, though a different foe may be targeted when the charge is released.", 
  flags = {
    destructive = true, 
    no_ghost = true,
  }, 
  level = 8, 
  name = "Maxwell's Capacitive Coupling", 
  noise = {casting = 8, effect = 25}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Air = true,
  },
}
m["Maxwell's Portable Piledriver"] = {
  books = {
    ["Maxwell's Memoranda"] = true, 
    ["book of Displacement"] = true,
  }, 
  description = "Compresses an envelope of space around the caster and an adjacent enemy (or a contiguous line of enemies), then allows it to decompress abruptly, propelling everyone forward until the unfortunate being at the far end collides with something solid, inflicting damage on them proportional to the distance travelled.", 
  flags = {
    target = true,
  }, 
  level = 3, 
  name = "Maxwell's Portable Piledriver", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  quote = "While originally designed for use in industrial construction, enterprising copycats were quick to discover a multitude of other problems that could be solved by moving one object into another, very, very quickly.", 
  range = {max = 5, min = 5}, 
  schools = {
    Translocation = true,
  },
}
m["Mephitic Cloud"] = {
  books = {
    ["Trismegistus Codex"] = true, 
    ["book of the Senses"] = true,
  }, 
  description = "Conjures a fragile flask that explodes into short-lived clouds of noxious fumes. These clouds 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
 Neigung zur Ausbreitung und Wanderung an den Tag gelegt. Erzeugt aus
 den warmen Moraesten des Ganges-Deltas, aufgestiegen mit dem
 mephitischen Odem jener üppig-untauglichen, von Menschen gemiedenen
 Urwelt- und Inselwildnis, in deren Bambusdickichten der Tiger kauert,
 hatte die Seuche in ganz Hindustan andauernd und ungewöhnlich heftig
 gewütet, hatte östlich nach China, westlich nach Afghanistan und
 Persien übergegriffen und, den Hauptstraßen des Karawanenverkehrs
 folgend, ihre Schrecken bis Astrachan, ja selbst bis Moskau getragen.”
    -Thomas Mann, _Der Tod in Venedig_, 1911.]=], 
  range = {max = 4, min = 4}, 
  schools = {
    Air = true, 
    Alchemy = true, 
    Conjuration = true,
  },
}
m["Mercury Arrow"] = {
  books = {
    ["My Sojourn through Swampland"] = true, 
    ["Young Poisoner's Handbook"] = true,
  }, 
  description = [=[Conjures an arrow of elemental mercury which deals direct poison damage to whatever it hits and may also weaken their melee attacks for a short while.

The physical force of the arrow inflicts a small amount of damage even to those immune to poison, and the weakening effect can splash to adjacent targets and ignores poison resistance altogether.]=], 
  flags = {
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 2, 
  name = "Mercury Arrow", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  quote = [=[“During the course of the treatise, each element is allowed time to tout its
 own virtues and usefulness to mankind, but when it comes time for Mercury,
 he announces that he presides over all of the beings that have come before
 him. Mercury is mother and father. He gives other metals their splendor and
 makes them useful to humanity. Without Mercury, the other metals would have no
 (use) value. Perhaps a seat on the throne would restrict him to a fixed
 position of sovereignty. He reigns, but he must be mobile.”
    -Karen Pinkus, _Alchemical Mercury: A Theory of Ambivalance_, 2009]=], 
  range = {max = 4, min = 4}, 
  schools = {
    Alchemy = true, 
    Conjuration = true,
  },
}
m["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 = 5, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Hexes = true, 
    Ice = true,
  },
}
m["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, 
    target = true,
  }, 
  level = 2, 
  name = "Momentum Strike", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 4, min = 4}, 
  schools = {
    Conjuration = true, 
    Translocation = true,
  },
}
m["Nazja's Percussive Tempering"] = {
  books = {
    ["book of Duality"] = true, 
    ["book of Metalworking"] = true,
  }, 
  description = "Manifests a magical hammer that repairs and temporarily augments the offensive capabilities of any construct that was created by the caster's own Forgecraft spells. This process results in a flurry of sparks, slag, and concussive shockwaves that do considerable damage to any enemies adjacent to the targeted construct, but it cannot be recast upon the same object until the enhancement wears off.", 
  flags = {
    destructive = true, 
    helpful = true, 
    not_self = true, 
    target = true,
  }, 
  level = 5, 
  name = "Nazja's Percussive Tempering", 
  noise = {casting = 5, effect = 0}, 
  ["power cap"] = 200, 
  quote = "Scholars long considered the hammer mere theatrics to mask the complex structural enhancement magics which must underpin this spell, and yet every attempt to remove it from the incantation has caused the spell to lose its effectiveness. The implications of this remain hotly debated.", 
  range = {max = 8, min = 8}, 
  schools = {
    Forgecraft = true,
  },
}
m["Olgreb's Toxic Radiance"] = {
  books = {
    ["Young Poisoner's Handbook"] = true, 
    ["the Unrestrained Analects"] = 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, 
    destructive = true,
  }, 
  level = 4, 
  name = "Olgreb's Toxic Radiance", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Alchemy = true,
  },
}
m["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 stabilise, and a nascent orb will deal reduced damage.

Residents 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 = 8, min = 8}, 
  schools = {
    Conjuration = true,
  },
}
m["Ozocubu's Armour"] = {
  books = {
    ["book of Battle"] = true, 
    ["book of Winter"] = 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,
  },
}
m["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 their allies will be partly insulated from the cold, taking less damage.", 
  flags = {
    area = true, 
    destructive = true,
  }, 
  level = 7, 
  name = "Ozocubu's Refrigeration", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Ice = true,
  },
}
m["Passage of Golubria"] = {
  books = {
    ["Great Wizards, Vol. VII"] = true, 
    ["book of the Moon"] = 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. However, gateways close a short time after being opened, or immediately once entered.", 
  flags = {
    aim_at_space = true, 
    escape = true, 
    selfench = true, 
    target = true,
  }, 
  level = 4, 
  name = "Passage of Golubria", 
  noise = {casting = 4, effect = 8}, 
  ["power cap"] = 100, 
  range = {max = 8, min = 2}, 
  schools = {
    Translocation = true,
  },
}
m["Passwall"] = {
  books = {
    ["book of Burglary"] = true, 
    ["book of Geomancy"] = true,
  }, 
  description = "Allows the caster to travel a short distance through an adjacent rock wall and emerge again on the other side. This spell takes an unusally long time to cast, during which the caster will be unable to act, but also gain increased armour from their attunement to the rock.", 
  flags = {
    escape = true, 
    not_self = true, 
    silent = true, 
    target = true, 
    utility = true,
  }, 
  level = 3, 
  name = "Passwall", 
  noise = {casting = 0, effect = 0}, 
  ["power cap"] = 100, 
  quote = [=[“He says the best way out is always through.”
    -Robert Frost, _A Servant to Servants_. 1915.]=], 
  range = {max = 3, min = 3}, 
  schools = {
    Earth = true,
  },
}
m["Permafrost Eruption"] = {
  books = {
    ["book of the 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.

It will always attempt to blast the largest concentration of foes in sight, and never explodes next to the caster.]=], 
  flags = {
    destructive = true,
  }, 
  level = 6, 
  name = "Permafrost Eruption", 
  noise = {casting = 6, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 6, min = 6}, 
  schools = {
    Earth = true, 
    Ice = true,
  },
}
m["Petrify"] = {
  books = {
    ["book of Sloth"] = true, 
    ["book of Transmutation"] = true,
  }, 
  description = "Petrifies a targeted creature and up to two other foes in a chain. Those which do not muster the Will to resist are briefly slowed, and then turned to stone. Until they return to flesh, they are unable to act, but also take half damage. The spell's power is lessened against secondary targets.", 
  flags = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 4, 
  name = "Petrify", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 200, 
  quote = [=[“Any pose held too long calcifies.
 A belief believed too long becomes dogma.
 Any expression held long enough will harden into a mask.
 And who is the _real_ us
 that hard exterior
 or the soft uncertain self we keep beneath?”
    -Dorothy Gambrell, _Cat and Girl_, 2011.]=], 
  range = {max = 6, min = 6}, 
  schools = {
    Alchemy = true, 
    Earth = true,
  },
}
m["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 ionised beam bypasses half of defenders' armour, and a second beam of fire follows in its wake.", 
  flags = {
    destructive = true, 
    noisy = true,
  }, 
  level = 6, 
  name = "Plasma Beam", 
  noise = {casting = 6, effect = 20}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Air = true, 
    Fire = true,
  },
}
m["Platinum Paragon"] = {
  books = {
    ["book of Weapons"] = true,
  }, 
  description = [=[Constructs a gleaming metal champion whose prowess rivals that of the greatest living warriors. It is resistant to all forms of magic and wields a perfect replica of any artefact melee weapon the caster chooses.

It creates a damaging shockwave around itself when first deployed and slowly gains charge as it attacks enemies. When it has gained sufficient charge, the spell may be recast to overload the paragon, unleashing a flurry of attacks in a wide area which inflict increased damage, but destroying the paragon in the process.

Due to the magical link it maintains with its creator, it will perform an extra attack whenever they do, and will sometimes even parry attacks directed at them, if they are close enough together.]=], 
  flags = {
    not_self = true, 
    target = true,
  }, 
  level = 9, 
  name = "Platinum Paragon", 
  noise = {casting = 9, effect = 15}, 
  ["power cap"] = 200, 
  range = {max = 3, min = 3}, 
  schools = {
    Forgecraft = true,
  },
}
m["Poisonous Vapours"] = {
  books = {
    ["Young Poisoner's Handbook"] = true, 
    ["book of Cantrips"] = true,
  }, 
  description = [=[Transmutes a small amount of the air around a target into toxic vapours, poisoning anyone unfortunate enough to breathe them in. The quantity of air affected is small and it will not persist beyond the turn in which it is cast.

It cannot affect those with any resistance to poison.]=], 
  flags = {
    destructive = true, 
    not_self = true, 
    target = true,
  }, 
  level = 1, 
  name = "Poisonous Vapours", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  range = {max = 3, min = 3}, 
  schools = {
    Air = true, 
    Alchemy = true,
  },
}
m["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 be half-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, 
    destructive = true,
  }, 
  level = 9, 
  name = "Polar Vortex", 
  noise = {casting = 9, effect = 15}, 
  ["power cap"] = 200, 
  range = {max = 5, min = 5}, 
  schools = {
    Ice = true,
  },
}
m["Rending Blade"] = {
  books = {
    ["book of Armaments"] = true, 
    ["book of Weapons"] = true,
  }, 
  description = [=[Condenses the caster's magical energy into the form of a violently crackling blade. Each time the caster successfully hits with a melee attack while the spell is active, this blade will rend a path back and forth through nearby foes, dealing irresistible damage.

Casting this spell temporarily drains *all* of the caster's remaining magical power to constitute the blade, but this energy will be returned to them as soon as the blade ceases to exist. Each point of magical power sequestered this way slightly increases the damage the blade inflicts.]=], 
  flags = {
    utility = true,
  }, 
  level = 4, 
  name = "Rending Blade", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Conjuration = true, 
    Forgecraft = true,
  },
}
m["Rimeblight"] = {
  books = {
    ["book of Maladies"] = true, 
    ["book of Wicked Creation"] = true,
  }, 
  description = [=[Afflicts a creature (and up to two others near it) 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 will start erupting violently from their body, damaging nearby enemies. When they finally succumb, the plague may spread to those around them.

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 = {
    destructive = true, 
    dir_or_target = true, 
    not_self = true, 
    unclean = true,
  }, 
  level = 7, 
  name = "Rimeblight", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 5, min = 5}, 
  schools = {
    Ice = true, 
    Necromancy = true,
  },
}
m["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 one-and-a-half times as long to cast as most. Its damage is strongly reduced by armour.", 
  flags = {
    destructive = true, 
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true,
  }, 
  level = 1, 
  name = "Sandblast", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 4, min = 4}, 
  schools = {
    Earth = true,
  },
}
m["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 = {
    destructive = true,
  }, 
  level = 2, 
  name = "Scorch", 
  noise = {casting = 2, effect = 8}, 
  ["power cap"] = 50, 
  range = {max = 3, min = 3}, 
  schools = {
    Fire = true,
  },
}
m["Sculpt Simulacrum"] = {
  books = {
    ["book of Cryoformation"] = true, 
    ["book of Wicked Creation"] = 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.

The good gods frown on this spell, as it works blood and ichor into unnatural facsimiles.

You can maintain up to 5 simulacra simultaneously.]=], 
  flags = {
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true, 
    target = true, 
    unholy = true,
  }, 
  level = 6, 
  name = "Sculpt Simulacrum", 
  noise = {casting = 6, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 1, min = 1}, 
  schools = {
    Alchemy = true, 
    Ice = true,
  },
}
m["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 = 0}, 
  ["power cap"] = 50, 
  range = {max = 4, min = 4}, 
  schools = {
    Conjuration = true,
  },
}
m["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, 
    destructive = true,
  }, 
  level = 9, 
  name = "Shatter", 
  noise = {casting = 9, effect = 30}, 
  ["power cap"] = 200, 
  quote = [=[“So the people shouted when the priests blew with the trumpets: and it came to
 pass, when the people heard the sound of the trumpet, and the people shouted
 with a great shout, that the wall fell down flat, so that the people went up
 into the city, every man straight before him, and they took the city.

 And they utterly destroyed all that was in the city, both man and woman, young
 and old, and ox, and sheep, and ass, with the edge of the sword.”
    -KJV Bible, Joshua 6:20-21.]=], 
  schools = {
    Earth = true,
  },
}
m["Shock"] = {
  books = {
    ["book of Air"] = true,
  }, 
  description = "Throws a bouncing bolt of electricity. It bypasses half of defenders' armour.", 
  flags = {
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 1, 
  name = "Shock", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  range = {max = 8, min = 8}, 
  schools = {
    Air = true, 
    Conjuration = true,
  },
}
m["Sigil of Binding"] = {
  books = {
    ["Treatise on Traps"] = 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. Swiftness from any source grants immunity to binding.

Only one set of sigils can be maintained at a time, and they will expire prematurely if they leave your sight.]=], 
  flags = {
  }, 
  level = 3, 
  name = "Sigil of Binding", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Hexes = true,
  },
}
m["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.

Certain monsters have innate magical or special abilities which will still be usable while silenced.

The 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, 
    silent = true,
  }, 
  level = 5, 
  name = "Silence", 
  noise = {casting = 0, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Air = true, 
    Hexes = true,
  },
}
m["Slow"] = {
  books = {
    ["book of Debilitation"] = true,
  }, 
  description = "Slows the actions of a creature.", 
  flags = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 1, 
  name = "Slow", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true,
  },
}
m["Soul Splinter"] = {
  books = {
    ["book of Necromancy"] = true, 
    ["book of Unlife"] = 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.

Wisps created from more powerful souls have more damaging attacks, but are always fragile.]=], 
  flags = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true,
  }, 
  level = 1, 
  name = "Soul Splinter", 
  noise = {casting = 1, effect = 0}, 
  ["power cap"] = 25, 
  range = {max = 5, min = 5}, 
  schools = {
    Necromancy = true,
  },
}
m["Spellspark Servitor"] = {
  books = {
    ["book of Dangerous Friends"] = true, 
    ["book of Power"] = true,
  }, 
  description = [=[Constructs a metallic servant with a spark of the caster's own arcane knowledge at its core. This spark allows the servitor to unleash 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.

(While you know this spell, you may choose which of your eligible spells it will cast with the Imbue Servitor ability.)]=], 
  flags = {
  }, 
  level = 7, 
  name = "Spellspark Servitor", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  quote = [=[“When you think
 Your toys have gone berserk
 It's an illusion
 You cannot shirk”
    -Siouxsie and the Banshees, “Spellbound”]=], 
  schools = {
    Conjuration = true, 
    Forgecraft = true,
  },
}
m["Sphinx Sisters"] = {
  books = {
    ["book of Beasts"] = true, 
    ["book of Misfortune"] = true,
  }, 
  description = [=[Summons a pair of riddling sphinxes - one guardian and one marauder - to debilitate the caster's enemies with hexes and batter them with violent winds.

Spell power increases the sphinxes' durability and the power of their spells.]=], 
  flags = {
    mons_abjure = true,
  }, 
  level = 7, 
  name = "Sphinx Sisters", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Hexes = true, 
    Summoning = true,
  },
}
m["Splinterfrost Shell"] = {
  books = {
    ["book of Cryoformation"] = true, 
    ["book of Duality"] = true,
  }, 
  description = [=[Constructs a frangible shell of reinforced ice in a half-circle around the caster, pushing creatures out of the way to make space for it, if possible.

This barricade is durable, and whenever a segment of it is destroyed, will fracture into a salvo of icy projectiles launched at whatever destroyed it.

If the caster strays too far away from their barrier, it will melt rapidly.]=], 
  flags = {
    not_self = true, 
    target = true,
  }, 
  level = 7, 
  name = "Splinterfrost Shell", 
  noise = {casting = 7, effect = 0}, 
  ["power cap"] = 200, 
  range = {max = 1, min = 1}, 
  schools = {
    Forgecraft = true, 
    Ice = true,
  },
}
m["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 = 0}, 
  ["power cap"] = 200, 
  range = {max = 5, min = 5}, 
  schools = {
    Conjuration = true, 
    Fire = true,
  },
}
m["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 the damage dealt bypasses half of defenders' armour.", 
  flags = {
    area = true,
  }, 
  level = 2, 
  name = "Static Discharge", 
  noise = {casting = 2, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 1, min = 1}, 
  schools = {
    Air = true, 
    Conjuration = true,
  },
}
m["Sticky Flame"] = {
  books = {
    ["Everburning Encyclopedia"] = true, 
    ["book of Flames"] = true,
  }, 
  description = [=[Unleashes a short-ranged spray of incendiary 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.

If the target is insubstantial, the liquid fire will fail to stick.]=], 
  flags = {
    destructive = true, 
    dir_or_target = true, 
    needs_tracer = true,
  }, 
  level = 4, 
  name = "Sticky Flame", 
  noise = {casting = 4, effect = 0}, 
  ["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
 for the rest of his life.”
    -Terry Pratchett, “Jingo”. 1997.]=], 
  range = {max = 1, min = 1}, 
  schools = {
    Alchemy = true, 
    Fire = true,
  },
}
m["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 = 0}, 
  ["power cap"] = 50, 
  range = {max = 4, min = 4}, 
  schools = {
    Conjuration = true, 
    Earth = true,
  },
}
m["Sublimation of Blood"] = {
  books = {
    ["book of Blood"] = true, 
    ["book of Maladies"] = 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,
  },
}
m["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 = 6, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Summoning = true,
  },
}
m["Summon Forest"] = {
  books = {
    ["Fen Folio"] = true, 
    ["book of the Wilderness"] = 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 = 5, effect = 10}, 
  ["power cap"] = 200, 
  schools = {
    Summoning = true, 
    Translocation = true,
  },
}
m["Summon Horrible Things"] = {
  books = {
    ["Grand Grimoire"] = true,
  }, 
  description = "Opens a gate to the Abyss and calls through two or more hideous abominations from that dreadful place. While powerful, brushing one's mind against the fabric of the Abyss in this manner invites Doom upon the caster and may eventually cost them greatly.", 
  flags = {
    chaotic = true, 
    mons_abjure = true, 
    unholy = true,
  }, 
  level = 8, 
  name = "Summon Horrible Things", 
  noise = {casting = 8, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Summoning = true,
  },
}
m["Summon Hydra"] = {
  books = {
    ["Fen Folio"] = true, 
    ["book of Blood"] = 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 = 7, effect = 0}, 
  ["power cap"] = 200, 
  schools = {
    Summoning = true,
  },
}
m["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,
  },
}
m["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 = 5, effect = 0}, 
  ["power cap"] = 100, 
  schools = {
    Hexes = true, 
    Summoning = true,
  },
}
m["Summon Seismosaurus Egg"] = {
  books = {
    ["book of Beasts"] = true, 
    ["book of the Wilderness"] = true,
  }, 
  description = [=[Summons the egg of a brutish lizard, just on the verge of hatching. So long as there are foes nearby and the caster remains adjacent to the egg, it will hatch several turns after being summoned to wreak havoc upon its summoner's foes.

Even as a juvenile, a seismosaurus is a force to be reckoned with. It is nearly as hardy as a mountain, and its footfalls are capable of creating violent seismic shockwaves. Each shockwave deals considerable damage to non-flying enemies, and may sometimes even cause them to lose their footing altogether.

Spell power increases the egg's durability and the strength of the seismosaur within, but not the time it takes to hatch.]=], 
  flags = {
  }, 
  level = 4, 
  name = "Summon Seismosaurus Egg", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 100, 
  quote = [=[Zoologists famously considered this animal to have been extinct for centuries until copies of this spell were unearthed among the affairs of a misanthropic hermit who'd finally made the wrong noble's hair fall out.

Several well-funded expeditions were launched in the wake of the discovery, but despite (or perhaps because of) the sometimes-violent competitiveness these naturalists had for each other, the location of the lizards' nesting grounds remains unknown to this day.]=], 
  schools = {
    Earth = true, 
    Summoning = true,
  },
}
m["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,
  },
}
m["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 = 3, effect = 0}, 
  ["power cap"] = 100, 
  quote = [=[“JUST WALK OUT
 you can leave!!!
  work
  social thing
  movies
  home
  class
  dentist
  clothes shoppi
  too fancy weed store
  cops if your quick
  friend ships
 IF IT SUCKS... HIT DA BRICKS!!
 real winners quit” [sic]
   -Admin, @dasharez0ne Twitter. March 30, 2018]=], 
  schools = {
    Air = true,
  },
}
m["Teleport Other"] = {
  books = {
    ["There-And-Back Book"] = true, 
    ["book of Displacement"] = true,
  }, 
  description = "Attempts to teleport a targeted creature out of the caster's sight, after a short delay.", 
  flags = {
    WL_check = true, 
    escape = true, 
    not_self = true, 
    target = true,
  }, 
  level = 3, 
  name = "Teleport Other", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 8, min = 8}, 
  schools = {
    Translocation = true,
  },
}
m["Tukima's Dance"] = {
  books = {
    ["Great Wizards, Vol. VII"] = true, 
    ["book of Weapons"] = 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.

Certain powerful named artefacts cannot be animated, and any properties that require skill in evocations will not be active.]=], 
  flags = {
    WL_check = true, 
    dir_or_target = true, 
    needs_tracer = true, 
    not_self = true,
  }, 
  level = 3, 
  name = "Tukima's Dance", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 100, 
  range = {max = 8, min = 8}, 
  schools = {
    Hexes = true,
  },
}
m["Vampiric Draining"] = {
  books = {
    ["book of Duality"] = 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,
  },
}
m["Vhi's Electric Charge"] = {
  books = {
    ["book of Lightning"] = true, 
    ["book of Movement"] = 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. The time taken by the spell is the greater of the time normally needed to cast a spell or that needed to launch one melee attack.", 
  flags = {
    dir_or_target = true, 
    noisy = true,
  }, 
  level = 4, 
  name = "Vhi's Electric Charge", 
  noise = {casting = 4, effect = 0}, 
  ["power cap"] = 50, 
  range = {max = 4, min = 4}, 
  schools = {
    Air = true, 
    Translocation = true,
  },
}
m["Volatile Blastmotes"] = {
  books = {
    ["book of Blasting"] = true, 
    ["book of Movement"] = true,
  }, 
  description = "Brings forth a cloud of volatile blastmotes around the caster. These explode on contact with open flame or with creatures - including any caster foolish enough to linger in them! The explosion is concussive, knocking adjacent creatures away. Damage done rises with the spell's power.", 
  flags = {
    destructive = true,
  }, 
  level = 3, 
  name = "Volatile Blastmotes", 
  noise = {casting = 3, effect = 0}, 
  ["power cap"] = 50, 
  schools = {
    Fire = true, 
    Translocation = true,
  },
}
m["Yara's Violent Unravelling"] = {
  books = {
    ["Great Wizards, Vol. VII"] = true, 
    ["book of Misfortune"] = 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, 
    destructive = true, 
    no_ghost = true, 
    target = true,
  }, 
  level = 5, 
  name = "Yara's Violent Unravelling", 
  noise = {casting = 5, effect = 15}, 
  ["power cap"] = 200, 
  range = {max = 8, min = 8}, 
  schools = {
    Alchemy = true, 
    Hexes = true,
  },
}
return m