Difference between revisions of "Module:Table of spells"

From CrawlWiki
Jump to: navigation, search
(Alright, let's just add the new spells one at a time, starting with Absolute Zero)
m (Remove accidental Lehudib's Crystal Spear duplication)
 
(206 intermediate revisions by 13 users not shown)
Line 1: Line 1:
-- Table of spells (0.19.0-2-gae57169)
+
local m = {}
return {
+
m["Airstrike"] = {
  ["Absolute Zero"] = {
+
  books = {
    books = {
+
    ["book of Air"] = true,
      ["book of Annihilations"] = true
+
     ["book of Storms"] = true,
     },
+
  },  
    description = "Entirely removes the heat from the enemy nearest the caster, instantly freezing it into a block of solid ice.",
+
  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 = {
+
  flags = {
      NO_GHOST = true
+
    destructive = true,
     },
+
    not_self = true,
    level = 9,
+
     target = true,
    name = "Absolute Zero",
+
  },  
    noise = {
+
  level = 4,  
      casting = 9,
+
  name = "Airstrike",  
      effect = 40
+
  noise = {casting = 4, effect = 4},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 200,
+
  range = {max = 8, min = 8},  
    range = {
+
  schools = {
      max = 5,
+
    Air = true,
      min = 5
 
    },
 
    rarity = 4,
 
    schools = {
 
      Ice = true
 
    }
 
 
   },
 
   },
   Agony = {
+
}
     books = {
+
m["Alistair's Intoxication"] = {
      ["book of Death"] = true
+
   books = {
    },
+
     ["Great Wizards, Vol. II"] = true,
    description = "Cuts the resilience of an adjacent creature in half. This damage is never directly lethal.",
+
    ["book of Party Tricks"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      MR_CHECK = true,
+
  flags = {
      NEEDS_TRACER = true,
+
  },  
      NOT_SELF = true
+
  level = 5,  
    },
+
  name = "Alistair's Intoxication",  
    level = 5,
+
  noise = {casting = 5, effect = 0},  
    name = "Agony",
+
  ["power cap"] = 150,  
    noise = {
+
  schools = {
      casting = 4,
+
     Alchemy = true,
      effect = 2
 
    },
 
    ["power cap"] = 200,
 
    quote = "“Unbearable, isn't it? The suffering of strangers, the agony of friends. There is a secret song at the center of the world, Joey, and its sound is like razors through flesh.”\n    -Pinhead, _Hellraiser 3: Hell on Earth_. 1992.",
 
    range = {
 
      max = 1,
 
      min = 1
 
    },
 
     rarity = 11,
 
    schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  Airstrike = {
+
}
    books = {
+
m["Alistair's Walking Alembic"] = {
      ["book of the Sky"] = true
+
  books = {
     },
+
    ["book of Contraptions"] = true,
    description = "Causes the air around a creature to twist itself into a whirling vortex of meteorological fury. It is especially effective against flying enemies.",
+
     ["book of Metalworking"] = true,
    flags = {
+
  },  
      NOT_SELF = 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.",  
      TARGET = true
+
  flags = {
    },
+
  },  
    level = 4,
+
  level = 5,  
    name = "Airstrike",
+
  name = "Alistair's Walking Alembic",  
    noise = {
+
  noise = {casting = 5, effect = 0},  
      casting = 2,
+
  ["power cap"] = 100,  
      effect = 4
+
  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 = {
    ["power cap"] = 200,
+
    Alchemy = true,
    range = {
+
     Forgecraft = true,
      max = 7,
 
      min = 7
 
    },
 
    rarity = 10,
 
    schools = {
 
      Air = true
 
     }
 
 
   },
 
   },
  ["Alistair's Intoxication"] = {
+
}
    books = {
+
m["Anguish"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Party Tricks"] = true
+
    ["book of Dreams"] = true,  
    },
+
    ["book of Hexes"] = true,
    description = "Converts a small portion of the brain matter of those around you into alcohol, confusing all intelligent humanoids within view (although poison-resistant creatures may resist the effects). The caster may experience vertigo briefly as a result of making contact with other minds. It is frequently used as an icebreaker at wizard parties.",
+
  },  
    flags = {},
+
  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.",  
    level = 5,
+
  flags = {
    name = "Alistair's Intoxication",
+
    WL_check = true,
    noise = {
+
    area = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 4,  
    },
+
  name = "Anguish",  
    ["power cap"] = 100,
+
  noise = {casting = 4, effect = 0},  
    rarity = 5,
+
  ["power cap"] = 200,  
    schools = {
+
  range = {max = 8, min = 8},  
      Poison = true,
+
  schools = {
      Transmutation = true
+
    Hexes = true,  
    }
+
    Necromancy = true,
 
   },
 
   },
  ["Animate Dead"] = {
+
}
    books = {
+
m["Animate Dead"] = {
      ["book of Necromancy"] = true,
+
  books = {
      ["book of Unlife"] = true
+
    ["book of Death"] = true,  
    },
+
    ["book of the Grave"] = true,
    description = "Reanimates all corpses and skeletons in the vicinity as followers. This magic is unstable, so eventually those reanimated will crumble to dust. Zombies and skeletons cannot leave the level they were created on.",
+
  },  
    flags = {
+
  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.",  
      AREA = true,
+
  flags = {
      NEUTRAL = true,
+
    helpful = true,  
      UTILITY = true
+
    no_ghost = true,  
    },
+
    utility = true,
    level = 4,
+
  },  
    name = "Animate Dead",
+
  level = 4,  
    noise = {
+
  name = "Animate Dead",  
      casting = 3,
+
  noise = {casting = 4, effect = 0},  
      effect = 0
+
  ["power cap"] = 100,
    },
+
  quote = [=[“Remember, I am not recording the vision of a madman. The sun does not more
    ["power cap"] = 0,
+
certainly shine in the heavens, than that which I now affirm is true. Some
     rarity = 3,
+
miracle might have produced it, yet the stages of the discovery were distinct
    schools = {
+
and probable. After days and nights of incredible labour and fatigue, I
      Necromancy = true
+
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 Skeleton"] = {
+
}
    books = {
+
m["Apportation"] = {
      ["book of Cantrips"] = true,
+
  books = {
      ["book of Necromancy"] = true
+
    ["book of Cantrips"] = true,  
    },
+
    ["book of Party Tricks"] = true,
    description = "Reanimates a single skeleton as a follower, even if that skeleton is still encased in flesh. This magic is unstable, so eventually those reanimated will crumble to dust. Skeletons cannot leave the level they were created on.",
+
  },  
    flags = {
+
  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.
      UTILITY = true
+
 
     },
+
Extremely powerful magical items, such as the Orb of Zot, may actively resist the pull of this spell.]=],  
    level = 1,
+
  flags = {
    name = "Animate Skeleton",
+
    not_self = true,
    noise = {
+
     obj = true,
      casting = 1,
+
    target = true,
      effect = 0
+
  },  
    },
+
  level = 1,  
    ["power cap"] = 0,
+
  name = "Apportation",  
    rarity = 1,
+
  noise = {casting = 1, effect = 0},  
    schools = {
+
  ["power cap"] = 50,  
      Necromancy = true
+
  range = {max = 8, min = 8},  
    }
+
  schools = {
 +
    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"] = 1000,
+
     Conjuration = true,
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    rarity = 1,
 
    schools = {
 
      Translocation = true
 
     }
 
 
   },
 
   },
  ["Aura of Abjuration"] = {
+
}
    books = {
+
m["Awaken Armour"] = {
      ["book of Summonings"] = true
+
  books = {
     },
+
    ["book of Iron"] = true,
    description = "Continuously abjures hostile summoned creatures in the vicinity of the caster. This reduces their remaining time before being sent back where they came from.",
+
     ["book of the Fortress"] = true,
    flags = {
+
  },  
      AREA = 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.
      ESCAPE = true,
+
 
      NEUTRAL = true
+
Spellpower increases its durability.]=],  
    },
+
  flags = {
    level = 5,
+
  },  
    name = "Aura of Abjuration",
+
  level = 4,  
    noise = {
+
  name = "Awaken Armour",  
      casting = 5,
+
  noise = {casting = 4, effect = 0},  
      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.\"",  
    ["power cap"] = 200,
+
  schools = {
    rarity = 11,
+
    Earth = true,
    schools = {
+
     Forgecraft = true,
      Summoning = true
 
     }
 
 
   },
 
   },
  ["Beastly Appendage"] = {
+
}
    books = {
+
m["Blink"] = {
      ["book of Changes"] = true
+
  books = {
     },
+
    ["book of Minor Magic"] = true,
    description = "Temporarily replaces one or a pair of the caster's appendages with an animal counterpart, giving them an extra attack. It is not powerful enough to meld armour or enhance appendages that are already nonhuman.",
+
     ["book of Spatial Translocations"] = true,
    flags = {
+
  },  
      CHAOTIC = 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.",  
      HELPFUL = true
+
  flags = {
     },
+
    escape = true,  
    level = 1,
+
    selfench = true,
    name = "Beastly Appendage",
+
     utility = true,
    noise = {
+
  },  
      casting = 1,
+
  level = 2,  
      effect = 0
+
  name = "Blink",  
    },
+
  noise = {casting = 2, effect = 0},  
    ["power cap"] = 50,
+
  ["power cap"] = 50,  
    rarity = 2,
+
  schools = {
    schools = {
+
    Translocation = true,
      Transmutation = true
 
    }
 
 
   },
 
   },
  ["Blade Hands"] = {
+
}
    books = {
+
m["Bombard"] = {
      ["book of Changes"] = true
+
  books = {
    },
+
    ["Compendium of Siegecraft"] = true,
    description = "Causes long, scythe-shaped blades to grow from the caster's hands. It makes spellcasting somewhat difficult.",
+
    ["book of Power"] = true,
    flags = {
+
  },  
      CHAOTIC = true,
+
  description = "Blasts an iron ball toward a target. The force of the blast often sends the caster staggering backwards.",  
      HELPFUL = true,
+
  flags = {
      UTILITY = true
+
    dir_or_target = true,  
    },
+
    needs_tracer = true,
    level = 5,
+
  },  
    name = "Blade Hands",
+
  level = 6,  
    noise = {
+
  name = "Bombard",  
      casting = 4,
+
  noise = {casting = 6, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 200,
+
  schools = {
    rarity = 2,
+
    Conjuration = true,
    schools = {
+
     Earth = true,
      Transmutation = true
 
     }
 
 
   },
 
   },
  Blink = {
+
}
    books = {
+
m["Borgnjor's Revivification"] = {
      ["book of Minor Magic"] = true,
+
  books = {
      ["book of Spatial Translocations"] = true
+
    Necronomicon = true,
    },
+
  },  
    description = "Randomly translocates the caster a short distance.",
+
  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 = {
+
 
      EMERGENCY = true,
+
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.]=],  
      ESCAPE = true,
+
  flags = {
      SELFENCH = true,
+
    utility = true,
      UTILITY = true
+
  },  
    },
+
  level = 8,  
    level = 2,
+
  name = "Borgnjor's Revivification",  
    name = "Blink",
+
  noise = {casting = 8, effect = 0},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 2,
+
  schools = {
      effect = 0
+
    Necromancy = true,
    },
 
    ["power cap"] = 0,
 
    rarity = 1,
 
    schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Bolt of Cold"] = {
+
}
    books = {
+
m["Borgnjor's Vile Clutch"] = {
      ["book of Ice"] = true
+
  books = {
    },
+
    ["Great Wizards, Vol. II"] = true,
    description = "Fires a penetrating bolt of frost.",
+
    ["book of the Grave"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      NEEDS_TRACER = true
+
  flags = {
     },
+
    dir_or_target = true,  
    level = 6,
+
    needs_tracer = true,
    name = "Bolt of Cold",
+
     not_self = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 5,  
      effect = 2
+
  name = "Borgnjor's Vile Clutch",  
    },
+
  noise = {casting = 5, effect = 5},  
    ["power cap"] = 50,
+
  ["power cap"] = 200,  
    range = {
+
  range = {max = 6, min = 6},  
      max = 5,
+
  schools = {
      min = 5
+
    Earth = true,  
    },
+
    Necromancy = true,
    rarity = 10,
 
    schools = {
 
      Conjuration = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Bolt of Draining"] = {
+
}
    books = {
+
m["Brom's Barrelling Boulder"] = {
      ["book of Death"] = true
+
  books = {
    },
+
    ["Compendium of Siegecraft"] = true,
    description = "Fires a penetrating bolt of negative energy, which drains any living creature it strikes.",
+
    ["book of the Spheres"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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).
      NEEDS_TRACER = 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.]=],  
    level = 5,
+
  flags = {
    name = "Bolt of Draining",
+
    not_self = true,  
    noise = {
+
    target = true,
      casting = 2,
+
  },  
      effect = 2
+
  level = 4,  
    },
+
  name = "Brom's Barrelling Boulder",  
    ["power cap"] = 50,
+
  noise = {casting = 4, effect = 0},  
    range = {
+
  ["power cap"] = 100,  
      max = 5,
+
  range = {max = 8, min = 8},  
      min = 5
+
  schools = {
    },
+
    Conjuration = true,  
    rarity = 11,
+
    Earth = true,
    schools = {
 
      Conjuration = true,
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Bolt of Fire"] = {
+
}
    books = {
+
m["Call Canine Familiar"] = {
      ["book of Fire"] = true,
+
  books = {
      ["book of the Dragon"] = true
+
    ["book of Callings"] = true,  
    },
+
    ["book of the Hunter"] = true,
    description = "Fires a penetrating bolt of flames.",
+
  },  
    flags = {
+
  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.
      DIR_OR_TARGET = true,
+
 
      NEEDS_TRACER = true
+
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 = 6,
+
  },  
    name = "Bolt of Fire",
+
  level = 3,  
    noise = {
+
  name = "Call Canine Familiar",  
      casting = 6,
+
  noise = {casting = 3, effect = 0},  
      effect = 2
+
  ["power cap"] = 100,  
    },
+
  quote = [=[“There seemed a strange stillness over everything. But as I listened, I heard
    ["power cap"] = 50,
+
as if from down below in the valley the howling of many wolves. The Count's
    range = {
+
eyes gleamed, and he said.
      max = 6,
+
 
      min = 6
+
‘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
     rarity = 10,
+
dwellers in the city cannot enter into the feelings of the hunter.’”
    schools = {
+
     -Bram Stoker, _Dracula_. 1897.]=],  
      Conjuration = true,
+
  schools = {
      Fire = true
+
    Summoning = true,
    }
 
 
   },
 
   },
  ["Bolt of Magma"] = {
+
}
    books = {
+
m["Call Imp"] = {
      ["book of Power"] = true,
+
  books = {
      ["book of the Earth"] = true
+
    ["book of Callings"] = true,  
    },
+
    ["book of Minor Magic"] = true,
    description = "Fires a penetrating bolt of molten rock. A portion of its damage bypasses fire resistance. The range of the bolt is decreased by one for every creature it strikes.",
+
  },  
    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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      NEEDS_TRACER = true
+
    unholy = true,
    },
+
  },  
    level = 5,
+
  level = 2,  
    name = "Bolt of Magma",
+
  name = "Call Imp",  
    noise = {
+
  noise = {casting = 2, effect = 0},  
      casting = 5,
+
  ["power cap"] = 50,  
      effect = 2
+
  schools = {
    },
+
     Summoning = true,
    ["power cap"] = 200,
 
    range = {
 
      max = 4,
 
      min = 4
 
     },
 
    rarity = 6,
 
    schools = {
 
      Conjuration = true,
 
      Earth = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  ["Borgnjor's Revivification"] = {
+
}
    books = {
+
m["Cause Fear"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["book of Hexes"] = true,
    description = "Instantly heals any and all wounds suffered by the caster, but also permanently lessens their resilience to injury, to a degree dependent on (and inversely related to) power.\n\nIt is powerful enough to cancel the effects of Death's Door, although doing so will briefly paralyse the caster. It has no effect on the undead.",
+
     ["book of the Dragon"] = true,
    flags = {
+
  },  
      UTILITY = 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 = {
    level = 8,
+
    WL_check = true,
    name = "Borgnjor's Revivification",
+
     area = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 4,  
      effect = 0
+
  name = "Cause Fear",  
    },
+
  noise = {casting = 4, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
     rarity = -1,
+
  quote = [=[“And when Miranda sang
    schools = {
+
Everyone turned away
      Necromancy = true
+
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,
 
   },
 
   },
  ["Borgnjor's Vile Clutch"] = {
+
}
    books = {
+
m["Chain Lightning"] = {
      ["book of Necromancy"] = true,
+
  books = {
      ["book of Dreams"] = true,
+
    ["book of Annihilations"] = true,
      ["book of Unlife"] = 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.",  
    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 = {
    flags = {
+
    area = true,
      TARGET = true
+
  },  
    },
+
  level = 9,  
    level = 5,
+
  name = "Chain Lightning",  
    name = "Borgnjor's Vile Clutch",
+
  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"] = 200,
+
  schools = {
    range = {
+
    Air = true,  
      max = 6,
+
    Conjuration = true,
      min = 6
 
     },
 
    rarity = 6,
 
    schools = {
 
      Necromancy = true,
 
      Earth = true
 
    }
 
 
   },
 
   },
  ["Call Canine Familiar"] = {
+
}
    books = {
+
m["Cigotuvi's Putrefaction"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["book of Callings"] = true
+
    ["book of Debilitation"] = true,  
    },
+
    ["book of Decay"] = true,
    description = "Summons a solitary canine to the caster's aid.",
+
  },  
    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.
    level = 3,
+
 
    name = "Call Canine Familiar",
+
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).]=],  
    noise = {
+
  flags = {
      casting = 3,
+
    target = true,
      effect = 0
+
    unclean = true,
    },
+
  },  
    ["power cap"] = 100,
+
  level = 4,  
    quote = "“There seemed a strange stillness over everything. But as I listened, I heard as if from down below in the valley the howling of many wolves. The Count's eyes gleamed, and he said.\n\n‘Listen to them, the children of the night. What music they make!’ Seeing, I suppose, some expression in my face strange to him, he added, ‘Ah, sir, you dwellers in the city cannot enter into the feelings of the hunter.’”\n    -Bram Stoker, _Dracula_. 1897.",
+
  name = "Cigotuvi's Putrefaction",  
    rarity = 3,
+
  noise = {casting = 4, effect = 0},  
    schools = {
+
  ["power cap"] = 100,  
      Summoning = true
+
  range = {max = 5, min = 5},  
    },
+
  schools = {
     ["summons limit"] = 1
+
    Air = true,  
 +
     Necromancy = true,
 
   },
 
   },
  ["Call Imp"] = {
+
}
    books = {
+
m["Confusing Touch"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of Minor Magic"] = true
+
    ["book of Debilitation"] = true,  
    },
+
    ["book of Touch"] = true,
    description = "Calls forth a minor demon from the pits of Hell.",
+
  },  
    flags = {
+
  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.",  
      SELFENCH = true,
+
  flags = {
      UNHOLY = true
+
    WL_check = true,  
    },
+
    selfench = true,
    level = 2,
+
  },  
    name = "Call Imp",
+
  level = 3,  
    noise = {
+
  name = "Confusing Touch",  
      casting = 2,
+
  noise = {casting = 3, effect = 0},  
      effect = 0
+
  ["power cap"] = 100,  
    },
+
  schools = {
    ["power cap"] = 100,
+
    Hexes = true,
    rarity = 1,
 
    schools = {
 
      Summoning = true
 
    },
 
    ["summons limit"] = 3
 
 
   },
 
   },
  ["Cause Fear"] = {
+
}
    books = {
+
m["Conjure Ball Lightning"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of Enchantments"] = true,
+
    ["book of Chaos"] = true,  
      ["book of the Dragon"] = 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.",
+
  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.
    flags = {
+
 
      AREA = 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.]=],  
      MR_CHECK = true
+
  flags = {
    },
+
  },  
    level = 4,
+
  level = 6,  
    name = "Cause Fear",
+
  name = "Conjure Ball Lightning",  
    noise = {
+
  noise = {casting = 6, effect = 25},  
      casting = 3,
+
  ["power cap"] = 200,  
      effect = 0
+
  schools = {
    },
+
     Air = true,  
    ["power cap"] = 200,
+
     Conjuration = true,
    quote = "“And when Miranda sang\n Everyone turned away\n Used to the noose, they obey”\n    -The Mars Volta, “Miranda That Ghost Just Isn't Holy Anymore”. 2005.",
 
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
     rarity = 5,
 
     schools = {
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Chain Lightning"] = {
+
}
    books = {
+
m["Construct Spike Launcher"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["Handbook of Applied Construction"] = true,
    description = "Releases a massive electrical discharge that arcs from target to target until it grounds out. It may ground out harmlessly if there are no targets sufficiently close to the caster. Its damage partially bypasses armour.",
+
     ["Treatise on Traps"] = true,
    flags = {
+
  },  
      AREA = 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 = 8,
+
  },  
    name = "Chain Lightning",
+
  level = 2,  
    noise = {
+
  name = "Construct Spike Launcher",  
      casting = 8,
+
  noise = {casting = 2, effect = 0},  
      effect = 25
+
  ["power cap"] = 50,  
    },
+
  schools = {
    ["power cap"] = 200,
+
    Forgecraft = true,
    quote = "“The trouble ain't that there is too many fools,\n but that the lightning ain't distributed right.”\n    -traditionally attributed to Samuel Clemens",
 
    rarity = -1,
 
    schools = {
 
      Air = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  Confuse = {
+
}
    books = {
+
m["Curse of Agony"] = {
      ["book of Maledictions"] = true,
+
  books = {
      ["book of Misfortune"] = true
+
    ["book of Maladies"] = true,  
    },
+
    ["book of the Senses"] = true,
    description = "Induces a state of bewilderment and confusion in a creature's mind.",
+
  },  
    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 = {
      MR_CHECK = true,
+
    WL_check = true,  
      NEEDS_TRACER = true
+
    dir_or_target = true,  
     },
+
    needs_tracer = true,
    level = 3,
+
     not_self = true,
    name = "Confuse",
+
  },  
    noise = {
+
  level = 5,  
      casting = 3,
+
  name = "Curse of Agony",  
      effect = 2
+
  noise = {casting = 5, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 50,
+
  quote = [=[“Unbearable, isn't it? The suffering of strangers, the agony of friends. There
     range = {
+
is a secret song at the center of the world, Joey, and its sound is like
      max = 7,
+
razors through flesh.”
      min = 7
+
     -Pinhead, _Hellraiser 3: Hell on Earth_. 1992.]=],
    },
+
  range = {max = 4, min = 4},  
    rarity = 1,
+
  schools = {
    schools = {
+
    Necromancy = true,
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Confusing Touch"] = {
+
}
    books = {
+
m["Dazzling Flash"] = {
      ["book of Cantrips"] = true,
+
  books = {
      ["book of Misfortune"] = true
+
    ["book of Spectacle"] = true,  
    },
+
    ["book of the Senses"] = true,
    description = "Enchants the caster's dominant hand with magical energy. This energy is released when the caster touches a monster with their bare hand, and may induce a state of confusion in the monster.",
+
  },  
    flags = {},
+
  description = "The caster erupts in a scintillating display of light. Any living, demonic or angelic creature nearby may be dazzled and left stumbling blindly.",  
    level = 1,
+
  flags = {
    name = "Confusing Touch",
+
    area = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 3,  
      effect = 0
+
  name = "Dazzling Flash",  
    },
+
  noise = {casting = 3, effect = 0},  
    ["power cap"] = 50,
+
  ["power cap"] = 50,  
    rarity = 1,
+
  range = {max = 3, min = 2},  
    schools = {
+
  schools = {
      Hexes = true
+
    Fire = true,
     }
+
     Hexes = true,
 
   },
 
   },
  ["Conjure Ball Lightning"] = {
+
}
    books = {
+
m["Death Channel"] = {
      ["book of the Sky"] = true
+
  books = {
     },
+
    ["book of Unlife"] = 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.",
+
     ["book of Wicked Creation"] = true,
    flags = {
+
  },  
      SELFENCH = 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 = {
    level = 6,
+
    helpful = true,
    name = "Conjure Ball Lightning",
+
    selfench = true,
    noise = {
+
     utility = true,
      casting = 6,
+
  },  
      effect = 25
+
  level = 6,  
    },
+
  name = "Death Channel",  
    ["power cap"] = 200,
+
  noise = {casting = 6, effect = 0},  
    rarity = 10,
+
  ["power cap"] = 200,  
    schools = {
+
  schools = {
      Air = true,
+
    Necromancy = true,
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Conjure Flame"] = {
+
}
    books = {
+
m["Death's Door"] = {
      ["book of Clouds"] = true,
+
  books = {
      ["book of Flames"] = true,
+
    Necronomicon = true,
      ["book of Minor Magic"] = 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.
    description = "Creates a column of roaring flame in a targeted empty location.",
+
 
    flags = {
+
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.]=],  
      NOT_SELF = true,
+
  flags = {
      TARGET = true
+
    no_ghost = true,  
    },
+
    utility = true,
    level = 3,
+
  },  
    name = "Conjure Flame",
+
  level = 9,  
    noise = {
+
  name = "Death's Door",  
      casting = 3,
+
  noise = {casting = 9, effect = 0},  
      effect = 2
+
  ["power cap"] = 200,  
    },
+
  schools = {
    ["power cap"] = 100,
+
     Necromancy = true,
    range = {
 
      max = 3,
 
      min = 3
 
    },
 
    rarity = 1,
 
     schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  ["Controlled Blink"] = {
+
}
    books = {
+
m["Detonation Catalyst"] = {
      ["book of the Warp"] = true
+
  books = {
     },
+
    ["book of Battle"] = true,
    description = "Translocates the caster a short distance, with precise control. Be wary that controlled translocations will cause the subject to become contaminated with magical energy.",
+
     ["book of Spontaneous Combustion"] = true,
    flags = {
+
  },  
      EMERGENCY = 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.",  
      ESCAPE = true,
+
  flags = {
      UTILITY = true
+
    selfench = true,
    },
+
  },  
    level = 8,
+
  level = 5,  
    name = "Controlled Blink",
+
  name = "Detonation Catalyst",  
    noise = {
+
  noise = {casting = 5, effect = 15},  
      casting = 2,
+
  ["power cap"] = 100,  
      effect = 0
+
  schools = {
    },
+
    Alchemy = true,
    ["power cap"] = 0,
+
     Fire = true,
    rarity = 15,
 
    schools = {
 
      Translocation = true
 
     }
 
 
   },
 
   },
  Corona = {
+
}
    books = {
+
m["Diamond Sawblades"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of Maledictions"] = true
+
    ["Treatise on Traps"] = true,  
    },
+
    ["book of Contraptions"] = true,
    description = "Causes a halo of glowing light to surround and effectively outline a creature. This glow offsets the dark, musty atmosphere of the dungeon, and makes the affected creature appreciably easier to hit.",
+
  },  
    flags = {
+
  description = "Forges up to four razor-sharp sawblades at fixed positions around the caster which shred any enemies adjacent to them over several turns.",  
      DIR_OR_TARGET = true,
+
  flags = {
      MR_CHECK = true,
+
  },  
      NEEDS_TRACER = true,
+
  level = 7,  
      NOT_SELF = true
+
  name = "Diamond Sawblades",  
    },
+
  noise = {casting = 7, effect = 0},  
    level = 1,
+
  ["power cap"] = 200,  
    name = "Corona",
+
  schools = {
    noise = {
+
     Forgecraft = true,
      casting = 1,
 
      effect = 2
 
    },
 
    ["power cap"] = 40,
 
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    rarity = 2,
 
    schools = {
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Corpse Rot"] = {
+
}
    books = {
+
m["Dimensional Bullseye"] = {
      ["book of Death"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["book of Weapons"] = true,  
    },
+
    ["book of the Hunter"] = true,
    description = "Rapidly accelerates the decomposition of any corpses lying around the caster, emitting in the process a foul miasmic vapour, which eats away at the life force of any creature it envelops.",
+
  },  
    flags = {
+
  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.",  
      AREA = true,
+
  flags = {
      NEUTRAL = true,
+
    not_self = true,  
      UNCLEAN = true
+
    prefer_farthest = true,  
    },
+
    target = true,
    level = 2,
+
  },  
    name = "Corpse Rot",
+
  level = 4,  
    noise = {
+
  name = "Dimensional Bullseye",  
      casting = 2,
+
  noise = {casting = 4, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 8, min = 8},  
    ["power cap"] = 0,
+
  schools = {
    rarity = 11,
+
    Hexes = true,
    schools = {
+
     Translocation = true,
      Necromancy = true
 
     }
 
 
   },
 
   },
  Darkness = {
+
}
    books = {
+
m["Discord"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Dreams"] = true
+
    ["book of Chaos"] = true,  
    },
+
    ["the Unrestrained Analects"] = true,
    description = "Dims the light of the dungeon, reducing the range of vision.",
+
  },  
    flags = {},
+
  description = "Drives nearby creatures into an wild frenzy, causing them to mercilessly attack anything and everything nearby with great strength and speed.",  
    level = 6,
+
  flags = {
    name = "Darkness",
+
    WL_check = true,
    noise = {
+
    area = true,
      casting = 3,
+
    hasty = true,
      effect = 0
+
  },  
    },
+
  level = 8,  
    ["power cap"] = 200,
+
  name = "Discord",  
    quote = "“If I must die, I will encounter darkness as a bride,\n    And hug it in my arms.”\n    -William Shakespeare, “Measure for Measure”",
+
  noise = {casting = 8, effect = 0},  
    rarity = 12,
+
  ["power cap"] = 200,  
    schools = {
+
  schools = {
      Hexes = true
+
    Hexes = true,
    }
 
 
   },
 
   },
  ["Dazzling Spray"] = {
+
}
    books = {
+
m["Disjunction"] = {
      ["book of Conjurations"] = true,
+
  books = {
      ["book of Maledictions"] = true
+
    ["book of Chaos"] = true,  
    },
+
    ["book of the Warp"] = true,
    description = "Fires a spread of scintillating energy bolts from the caster's fingertips. Any living creature they strike may be dazzled and left stumbling blindly.",
+
  },  
    flags = {
+
  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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      NOT_SELF = true
+
    escape = true,  
    },
+
    utility = true,
    level = 3,
+
  },  
    name = "Dazzling Spray",
+
  level = 8,  
    noise = {
+
  name = "Disjunction",  
      casting = 3,
+
  noise = {casting = 8, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 50,
+
  schools = {
    range = {
+
    Translocation = true,
      max = 5,
 
      min = 5
 
    },
 
    rarity = 2,
 
    schools = {
 
      Conjuration = true,
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Death Channel"] = {
+
}
    books = {
+
m["Dispel Undead"] = {
      ["book of Unlife"] = true
+
  books = {
     },
+
    ["book of Decay"] = true,
    description = "Raises living creatures slain by the caster and their allies, reducing them to a state of spectral slavery.",
+
     ["book of Touch"] = true,
    flags = {
+
  },  
      HELPFUL = true,
+
  description = "Harms an adjacent undead creature greatly by interfering with the forces binding it together.",  
      UTILITY = true
+
  flags = {
    },
+
    dir_or_target = true,  
    level = 6,
+
    needs_tracer = true,
    name = "Death Channel",
+
  },  
    noise = {
+
  level = 4,  
      casting = 5,
+
  name = "Dispel Undead",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 200,
+
  range = {max = 1, min = 1},  
    rarity = 10,
+
  schools = {
    schools = {
+
    Necromancy = true,
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Death's Door"] = {
+
}
    books = {
+
m["Dispersal"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["There-And-Back Book"] = 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 more resilient when the effect ends. It has no effect on those who are already undead.",
+
     ["book of the Warp"] = true,
    flags = {
+
  },  
      EMERGENCY = 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.",  
      NO_GHOST = true,
+
  flags = {
      UTILITY = true
+
    area = true,  
    },
+
    escape = true,
    level = 8,
+
  },  
    name = "Death's Door",
+
  level = 6,  
    noise = {
+
  name = "Dispersal",  
      casting = 6,
+
  noise = {casting = 6, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  range = {max = 4, min = 1},  
    ["power cap"] = 200,
+
  schools = {
    rarity = -1,
+
    Translocation = true,
    schools = {
 
      Charms = true,
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Deflect Missiles"] = {
+
}
    books = {
+
m["Dragon's Call"] = {
      ["book of Enchantments"] = true,
+
  books = {
      ["book of the Sky"] = true
+
    ["book of the Dragon"] = true,
    },
+
  },  
    description = "Protects the caster from all kinds of projectile attacks, making them significantly easier to dodge. It is highly effective against both single-target and penetrating attacks. Each time a missile is deflected the spell has a chance of expiring, with a lower chance of expiry at high power.",
+
  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 = {
      HELPFUL = true,
+
  },  
      UTILITY = true
+
  level = 9,  
    },
+
  name = "Dragon's Call",  
    level = 6,
+
  noise = {casting = 9, effect = 15},  
    name = "Deflect Missiles",
+
  ["power cap"] = 200,  
    noise = {
+
  quote = [=[“This is where the dragons went.
      casting = 3,
+
They lie...
      effect = 0
+
Not dead, not asleep. Not waiting, because waiting implies expectation.
    },
+
Possibly the word we're looking for here is...
    ["power cap"] = 200,
+
...dormant.
     rarity = 7,
+
And although the space they occupy isn't like normal space, nevertheless
    schools = {
+
  they are packed in tightly. Not a cubic inch there but is filled by a claw,
      Air = true,
+
  a talon, a scale, the tip of a tail, so the effect is like one of those
      Charms = true
+
  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,
 
   },
 
   },
  Discord = {
+
}
    books = {
+
m["Enfeeble"] = {
      ["book of Enchantments"] = true
+
  books = {
     },
+
    ["book of Hexes"] = true,
    description = "Drives nearby creatures into an insane frenzy, causing them to mercilessly attack anything and everything nearby with great strength and speed.",
+
     ["book of Misfortune"] = true,
    flags = {
+
  },  
      AREA = 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!",  
      HASTY = true
+
  flags = {
     },
+
    WL_check = true,  
    level = 8,
+
    dir_or_target = true,
    name = "Discord",
+
     needs_tracer = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 7,  
      effect = 0
+
  name = "Enfeeble",  
    },
+
  noise = {casting = 7, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
    rarity = 7,
+
  range = {max = 8, min = 8},  
    schools = {
+
  schools = {
      Hexes = true
+
    Hexes = true,
    }
 
 
   },
 
   },
  Disjunction = {
+
}
    books = {
+
m["Ensorcelled Hibernation"] = {
      ["book of the Warp"] = true
+
  books = {
     },
+
    ["book of Burglary"] = 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.",
+
     ["book of Dreams"] = true,
    flags = {
+
  },  
      ESCAPE = 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.",  
      UTILITY = true
+
  flags = {
     },
+
    WL_check = true,  
    level = 8,
+
    dir_or_target = true,
    name = "Disjunction",
+
     needs_tracer = true,
    noise = {
+
    not_self = true,
      casting = 6,
+
    silent = true,
      effect = 0
+
  },  
    },
+
  level = 2,  
    ["power cap"] = 200,
+
  name = "Ensorcelled Hibernation",  
     rarity = 15,
+
  noise = {casting = 0, effect = 0},  
    schools = {
+
  ["power cap"] = 50,  
      Translocation = true
+
  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,
 
   },
 
   },
  ["Dispel Undead"] = {
+
}
    books = {
+
m["Eringya's Noxious Bog"] = {
      ["book of Death"] = true
+
  books = {
     },
+
    ["Fen Folio"] = true,
    description = "Harms an undead creature greatly by interfering with the forces binding it together.",
+
     ["Great Wizards, Vol. II"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      NEEDS_TRACER = true
+
  flags = {
     },
+
    area = true,  
    level = 5,
+
    destructive = true,
    name = "Dispel Undead",
+
     no_ghost = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 6,  
      effect = 2
+
  name = "Eringya's Noxious Bog",  
    },
+
  noise = {casting = 6, effect = 0},  
    ["power cap"] = 50,
+
  ["power cap"] = 200,  
    range = {
+
  range = {max = 4, min = 4},  
      max = 4,
+
  schools = {
      min = 4
+
    Alchemy = true,
    },
 
    rarity = 11,
 
    schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
   Dispersal = {
+
}
     books = {
+
m["Eringya's Surprising Crocodile"] = {
      ["book of the Warp"] = true
+
   books = {
    },
+
     ["My Sojourn through Swampland"] = true,
    description = "Teleports away any creatures within a short distance of the caster. Any creature that resists the effect will still be irresistibly blinked a shorter distance, and any monster it affects at all has a chance of being confused by the warping of space.",
+
    ["book of Callings"] = true,
    flags = {
+
  },  
      AREA = 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.",  
      ESCAPE = true
+
  flags = {
    },
+
    not_self = true,  
    level = 6,
+
    target = true,
    name = "Dispersal",
+
  },  
    noise = {
+
  level = 4,  
      casting = 5,
+
  name = "Eringya's Surprising Crocodile",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 100,
    ["power cap"] = 200,
+
  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 = 4,
+
  schools = {
      min = 1
+
    Summoning = true,
    },
 
    rarity = 15,
 
    schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Dragon Form"] = {
+
}
    books = {
+
m["Fire Storm"] = {
      ["book of the Dragon"] = true,
+
  books = {
      ["book of Transfigurations"] = true
+
    ["book of Annihilations"] = true,
    },
+
  },  
    description = "Transforms the caster into a mighty, fire-breathing dragon. The caster becomes highly resistant to fire and resistant to poison, but vulnerable to cold. The caster becomes able to deal incredible damage in melee combat, and they become much more robust, although their evasiveness is reduced.\n\nWhile transformed, any equipped weapons and armour are melded.",
+
  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 = {
+
  flags = {
      CHAOTIC = true,
+
    area = true,  
      HELPFUL = true,
+
    needs_tracer = true,  
      UTILITY = true
+
    target = true,
    },
+
  },  
    level = 7,
+
  level = 9,  
    name = "Dragon Form",
+
  name = "Fire Storm",  
    noise = {
+
  noise = {casting = 9, effect = 25},  
      casting = 6,
+
  ["power cap"] = 200,  
      effect = 0
+
  quote = [=[“Some have said there is no subtlety to destruction. You know what? They're
    },
+
dead.”
    ["power cap"] = 200,
+
     -Jaya Ballard, task mage (Magic: the Gathering).]=],
     rarity = 8,
+
  range = {max = 5, min = 5},  
    schools = {
+
  schools = {
      Transmutation = true
+
    Conjuration = true,
     }
+
     Fire = true,
 
   },
 
   },
  ["Dragon's Call"] = {
+
}
    books = {
+
m["Fireball"] = {
      ["book of the Dragon"] = true
+
  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.",
+
     ["book of the Spheres"] = true,
    flags = {},
+
  },  
    level = 9,
+
  description = "Hurls an explosive ball of fire.",  
    name = "Dragon's Call",
+
  flags = {
    noise = {
+
    dir_or_target = true,
      casting = 7,
+
    needs_tracer = true,
      effect = 15
+
  },  
    },
+
  level = 5,  
    ["power cap"] = 200,
+
  name = "Fireball",  
    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.",
+
  noise = {casting = 5, effect = 15},  
    rarity = 15,
+
  ["power cap"] = 200,  
    schools = {
+
  range = {max = 5, min = 5},  
      Summoning = true
+
  schools = {
     }
+
    Conjuration = true,
 +
     Fire = true,
 
   },
 
   },
  ["Ensorcelled Hibernation"] = {
+
}
    books = {
+
m["Flame Wave"] = {
      ["book of Dreams"] = true,
+
  books = {
      ["book of Maledictions"] = true
+
    ["book of Flames"] = true,  
    },
+
    ["book of Scorching"] = 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 = "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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      MR_CHECK = true,
+
    area = true,
      NEEDS_TRACER = true,
+
  },  
      NOT_SELF = true
+
  level = 4,  
    },
+
  name = "Flame Wave",  
    level = 2,
+
  noise = {casting = 4, effect = 12},  
    name = "Ensorcelled Hibernation",
+
  ["power cap"] = 100,  
    noise = {
+
  range = {max = 3, min = 3},  
      casting = 0,
+
  schools = {
      effect = 2
+
    Conjuration = true,  
    },
+
    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
 
    },
 
    rarity = 2,
 
    schools = {
 
      Hexes = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Excruciating Wounds"] = {
+
}
    books = {
+
m["Forge Blazeheart Golem"] = {
      ["book of Death"] = true
+
  books = {
    },
+
    ["Handbook of Applied Construction"] = true,
    description = "Temporarily infuses the weapon held by the caster with the essence of pain itself. It will not affect artefact weapons.",
+
    ["book of Dangerous Friends"] = true,
    flags = {
+
  },  
      HELPFUL = 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.
    },
+
 
    level = 5,
+
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.
    name = "Excruciating Wounds",
+
 
    noise = {
+
It gains greater explosive damage at higher power.]=],  
      casting = 4,
+
  flags = {
      effect = 15
+
  },  
    },
+
  level = 4,  
    ["power cap"] = 200,
+
  name = "Forge Blazeheart Golem",  
    rarity = 11,
+
  noise = {casting = 4, effect = 0},  
    schools = {
+
  ["power cap"] = 100,  
      Charms = true,
+
  schools = {
      Necromancy = true
+
    Fire = true,  
    }
+
    Forgecraft = true,
 
   },
 
   },
  ["Fire Storm"] = {
+
}
    books = {
+
m["Forge Lightning Spire"] = {
      ["book of Annihilations"] = true
+
  books = {
    },
+
    ["Codex of Conductivity"] = 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 Storms"] = true,
    flags = {
+
  },  
      AREA = 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.",  
      NEEDS_TRACER = true,
+
  flags = {
      TARGET = true
+
  },  
    },
+
  level = 4,  
    level = 9,
+
  name = "Forge Lightning Spire",  
    name = "Fire Storm",
+
  noise = {casting = 4, effect = 0},  
    noise = {
+
  ["power cap"] = 100,  
      casting = 9,
+
  schools = {
      effect = 25
+
     Air = true,  
    },
+
     Forgecraft = true,
    ["power cap"] = 200,
 
    quote = "“Some have said there is no subtlety to destruction. You know what? They're dead.”\n    -Jaya Ballard, task mage (Magic: the Gathering)",
 
    range = {
 
      max = 5,
 
      min = 5
 
    },
 
     rarity = -1,
 
     schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  Fireball = {
+
}
    books = {
+
m["Forge Monarch Bomb"] = {
      ["book of Fire"] = true,
+
  books = {
      ["book of Flames"] = true,
+
    ["book of Blasting"] = true,  
      ["book of the Tempests"] = true
+
    ["book of Contraptions"] = true,
    },
+
  },  
    description = "Hurls an explosive ball of fire. This spell does not cost any spell levels if the learner already knows Delayed Fireball.",
+
  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.
    flags = {
+
 
      DIR_OR_TARGET = 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.]=],  
      NEEDS_TRACER = true
+
  flags = {
    },
+
  },  
    level = 5,
+
  level = 6,  
    name = "Fireball",
+
  name = "Forge Monarch Bomb",  
    noise = {
+
  noise = {casting = 6, effect = 0},  
      casting = 5,
+
  ["power cap"] = 200,  
      effect = 15
+
  schools = {
    },
+
     Fire = true,  
    ["power cap"] = 50,
+
     Forgecraft = true,
    range = {
 
      max = 5,
 
      min = 5
 
     },
 
    rarity = 4,
 
     schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  ["Flame Tongue"] = {
+
}
    books = {
+
m["Forge Phalanx Beetle"] = {
      ["book of Flames"] = true,
+
  books = {
      ["book of the Dragon"] = true
+
    ["book of Metalworking"] = true,  
    },
+
    ["book of the Fortress"] = true,
    description = "Creates a short burst of flame.",
+
  },  
    flags = {
+
  description = [=[Constructs a small mechanical guardian which bolsters its creator's armour class for as long as it remains adjacent to them.
      DIR_OR_TARGET = true,
+
 
      NEEDS_TRACER = 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.
      NOT_SELF = true
+
 
    },
+
Spellpower increases the magnitude of the AC increase, as well as the beetle's own durability.]=],  
    level = 1,
+
  flags = {
    name = "Flame Tongue",
+
  },  
    noise = {
+
  level = 6,  
      casting = 1,
+
  name = "Forge Phalanx Beetle",  
      effect = 2
+
  noise = {casting = 6, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 40,
+
  schools = {
    range = {
+
     Forgecraft = true,
      max = 5,
 
      min = 2
 
     },
 
    rarity = 4,
 
    schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  ["Force Lance"] = {
+
}
    books = {
+
m["Fortress Blast"] = {
      ["book of the Warp"] = true
+
  books = {
    },
+
    ["book of Power"] = true,
    description = "Fires a shaft of concussive force. If the impact deals damage, it may knock the target back.",
+
    ["book of the Fortress"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.
      NEEDS_TRACER = true
+
 
    },
+
Spellpower causes the spell to complete more quickly, but the damage depends entirely upon the caster's AC.]=],  
    level = 4,
+
  flags = {
    name = "Force Lance",
+
    area = true,  
    noise = {
+
    destructive = true,
      casting = 5,
+
  },  
      effect = 2
+
  level = 6,  
    },
+
  name = "Fortress Blast",  
    ["power cap"] = 50,
+
  noise = {casting = 6, effect = 20},  
    range = {
+
  ["power cap"] = 75,  
      max = 3,
+
  range = {max = 3, min = 3},  
      min = 3
+
  schools = {
    },
+
    Forgecraft = true,
    rarity = 15,
 
    schools = {
 
      Conjuration = true,
 
      Translocation = true
 
    }
 
 
   },
 
   },
  Freeze = {
+
}
    books = {
+
m["Foxfire"] = {
      ["book of Frost"] = true
+
  books = {
    },
+
    ["book of Fire"] = true,
    description = "Freezes an adjacent creature. This may temporarily slow cold-blooded creatures.",
+
  },  
    flags = {
+
  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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      NOT_SELF = true
+
  },  
    },
+
  level = 1,  
    level = 1,
+
  name = "Foxfire",  
    name = "Freeze",
+
  noise = {casting = 1, effect = 0},  
    noise = {
+
  ["power cap"] = 25,  
      casting = 1,
+
  schools = {
      effect = 0
+
     Conjuration = true,  
    },
+
     Fire = true,
    ["power cap"] = 25,
 
    range = {
 
      max = 1,
 
      min = 1
 
    },
 
     rarity = 4,
 
     schools = {
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Freezing Cloud"] = {
+
}
    books = {
+
m["Freeze"] = {
      ["book of Clouds"] = true,
+
  books = {
      ["book of Ice"] = true
+
    ["book of Frost"] = true,
    },
+
  },  
    description = "Conjures up a large cloud of lethally cold vapour.",
+
  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,  
      CLOUD = true,
+
    dir_or_target = true,  
      NEEDS_TRACER = true,
+
    not_self = true,
      TARGET = true
+
  },  
    },
+
  level = 1,  
    level = 6,
+
  name = "Freeze",  
    name = "Freezing Cloud",
+
  noise = {casting = 1, effect = 0},  
    noise = {
+
  ["power cap"] = 25,  
      casting = 6,
+
  range = {max = 1, min = 1},  
      effect = 2
+
  schools = {
    },
+
    Ice = true,
    ["power cap"] = 200,
 
    range = {
 
      max = 5,
 
      min = 5
 
    },
 
    rarity = 6,
 
    schools = {
 
      Air = true,
 
      Conjuration = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Fulminant Prism"] = {
+
}
    books = {
+
m["Freezing Cloud"] = {
      ["book of Conjurations"] = true,
+
  books = {
      ["book of Power"] = true
+
    ["Trismegistus Codex"] = true,  
    },
+
    ["book of Ice"] = 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 = "Conjures up a large cloud of lethally cold vapour.",  
      AREA = true,
+
  flags = {
      NOT_SELF = true,
+
    area = true,  
      TARGET = true
+
    cloud = true,  
     },
+
    needs_tracer = true,
    level = 4,
+
     target = true,
    name = "Fulminant Prism",
+
  },  
    noise = {
+
  level = 5,  
      casting = 4,
+
  name = "Freezing Cloud",  
      effect = 0
+
  noise = {casting = 5, effect = 2},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 200,
+
  range = {max = 5, min = 5},  
    range = {
+
  schools = {
      max = 4,
+
     Air = true,  
      min = 4
+
     Conjuration = true,  
    },
+
    Ice = true,
     rarity = 3,
 
     schools = {
 
      Conjuration = true,
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Gell's Gravitas"] = {
+
}
    books = {
+
m["Frozen Ramparts"] = {
      ["book of Spatial Translocations"] = true,
+
  books = {
      ["book of the Warp"] = true
+
    ["book of Frost"] = true,  
    },
+
    ["book of Winter"] = 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 = [=[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.
      NEEDS_TRACER = true,
+
 
      NOT_SELF = true,
+
The ice will crack and fall away if the caster moves to a new position.]=],  
      TARGET = true
+
  flags = {
    },
+
    area = true,  
    level = 3,
+
    destructive = true,  
    name = "Gell's Gravitas",
+
    no_ghost = true,
    noise = {
+
  },  
      casting = 3,
+
  level = 3,  
      effect = 0
+
  name = "Frozen Ramparts",  
    },
+
  noise = {casting = 3, effect = 8},  
    ["power cap"] = 200,
+
  ["power cap"] = 50,
     range = {
+
  quote = [=[”And as you cross the circle line
      max = 7,
+
Well, the ice wall creaks behind
      min = 7
+
You're a rabbit on the run”
    },
+
 
    rarity = 1,
+
     -Jethro Tull, “Skating Away (on the Thin Ice of a New Day)”.  1974.]=],
    schools = {
+
  range = {max = 2, min = 2},  
      Translocation = true
+
  schools = {
    }
+
    Ice = true,
 
   },
 
   },
  Glaciate = {
+
}
    books = {
+
m["Fugue of the Fallen"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["book of Battle"] = true,
    description = "Conjures forth a mighty blast of ice. Creatures within its cone-shaped area of effect take damage, with higher damage being dealt to those close to the caster. Those hit by the blast are encased in ice, slowing their movement, and those killed by the blast may be frozen into solid blocks of ice. A significant portion of its damage bypasses cold resistance.",
+
     ["book of Dreams"] = true,
    flags = {
+
  },  
      AREA = 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.
      DIR_OR_TARGET = true,
+
 
      NOT_SELF = 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.]=],  
    },
+
  flags = {
    level = 9,
+
    selfench = true,
    name = "Glaciate",
+
  },  
    noise = {
+
  level = 3,  
      casting = 9,
+
  name = "Fugue of the Fallen",  
      effect = 25
+
  noise = {casting = 3, effect = 8},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
     Necromancy = true,
      max = 6,
 
      min = 6
 
    },
 
     rarity = -1,
 
    schools = {
 
      Conjuration = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  Haunt = {
+
}
    books = {
+
m["Fulminant Prism"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["book of Blasting"] = 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.",
+
     ["book of Conjurations"] = true,
    flags = {
+
  },  
      MONS_ABJURE = 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.",  
      NOT_SELF = true,
+
  flags = {
      TARGET = true
+
    area = true,  
     },
+
    no_ghost = true,  
    level = 7,
+
    not_self = true,
    name = "Haunt",
+
     target = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 4,  
      effect = 0
+
  name = "Fulminant Prism",  
    },
+
  noise = {casting = 4, effect = 20},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
    range = {
+
  range = {max = 4, min = 4},  
      max = 7,
+
  schools = {
      min = 7
+
    Alchemy = true,  
    },
+
    Conjuration = true,
    rarity = -1,
 
    schools = {
 
      Necromancy = true,
 
      Summoning = true
 
    }
 
 
   },
 
   },
  ["Hydra Form"] = {
+
}
    books = {
+
m["Fulsome Fusillade"] = {
      ["book of Transfigurations"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["book of Spectacle"] = true,  
    },
+
    ["book of Transmutation"] = true,
    description = "Transforms the caster into a many-headed hydra for a brief duration. Its many heads strike in all directions. Edible foes slain by the gnashing teeth are instantly devoured, reinvigorating the caster in their reptilian rampage.\n\nThe form's number of heads is fixed upon casting the spell, and increases with power.",
+
  },  
    flags = {
+
  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.
      CHAOTIC = true,
+
 
      HELPFUL = 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.]=],  
      UTILITY = true
+
  flags = {
    },
+
    area = true,  
    level = 6,
+
    chaotic = true,  
    name = "Hydra Form",
+
    destructive = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 8,  
      effect = 0
+
  name = "Fulsome Fusillade",  
    },
+
  noise = {casting = 8, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
    rarity = 8,
+
  range = {max = 8, min = 8},  
    schools = {
+
  schools = {
      Transmutation = true
+
    Alchemy = true,
     }
+
     Conjuration = true,
 
   },
 
   },
  ["Ice Form"] = {
+
}
    books = {
+
m["Gell's Gavotte"] = {
      ["book of Changes"] = true,
+
  books = {
      ["book of Ice"] = true
+
    ["There-And-Back Book"] = true,  
    },
+
    ["book of Movement"] = true,
    description = "Transforms the caster into a frozen ice-creature, light enough to float on water. The caster becomes incredibly resistant to cold, and resistant to poison, but vulnerable to fire and unable to evoke wands.",
+
  },  
    flags = {
+
  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.
      CHAOTIC = true,
+
 
      HELPFUL = 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'.
      UTILITY = true
+
 
    },
+
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.]=],  
    level = 4,
+
  flags = {
    name = "Ice Form",
+
    aim_at_space = true,  
    noise = {
+
    target = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 6,  
    },
+
  name = "Gell's Gavotte",  
    ["power cap"] = 100,
+
  noise = {casting = 6, effect = 0},  
    rarity = 2,
+
  ["power cap"] = 200,  
    schools = {
+
  range = {max = 1, min = 1},  
      Ice = true,
+
  schools = {
      Transmutation = true
+
    Translocation = true,
    }
 
 
   },
 
   },
  ["Ignite Poison"] = {
+
}
    books = {
+
m["Gloom"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Fire"] = true
+
    ["book of Spectacle"] = true,  
    },
+
    ["book of the Senses"] = 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 = [=[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.
      AREA = true
+
 
    },
+
Willpower is useless against this spell, but stronger creatures may still shrug off its effects.]=],  
    level = 3,
+
  flags = {
    name = "Ignite Poison",
+
    silent = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 3,  
      effect = 0
+
  name = "Gloom",  
    },
+
  noise = {casting = 0, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 50,  
    rarity = 10,
+
  range = {max = 3, min = 2},  
    schools = {
+
  schools = {
      Fire = true,
+
    Hexes = true,  
      Poison = true,
+
    Necromancy = true,
      Transmutation = true
 
    }
 
 
   },
 
   },
["Ignition"] = {
+
}
    books = {
+
m["Grave Claw"] = {
      ["book of the Tempests"] = true,
+
  books = {
      ["book of Fire"] = true
+
    ["book of Necromancy"] = true,  
    },
+
    ["book of the Grave"] = 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 = [=[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
+
 
     },
+
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.]=],  
    level = 8,
+
  flags = {
    name = "Ignition",
+
    not_self = true,
    noise = {
+
     target = true,
      casting = 4,
+
  },  
      effect = 15
+
  level = 2,  
    },
+
  name = "Grave Claw",  
    ["power cap"] = 200,
+
  noise = {casting = 2, effect = 0},  
    rarity = 10,
+
  ["power cap"] = 50,  
    schools = {
+
  range = {max = 4, min = 4},  
      Fire = true
+
  schools = {
    }
+
    Necromancy = true,
 
   },
 
   },
  Infestation = {
+
}
    books = {
+
m["Hailstorm"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["book of Frost"] = 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 the Tundra"] = true,
    flags = {
+
  },  
      TARGET = 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.",  
      UNCLEAN = true
+
  flags = {
    },
+
    area = true,
    level = 8,
+
  },  
    name = "Infestation",
+
  level = 3,  
    noise = {
+
  name = "Hailstorm",  
      casting = 8,
+
  noise = {casting = 3, effect = 0},  
      effect = 4
+
  ["power cap"] = 100,  
    },
+
  range = {max = 3, min = 3},  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
    Conjuration = true,
      max = 7,
+
     Ice = true,
      min = 7
 
    },
 
    rarity = -1,
 
    schools = {
 
      Necromancy = true
 
     }
 
 
   },
 
   },
   Infusion = {
+
}
     books = {
+
m["Haunt"] = {
      ["book of Battle"] = true
+
   books = {
    },
+
     Necronomicon = true,
    description = "Infuses the caster's melee attacks with magic, drawing from their reserves of magical energy to deal additional damage whenever an enemy is hit. It has no effect when the caster's magic is depleted.",
+
    ["book of Death"] = true,
    flags = {
+
  },  
      UTILITY = 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 = 1,
+
    mons_abjure = true,
    name = "Infusion",
+
     not_self = true,
    noise = {
+
    target = true,
      casting = 1,
+
  },  
      effect = 0
+
  level = 7,  
    },
+
  name = "Haunt",  
    ["power cap"] = 25,
+
  noise = {casting = 7, effect = 0},  
    rarity = 5,
+
  ["power cap"] = 200,  
    schools = {
+
  range = {max = 8, min = 8},  
      Charms = true
+
  schools = {
     }
+
    Necromancy = true,
 +
     Summoning = true,
 
   },
 
   },
  ["Inner Flame"] = {
+
}
    books = {
+
m["Hellfire Mortar"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of Flames"] = true
+
    ["Compendium of Siegecraft"] = true,  
    },
+
    ["Trismegistus Codex"] = true,
    description = "Fills an enemy with an intense fire, to be explosively released upon death. The size of the explosion caused is dependent on the size of the target.",
+
  },  
    flags = {
+
  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,
+
 
      MR_CHECK = 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.]=],  
      NEUTRAL = true,
+
  flags = {
      NOT_SELF = true
+
    destructive = true,  
    },
+
    dir_or_target = true,
    level = 3,
+
  },  
    name = "Inner Flame",
+
  level = 7,  
    noise = {
+
  name = "Hellfire Mortar",  
      casting = 3,
+
  noise = {casting = 7, effect = 20},  
      effect = 2
+
  ["power cap"] = 200,  
    },
+
  range = {max = 8, min = 8},  
    ["power cap"] = 50,
+
  schools = {
    range = {
+
     Earth = true,  
      max = 7,
+
     Fire = true,  
      min = 7
+
    Forgecraft = true,
    },
 
     rarity = 4,
 
     schools = {
 
      Fire = true,
 
      Hexes = true
 
    }
 
 
   },
 
   },
  Invisibility = {
+
}
    books = {
+
m["Hoarfrost Cannonade"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Party Tricks"] = true
+
    ["Compendium of Siegecraft"] = true,  
    },
+
    ["book of Cryoformation"] = true,
    description = "Turns a targeted creature invisible. Turning invisible causes magical contamination and may eventually cause glowing, nullifying the invisibility.",
+
  },  
    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.
      DIR_OR_TARGET = true,
+
 
      EMERGENCY = 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.]=],  
      HELPFUL = true,
+
  flags = {
      NEEDS_TRACER = true,
+
  },  
      SELFENCH = true
+
  level = 5,  
    },
+
  name = "Hoarfrost Cannonade",  
    level = 6,
+
  noise = {casting = 5, effect = 0},  
    name = "Invisibility",
+
  ["power cap"] = 200,  
    noise = {
+
  schools = {
      casting = 0,
+
     Forgecraft = true,  
      effect = 2
+
     Ice = true,
    },
 
    ["power cap"] = 50,
 
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    rarity = 7,
 
     schools = {
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Iron Shot"] = {
+
}
    books = {
+
m["Ignite Poison"] = {
      ["book of Power"] = true,
+
  books = {
      ["book of the Earth"] = true
+
    ["Everburning Encyclopedia"] = true,  
    },
+
    ["book of Blood"] = true,
    description = "Hurls a large and heavy metal shot.",
+
  },  
    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,  
    },
+
    destructive = true,
    level = 6,
+
  },  
    name = "Iron Shot",
+
  level = 4,  
    noise = {
+
  name = "Ignite Poison",  
      casting = 6,
+
  noise = {casting = 4, effect = 0},  
      effect = 2
+
  ["power cap"] = 100,  
    },
+
  schools = {
    ["power cap"] = 50,
+
     Alchemy = true,  
    range = {
+
     Fire = true,
      max = 4,
 
      min = 4
 
    },
 
     rarity = 6,
 
     schools = {
 
      Conjuration = true,
 
      Earth = true
 
    }
 
 
   },
 
   },
  Irradiate = {
+
}
    books = {
+
m["Ignition"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Transfigurations"] = true
+
    ["Everburning Encyclopedia"] = true,  
    },
+
    ["book of Spontaneous Combustion"] = true,
    description = "Transmutes an ultra-thin layer of the caster's skin (or equivalent) directly into pure magical energy, blasting and deforming adjacent creatures. The caster is not left entirely unaffected; some of the magic lingers, enough to leave them dangerously contaminated after a few castings.",
+
  },  
    flags = {
+
  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.",  
      AREA = true,
+
  flags = {
      CHAOTIC = true
+
    area = true,  
    },
+
    destructive = true,
    level = 5,
+
  },  
    name = "Irradiate",
+
  level = 8,  
    noise = {
+
  name = "Ignition",  
      casting = 4,
+
  noise = {casting = 8, effect = 15},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  schools = {
    ["power cap"] = 200,
+
     Fire = true,
    quote = "“Reflex in the sky warn you you're gonna die\n Storm coming, you'd better hide from the atomic tide\n Flashes in the sky turns houses into sties\n Turns people into clay, radiation minds decay”\n    -Black Sabbath, “Electric Funeral”. 1970.",
 
    range = {
 
      max = 1,
 
      min = 1
 
    },
 
    rarity = 8,
 
     schools = {
 
      Conjuration = true,
 
      Transmutation = true
 
    }
 
 
   },
 
   },
  ["Iskenderun's Battlesphere"] = {
+
}
    books = {
+
m["Infestation"] = {
      ["book of Conjurations"] = true
+
  books = {
    },
+
    ["book of Death"] = true,
    description = "Conjures a small globe of magical energy linked to the caster's own magical reserves. While the battlesphere cannot take independent action, it will fire volleys of energy at the caster's enemies in sync with its creator's own destructive conjurations. With increasing power, the battlesphere lasts longer and deals more damage per volley.",
+
  },  
    flags = {
+
  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.",  
      UTILITY = true
+
  flags = {
     },
+
    target = true,
    level = 5,
+
     unclean = true,
    name = "Iskenderun's Battlesphere",
+
  },  
    noise = {
+
  level = 8,  
      casting = 5,
+
  name = "Infestation",  
      effect = 0
+
  noise = {casting = 8, effect = 4},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 100,
+
  range = {max = 8, min = 8},  
    quote = "“Maxim 4: Close air support covereth a multitude of sins.”\n    -Howard Tayler, _The Seventy Maxims of Maximally Effective Mercenaries_,\n    in _Schlock Mercenary_. 2008.",
+
  schools = {
    rarity = 3,
+
    Necromancy = true,
    schools = {
 
      Charms = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Iskenderun's Mystic Blast"] = {
+
}
    books = {
+
m["Inner Flame"] = {
      ["book of Conjurations"] = true,
+
  books = {
      ["book of Power"] = true
+
    ["book of Flames"] = true,  
    },
+
    ["book of Spontaneous Combustion"] = true,
    description = "Throws a crackling sphere of destructive energy. The sphere will sometimes explode on impact, and the chance of it doing so is higher if the sphere has traveled less distance.",
+
  },  
    flags = {
+
  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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      NEEDS_TRACER = true
+
    WL_check = true,  
     },
+
    destructive = true,
    level = 4,
+
     not_self = true,
    name = "Iskenderun's Mystic Blast",
+
    target = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 3,  
      effect = 10
+
  name = "Inner Flame",  
    },
+
  noise = {casting = 3, effect = 0},  
    ["power cap"] = 50,
+
  ["power cap"] = 100,  
    range = {
+
  range = {max = 8, min = 8},  
      max = 6,
+
  schools = {
      min = 6
+
    Fire = true,
    },
+
     Hexes = true,
    rarity = 3,
 
    schools = {
 
      Conjuration = true
 
     }
 
 
   },
 
   },
  ["Leda's Liquefaction"] = {
+
}
    books = {
+
m["Irradiate"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of the Earth"] = true,
+
    ["book of Spontaneous Combustion"] = true,  
      ["Fen Folio"] = true
+
    ["book of Transmutation"] = true,
    },
+
  },  
    description = "Liquefies the ground around the caster, making it difficult to move through. Any movement through liquefied ground will be slowed, and attempts to attack in melee may fail.\n\nThe effect starts out with a radius depending on power, which will then shrink, eventually covering only the caster, before it times out.",
+
  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 = {
+
  flags = {
      AREA = true
+
    area = true,
     },
+
     chaotic = true,
    level = 4,
+
  },  
    name = "Leda's Liquefaction",
+
  level = 5,  
    noise = {
+
  name = "Irradiate",  
      casting = 3,
+
  noise = {casting = 5, effect = 0},  
      effect = 0
+
  ["power cap"] = 200,  
    },
+
  quote = [=[“Reflex in the sky warn you you're gonna die
    ["power cap"] = 200,
+
Storm coming, you'd better hide from the atomic tide
     rarity = 5,
+
Flashes in the sky turns houses into sties
    schools = {
+
Turns people into clay, radiation minds decay”
      Earth = true,
+
     -Black Sabbath, “Electric Funeral”. 1970.]=],
      Hexes = true
+
  range = {max = 1, min = 1},  
    }
+
  schools = {
 +
    Alchemy = true,  
 +
    Conjuration = true,
 
   },
 
   },
  ["Lee's Rapid Deconstruction"] = {
+
}
    books = {
+
m["Iskenderun's Battlesphere"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Geomancy"] = true
+
    ["book of Power"] = true,  
    },
+
    ["book of the Spheres"] = true,
    description = "Fragments a wall or a suitably brittle visible monster into an explosion of deadly shrapnel. It can be used on monsters made of ice, bone, or any wall-like substance, as well as those turned to stone by petrification. Its damage is strongly reduced by armour.\n\nTargets made from rock, stone, ice or bone will cause a small or medium-sized explosion. Metal targets will cause a small but particularly damaging explosion, and targets made from crystal will cause a large and extremely damaging explosion.\n\nAt high power, this spell is capable of destroying some walls: rock, stone or metal walls have a chance of being destroyed with at least 5, 6 or 7 bars of power. Crystal walls are particularly brittle and have a chance of being destroyed at any power level.",
+
  },  
    flags = {
+
  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.
      TARGET = true
+
 
    },
+
The battlesphere's creator can freely fire through its position without harming it.]=],  
    level = 5,
+
  flags = {
    name = "Lee's Rapid Deconstruction",
+
    utility = true,
    noise = {
+
  },  
      casting = 4,
+
  level = 4,  
      effect = 20
+
  name = "Iskenderun's Battlesphere",  
    },
+
  noise = {casting = 4, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 100,  
    quote = "“Now the house was full of men and women; and all the lords of the Philistines were there; and there were upon the roof about three thousand men and women, that beheld while Samson made sport.\n\nAnd Samson called unto the LORD, and said, O Lord GOD, remember me, I pray thee, and strengthen me, I pray thee, only this once, O God, that I may be at once avenged of the Philistines for my two eyes.\n\nAnd Samson said, Let me die with the Philistines. And he bowed himself with all his might; and the house fell upon the lords, and upon all the people that were therein. So the dead which he slew at his death were more than they which he slew in his life.”\n    -KJV Bible, Judges 16:28-30.",
+
  quote = [=[“Maxim 4: Close air support covereth a multitude of sins.
    range = {
+
    -Howard Tayler, _The Seventy Maxims of Maximally Effective Mercenaries_,
      max = 7,
+
    in _Schlock Mercenary_. 2008.]=],  
      min = 7
+
  schools = {
     },
+
     Conjuration = true,  
    rarity = 4,
+
     Forgecraft = true,
     schools = {
 
      Earth = true
 
    }
 
 
   },
 
   },
  ["Lehudib's Crystal Spear"] = {
+
}
    books = {
+
m["Iskenderun's Mystic Blast"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["book of Blasting"] = true,
    description = "Hurls a lethally sharp shard of crystal.",
+
     ["book of Duality"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      NEEDS_TRACER = true
+
  flags = {
    },
+
    area = true,
    level = 8,
+
  },  
    name = "Lehudib's Crystal Spear",
+
  level = 4,  
    noise = {
+
  name = "Iskenderun's Mystic Blast",  
      casting = 8,
+
  noise = {casting = 4, effect = 10},  
      effect = 2
+
  ["power cap"] = 100,  
    },
+
  range = {max = 2, min = 2},  
    ["power cap"] = 50,
+
  schools = {
    range = {
+
    Conjuration = true,  
      max = 3,
+
    Translocation = true,
      min = 3
 
    },
 
    rarity = -1,
 
    schools = {
 
      Conjuration = true,
 
      Earth = true
 
    }
 
 
   },
 
   },
  ["Lesser Beckoning"] = {
+
}
    books = {
+
m["Jinxbite"] = {
      ["book of Party Tricks"] = true,
+
  books = {
      ["book of Spatial Translocations"] = true
+
    ["book of Misfortune"] = true,  
    },
+
    ["book of Party Tricks"] = true,
    description = "Beckons the target forward, attempting to place them adjacent to the caster.",
+
  },  
    flags = {
+
  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.
      DIR_OR_TARGET = true,
+
 
      NEEDS_TRACER = true,
+
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.]=],  
      NOT_SELF = true
+
  flags = {
    },
+
    selfench = true,
    level = 3,
+
  },  
    name = "Lesser Beckoning",
+
  level = 2,  
    noise = {
+
  name = "Jinxbite",  
      casting = 2,
+
  noise = {casting = 2, effect = 0},  
      effect = 2
+
  ["power cap"] = 50,  
    },
+
  schools = {
    ["power cap"] = 200,
+
     Hexes = true,
    range = {
 
      max = 7,
 
      min = 2
 
     },
 
    rarity = 7,
 
    schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Lightning Bolt"] = {
+
}
    books = {
+
m["Kinetic Grapnel"] = {
      ["book of Air"] = true,
+
  books = {
      ["book of the Tempests"] = true
+
    ["book of Cantrips"] = true,
    },
+
  },  
    description = "Fires a mighty bolt of lightning. It inflicts less damage than other similar bolts, but its damage partially bypasses armour and it can be bounced off walls to hit targets twice.",
+
  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 = {
      DIR_OR_TARGET = true,
+
    destructive = true,  
      NEEDS_TRACER = true
+
    dir_or_target = true,
     },
+
     needs_tracer = true,
    level = 5,
+
  },  
    name = "Lightning Bolt",
+
  level = 1,  
    noise = {
+
  name = "Kinetic Grapnel",  
      casting = 5,
+
  noise = {casting = 1, effect = 0},  
      effect = 25
+
  ["power cap"] = 25,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 200,
+
  schools = {
    range = {
+
    Forgecraft = true,
      max = 7,
 
      min = 4
 
    },
 
    rarity = 4,
 
    schools = {
 
      Air = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Magic Dart"] = {
+
}
    books = {
+
m["Kiss of Death"] = {
      ["book of Conjurations"] = true,
+
  books = {
      ["book of Minor Magic"] = true
+
    ["book of Touch"] = true,
    },
+
  },  
    description = "Fires a small bolt of magical energy which never misses.",
+
  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 = {
+
  flags = {
      DIR_OR_TARGET = true,
+
    dir_or_target = true,  
      NEEDS_TRACER = true
+
    needs_tracer = true,
     },
+
     not_self = true,
    level = 1,
+
  },  
    name = "Magic Dart",
+
  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"] = 25,
+
  schools = {
    range = {
+
    Conjuration = true,
      max = 7,
+
     Necromancy = true,
      min = 7
 
    },
 
    rarity = 1,
 
    schools = {
 
      Conjuration = true
 
     }
 
 
   },
 
   },
  ["Malign Gateway"] = {
+
}
    books = {
+
m["Launch Clockwork Bee"] = {
      ["Grand Grimoire"] = true
+
  books = {
     },
+
    ["Handbook of Applied Construction"] = 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.",
+
     ["My Sojourn through Swampland"] = true,
    flags = {
+
  },  
      CHAOTIC = 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.
      UNHOLY = true
+
 
    },
+
The caster may repair and rewind a dormant bee by attempting to move into it, at the cost of 1 MP.
    level = 7,
+
 
    name = "Malign Gateway",
+
Spellpower increases the number of attacks the bee may perform before going dormant.]=],  
    noise = {
+
  flags = {
      casting = 6,
+
    not_self = true,  
      effect = 0
+
    target = true,
    },
+
  },  
    ["power cap"] = 200,
+
  level = 3,  
    rarity = 100,
+
  name = "Launch Clockwork Bee",  
    schools = {
+
  noise = {casting = 3, effect = 0},  
      Summoning = true,
+
  ["power cap"] = 100,  
      Translocation = true
+
  range = {max = 8, min = 8},  
    }
+
  schools = {
 +
    Forgecraft = true,
 
   },
 
   },
  ["Mephitic Cloud"] = {
+
}
    books = {
+
m["Leda's Liquefaction"] = {
      ["book of Clouds"] = true,
+
  books = {
      ["book of Minor Magic"] = true,
+
    ["book of Sloth"] = true,  
      ["Young Poisoner's Handbook"] = true
+
    ["book of the Earth"] = true,
    },
+
  },  
    description = "Conjures up a short-lived cloud of noxious fumes, which may cause confusion.",
+
  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.
    flags = {
+
 
      AREA = 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.]=],  
      CLOUD = true,
+
  flags = {
      DIR_OR_TARGET = true,
+
    area = true,
      NEEDS_TRACER = true
+
  },  
    },
+
  level = 4,  
    level = 3,
+
  name = "Leda's Liquefaction",  
    name = "Mephitic Cloud",
+
  noise = {casting = 4, effect = 0},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 3,
+
  schools = {
      effect = 15
+
     Alchemy = true,  
    },
+
     Earth = true,
    ["power cap"] = 50,
 
    range = {
 
      max = 4,
 
      min = 4
 
     },
 
    rarity = 1,
 
     schools = {
 
      Air = true,
 
      Conjuration = true,
 
      Poison = true
 
    }
 
 
   },
 
   },
  ["Metabolic Englaciation"] = {
+
}
    books = {
+
m["Lee's Rapid Deconstruction"] = {
      ["book of Ice"] = true,
+
  books = {
      ["book of Misfortune"] = true
+
    ["book of Iron"] = true,  
    },
+
    ["book of the Earth"] = true,
    description = "Lowers the metabolic rate of every creature in the caster's vicinity, slowing all those who are not resistant to cold. Those especially vulnerable to cold will be affected much more strongly, and tougher creatures will be slowed for a shorter time.",
+
  },  
    flags = {
+
  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.
      AREA = true
+
 
     },
+
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.]=],  
    level = 5,
+
  flags = {
    name = "Metabolic Englaciation",
+
    destructive = true,
    noise = {
+
     target = true,
      casting = 4,
+
  },  
      effect = 0
+
  level = 5,  
    },
+
  name = "Lee's Rapid Deconstruction",  
    ["power cap"] = 200,
+
  noise = {casting = 5, effect = 20},  
     rarity = 1,
+
  ["power cap"] = 200,  
    schools = {
+
  quote = [=[“Now the house was full of men and women; and all the lords of the Philistines
      Hexes = true,
+
were there; and there were upon the roof about three thousand men and women,
      Ice = true
+
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,
 
   },
 
   },
  ["Monstrous Menagerie"] = {
+
}
    books = {
+
m["Lehudib's Crystal Spear"] = {
      ["Grand Grimoire"] = true
+
  books = {
     },
+
    ["book of Armaments"] = true,
    description = "Summons a powerful exotic creature to the caster's aid. It may call forth a harpy, manticore or lindwurm, and at high power may summon a sphinx, or an entire pack of harpies. With high power the individual creatures will also gain increased strength.",
+
     ["book of the Moon"] = true,
    flags = {
+
  },  
      MONS_ABJURE = true
+
  description = "Hurls a lethally sharp shard of crystal.",  
     },
+
  flags = {
    level = 7,
+
    dir_or_target = true,
    name = "Monstrous Menagerie",
+
     needs_tracer = true,
    noise = {
+
  },  
      casting = 5,
+
  level = 8,  
      effect = 0
+
  name = "Lehudib's Crystal Spear",  
    },
+
  noise = {casting = 8, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
    rarity = -1,
+
  range = {max = 3, min = 3},  
    schools = {
+
  schools = {
      Summoning = true
+
    Conjuration = true,  
    },
+
     Earth = true,
     ["summons limit"] = 3
 
 
   },
 
   },
  Necromutation = {
+
}
    books = {
+
m["Lesser Beckoning"] = {
      Necronomicon = true
+
  books = {
     },
+
    ["book of Displacement"] = true,
    description = "Transforms the caster into a lich — a powerful skeletal figure. The caster becomes more resistant to cold and hostile enchantments and completely immune to poison, rotting, negative energy and torment, and requires no food at all for the duration of the spell. The caster also gains some of the more dubious benefits of having an undead body, such as a vulnerability to holy weapons and an inability to consume potions.",
+
     ["book of Spatial Translocations"] = true,
    flags = {
+
  },  
      CHAOTIC = true,
+
  description = "Beckons the target forward, attempting to place them adjacent to the caster.",  
      HELPFUL = true
+
  flags = {
     },
+
    dir_or_target = true,  
    level = 8,
+
    needs_tracer = true,
    name = "Necromutation",
+
     not_self = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 2,  
      effect = 0
+
  name = "Lesser Beckoning",  
    },
+
  noise = {casting = 2, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 50,  
    rarity = -1,
+
  range = {max = 5, min = 3},  
    schools = {
+
  schools = {
      Necromancy = true,
+
    Translocation = true,
      Transmutation = true
 
    }
 
 
   },
 
   },
  ["Olgreb's Toxic Radiance"] = {
+
}
    books = {
+
m["Magic Dart"] = {
      ["Young Poisoner's Handbook"] = true
+
  books = {
     },
+
    ["book of Conjurations"] = true,
    description = "Causes the caster to radiate toxic energy, continuously inflicting poison on everything nearby for as long as the spell lasts.",
+
     ["book of Minor Magic"] = true,
    flags = {
+
  },  
      AREA = true
+
  description = "Fires a small bolt of magical energy which never misses.",  
     },
+
  flags = {
    level = 4,
+
    dir_or_target = true,
    name = "Olgreb's Toxic Radiance",
+
     needs_tracer = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 1,  
      effect = 0
+
  name = "Magic Dart",  
    },
+
  noise = {casting = 1, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 25,  
     rarity = 5,
+
  quote = [=[“Wie die Mächtigen es schon seit jeher wissen,
    schools = {
+
Es gibt immer einen Kniff;
      Poison = true
+
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,
 
   },
 
   },
  ["Orb of Destruction"] = {
+
}
    books = {
+
m["Magnavolt"] = {
      ["book of Power"] = true
+
  books = {
    },
+
    ["Maxwell's Memoranda"] = 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.",
+
    ["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,
+
 
      NOT_SELF = 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 = 7,
+
    destructive = true,  
    name = "Orb of Destruction",
+
    needs_tracer = true,  
    noise = {
+
    prefer_farthest = true,
      casting = 7,
+
     target = true,
      effect = 0
+
  },  
    },
+
  level = 7,  
    ["power cap"] = 200,
+
  name = "Magnavolt",  
    range = {
+
  noise = {casting = 7, effect = 0},  
      max = 7,
+
  ["power cap"] = 200,  
      min = 7
+
  range = {max = 8, min = 8},
     },
+
  schools = {
     rarity = 6,
+
    Air = true,
     schools = {
+
    Earth = true,
      Conjuration = 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,
 
   },
 
   },
   ["Ozocubu's Armour"] = {
+
}
     books = {
+
m["Manifold Assault"] = {
      ["book of Frost"] = true
+
   books = {
     },
+
    ["book of Battle"] = true,
     description = "Envelops the caster's body in a protective layer of thick ice. This will slow the caster's movement slightly, and provides no special protection against cold. The spell will not function for casters already wearing heavy armour (any body armour with an encumbrance rating of 5 or more).",
+
    ["book of the Warp"] = true,
    flags = {
+
  },
      NO_GHOST = 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.
    },
+
 
    level = 3,
+
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.]=],
    name = "Ozocubu's Armour",
+
  flags = {
    noise = {
+
  },
      casting = 3,
+
  level = 7,
      effect = 0
+
  name = "Manifold Assault",
     },
+
  noise = {casting = 7, effect = 0},
     ["power cap"] = 100,
+
  ["power cap"] = 200,
     rarity = 4,
+
  schools = {
    schools = {
+
     Translocation = true,
      Charms = true,
+
  },
      Ice = 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,
 
   },
 
   },
  ["Ozocubu's Refrigeration"] = {
+
}
    books = {
+
m["Mercury Arrow"] = {
      ["book of Ice"] = true
+
  books = {
     },
+
    ["My Sojourn through Swampland"] = true,
    description = "Drains heat from the caster and their surroundings, causing harm to all creatures not resistant to cold and preventing the caster from using potions for a brief duration.",
+
     ["Young Poisoner's Handbook"] = true,
    flags = {
+
  },  
      AREA = 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.
     },
+
 
    level = 6,
+
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.]=],  
    name = "Ozocubu's Refrigeration",
+
  flags = {
    noise = {
+
    dir_or_target = true,
      casting = 5,
+
     needs_tracer = true,
      effect = 0
+
  },  
    },
+
  level = 2,  
    ["power cap"] = 200,
+
  name = "Mercury Arrow",  
     rarity = 10,
+
  noise = {casting = 2, effect = 0},  
    schools = {
+
  ["power cap"] = 50,
      Ice = 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,
 
   },
 
   },
  Pain = {
+
}
    books = {
+
m["Metabolic Englaciation"] = {
      ["book of Necromancy"] = true
+
  books = {
     },
+
    ["book of Sloth"] = true,
    description = "Inflicts an extremely painful injury upon one living creature. The caster suffers minor damage from the backlash.",
+
     ["book of Winter"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      MR_CHECK = true,
+
  flags = {
      NEEDS_TRACER = true
+
    area = true,
    },
+
  },  
    level = 1,
+
  level = 5,  
    name = "Pain",
+
  name = "Metabolic Englaciation",  
    noise = {
+
  noise = {casting = 5, effect = 0},  
      casting = 1,
+
  ["power cap"] = 200,  
      effect = 2
+
  schools = {
    },
+
     Hexes = true,  
    ["power cap"] = 25,
+
     Ice = true,
    range = {
 
      max = 5,
 
      min = 5
 
    },
 
     rarity = 3,
 
     schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Passage of Golubria"] = {
+
}
    books = {
+
m["Momentum Strike"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Spatial Translocations"] = true
+
    ["book of Spatial Translocations"] = true,
    },
+
  },  
    description = "Opens two gateways (one always near the caster), which allow instantaneous transport to random other open gateways to any creature entering them. There is no limit to the number of gateways that can be open at one time, but a gateway will close when entered, or after a moderate amount of time.",
+
  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 = {
      ESCAPE = true,
+
    not_self = true,  
      NEUTRAL = true,
+
    target = true,
      SELFENCH = true,
+
  },  
      TARGET = true
+
  level = 2,  
    },
+
  name = "Momentum Strike",  
    level = 4,
+
  noise = {casting = 2, effect = 0},  
    name = "Passage of Golubria",
+
  ["power cap"] = 50,  
    noise = {
+
  range = {max = 4, min = 4},  
      casting = 3,
+
  schools = {
      effect = 8
+
     Conjuration = true,  
    },
+
     Translocation = true,
    ["power cap"] = 0,
 
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
     rarity = 10,
 
     schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  Passwall = {
+
}
    books = {
+
m["Nazja's Percussive Tempering"] = {
      ["book of Burglary"] = true,
+
  books = {
      ["book of Geomancy"] = true
+
    ["book of Duality"] = true,  
    },
+
    ["book of Metalworking"] = 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 = "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.",  
      DIR = true,
+
  flags = {
      ESCAPE = true,
+
    destructive = true,  
      NOT_SELF = true,
+
    helpful = true,  
      UTILITY = true
+
    not_self = true,  
    },
+
    target = true,
    level = 2,
+
  },  
    name = "Passwall",
+
  level = 5,  
    noise = {
+
  name = "Nazja's Percussive Tempering",  
      casting = 0,
+
  noise = {casting = 5, effect = 0},  
      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.",  
    ["power cap"] = 200,
+
  range = {max = 8, min = 8},  
    quote = "“He says the best way out is always through.”\n    -Robert Frost, _A Servant to Servants_. 1915.",
+
  schools = {
    range = {
+
    Forgecraft = true,
      max = 7,
 
      min = 1
 
    },
 
    rarity = 4,
 
    schools = {
 
      Earth = true,
 
      Transmutation = true
 
    }
 
 
   },
 
   },
  Petrify = {
+
}
    books = {
+
m["Olgreb's Toxic Radiance"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Geomancy"] = true,
+
    ["Young Poisoner's Handbook"] = true,  
      ["book of Misfortune"] = true
+
    ["the Unrestrained Analects"] = 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.",
+
  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 = {
+
  flags = {
      DIR_OR_TARGET = true,
+
    area = true,  
      MR_CHECK = true,
+
    destructive = true,
      NEEDS_TRACER = true
+
  },  
    },
+
  level = 4,  
    level = 4,
+
  name = "Olgreb's Toxic Radiance",  
    name = "Petrify",
+
  noise = {casting = 4, effect = 0},  
    noise = {
+
  ["power cap"] = 100,  
      casting = 3,
+
  schools = {
      effect = 2
+
     Alchemy = true,
    },
 
    ["power cap"] = 50,
 
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    rarity = 1,
 
    schools = {
 
      Earth = true,
 
      Transmutation = true
 
    }
 
 
   },
 
   },
  ["Poison Arrow"] = {
+
}
    books = {
+
m["Orb of Destruction"] = {
      ["book of Annihilations"] = true
+
  books = {
     },
+
    ["book of Dangerous Friends"] = true,
    description = "Fires a magical arrow coated with the most vile and noxious toxin. Even those resistant to poison will be poisoned by it, and a small portion of its direct damage bypasses poison resistance.",
+
     ["book of the Spheres"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.
      NEEDS_TRACER = 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 = 6,
+
  flags = {
    name = "Poison Arrow",
+
    dir_or_target = true,  
    noise = {
+
    needs_tracer = true,
      casting = 6,
+
     not_self = true,
      effect = 2
+
  },  
    },
+
  level = 7,  
    ["power cap"] = 50,
+
  name = "Orb of Destruction",  
    range = {
+
  noise = {casting = 7, effect = 0},  
      max = 6,
+
  ["power cap"] = 200,  
      min = 6
+
  range = {max = 8, min = 8},  
    },
+
  schools = {
    rarity = -1,
+
    Conjuration = true,
    schools = {
 
      Conjuration = true,
 
      Poison = true
 
    }
 
 
   },
 
   },
  ["Poisonous Vapours"] = {
+
}
    books = {
+
m["Ozocubu's Armour"] = {
      ["Young Poisoner's Handbook"] = true,
+
  books = {
      ["book of Clouds"] = true
+
    ["book of Battle"] = true,  
    },
+
    ["book of Winter"] = true,
    description = "Turns the air around a targeted creature poisonous. Exceedingly little poison is created, generally just enough to poison the target before dispersing.",
+
  },  
    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.",  
      NOT_SELF = true,
+
  flags = {
      TARGET = true
+
    no_ghost = true,
    },
+
  },  
    level = 2,
+
  level = 3,  
    name = "Poisonous Vapours",
+
  name = "Ozocubu's Armour",  
    noise = {
+
  noise = {casting = 3, effect = 0},  
      casting = 2,
+
  ["power cap"] = 100,  
      effect = 4
+
  schools = {
    },
+
     Ice = true,
    ["power cap"] = 100,
 
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    rarity = 6,
 
     schools = {
 
      Air = true,
 
      Poison = true
 
    }
 
 
   },
 
   },
  ["Portal Projectile"] = {
+
}
    books = {
+
m["Ozocubu's Refrigeration"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of the Warp"] = true
+
    ["book of Ice"] = true,  
    },
+
    ["the Unrestrained Analects"] = true,
    description = "Allows the caster to teleport fired or thrown missiles directly to their targets for a short duration, spending an additional small amount of magic for each missile. Teleported projectiles have their accuracy greatly increased.",
+
  },  
    flags = {},
+
  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 = 3,
+
  flags = {
    name = "Portal Projectile",
+
    area = true,
    noise = {
+
    destructive = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 7,  
    },
+
  name = "Ozocubu's Refrigeration",  
    ["power cap"] = 50,
+
  noise = {casting = 7, effect = 0},  
    rarity = 10,
+
  ["power cap"] = 200,  
    schools = {
+
  schools = {
      Translocation = true,
+
    Ice = true,
      Hexes = true
 
    }
 
 
   },
 
   },
  Recall = {
+
}
    books = {
+
m["Passage of Golubria"] = {
      ["book of Summonings"] = true,
+
  books = {
      ["book of Unlife"] = true
+
    ["Great Wizards, Vol. VII"] = true,  
    },
+
    ["book of the Moon"] = true,
    description = "Recalls any friendly creatures on the same level to a position adjacent to the caster, over a short duration.",
+
  },  
    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.",  
      UTILITY = true
+
  flags = {
     },
+
    aim_at_space = true,
    level = 3,
+
    escape = true,
    name = "Recall",
+
    selfench = true,
    noise = {
+
     target = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 4,  
    },
+
  name = "Passage of Golubria",  
    ["power cap"] = 0,
+
  noise = {casting = 4, effect = 8},  
    rarity = 10,
+
  ["power cap"] = 100,  
    schools = {
+
  range = {max = 8, min = 2},  
      Summoning = true,
+
  schools = {
      Translocation = true
+
    Translocation = true,
    }
 
 
   },
 
   },
  Regeneration = {
+
}
    books = {
+
m["Passwall"] = {
      ["book of Battle"] = true,
+
  books = {
      ["book of Necromancy"] = true
+
    ["book of Burglary"] = true,  
    },
+
    ["book of Geomancy"] = true,
    description = "Reanimates parts of the caster's wounds. This unnatural act dramatically but temporarily increases the caster's health regeneration, while also speeding their metabolism.",
+
  },  
    flags = {
+
  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.",  
      SELFENCH = true,
+
  flags = {
      UTILITY = true
+
    escape = true,
     },
+
    not_self = true,
    level = 3,
+
    silent = true,  
    name = "Regeneration",
+
    target = true,
    noise = {
+
     utility = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 3,  
    },
+
  name = "Passwall",  
    ["power cap"] = 200,
+
  noise = {casting = 0, effect = 0},  
     rarity = 3,
+
  ["power cap"] = 100,  
    schools = {
+
  quote = [=[“He says the best way out is always through.”
      Charms = true,
+
     -Robert Frost, _A Servant to Servants_. 1915.]=],
      Necromancy = true
+
  range = {max = 3, min = 3},  
    }
+
  schools = {
 +
    Earth = true,
 
   },
 
   },
  ["Ring of Flames"] = {
+
}
    books = {
+
m["Permafrost Eruption"] = {
      ["book of Clouds"] = true,
+
  books = {
      ["book of Fire"] = true
+
    ["book of the Earth"] = true,  
    },
+
    ["book of the Tundra"] = true,
    description = "Surrounds the caster with a mobile ring of searing flame, and keeps other fire clouds away from the caster. This spell attunes the caster to the forces of fire, increasing the power of their fire magic and giving protection from fire. However, it also makes them much more susceptible to cold.",
+
  },  
    flags = {
+
  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.
      AREA = true
+
 
    },
+
It will always attempt to blast the largest concentration of foes in sight, and never explodes next to the caster.]=],  
    level = 7,
+
  flags = {
    name = "Ring of Flames",
+
    destructive = true,
    noise = {
+
  },  
      casting = 6,
+
  level = 6,  
      effect = 0
+
  name = "Permafrost Eruption",  
    },
+
  noise = {casting = 6, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 200,  
    rarity = 6,
+
  range = {max = 6, min = 6},  
    schools = {
+
  schools = {
      Charms = true,
+
    Earth = true,  
      Fire = true
+
    Ice = true,
    }
 
 
   },
 
   },
  Sandblast = {
+
}
    books = {
+
m["Petrify"] = {
      ["book of Geomancy"] = true
+
  books = {
     },
+
    ["book of Sloth"] = true,
    description = "Creates a short blast of high-velocity particles. It has increased power and range when the caster provides some source (by wielding a stone), but will still have some effect with no source wielded. Its damage is strongly reduced by armour.",
+
     ["book of Transmutation"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      NEEDS_TRACER = true,
+
  flags = {
      NOT_SELF = true
+
    WL_check = true,  
    },
+
    dir_or_target = true,  
    level = 1,
+
    needs_tracer = true,
    name = "Sandblast",
+
  },  
    noise = {
+
  level = 4,  
      casting = 1,
+
  name = "Petrify",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 50,
+
  quote = [=[“Any pose held too long calcifies.
     range = {
+
A belief believed too long becomes dogma.
      max = 2,
+
Any expression held long enough will harden into a mask.
      min = 2
+
And who is the _real_ us
    },
+
that hard exterior
     rarity = 4,
+
or the soft uncertain self we keep beneath?”
     schools = {
+
     -Dorothy Gambrell, _Cat and Girl_, 2011.]=],
      Earth = true
+
  range = {max = 6, min = 6},  
    }
+
  schools = {
 +
     Alchemy = true,  
 +
     Earth = true,
 
   },
 
   },
  ["Searing Ray"] = {
+
}
    books = {
+
m["Plasma Beam"] = {
      ["book of Conjurations"] = true
+
  books = {
     },
+
    ["book of Fire"] = true,
    description = "Fires a continuous ray of arcane energy from the caster's hands. Though initially mild, so long as the caster maintains focus upon the spell and supplies it with magical power (by waiting in place and not taking any other actions), the ray will grow in strength until it becomes a surging beam able to tear clean through the ranks of the caster's foes.",
+
     ["book of Lightning"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      NEEDS_TRACER = true
+
  flags = {
    },
+
    destructive = true,  
    level = 2,
+
    noisy = true,
    name = "Searing Ray",
+
  },  
    noise = {
+
  level = 6,  
      casting = 2,
+
  name = "Plasma Beam",  
      effect = 0
+
  noise = {casting = 6, effect = 20},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 50,
+
  range = {max = 8, min = 8},  
    range = {
+
  schools = {
      max = 4,
+
    Air = true,
      min = 4
+
     Fire = true,
    },
 
    rarity = 3,
 
    schools = {
 
      Conjuration = true
 
     }
 
 
   },
 
   },
  ["Shadow Creatures"] = {
+
}
    books = {
+
m["Platinum Paragon"] = {
      ["book of Dreams"] = true,
+
  books = {
      ["book of Summonings"] = true
+
    ["book of Weapons"] = true,
    },
+
  },  
    description = "Creates replicas of creatures native to the caster's current location, weaving them from shadows and threads of Abyssal matter.",
+
  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 = {
+
 
      MONS_ABJURE = 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.
     },
+
 
    level = 6,
+
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.]=],  
    name = "Shadow Creatures",
+
  flags = {
    noise = {
+
    not_self = true,
      casting = 4,
+
     target = true,
      effect = 0
+
  },  
    },
+
  level = 9,  
    ["power cap"] = 0,
+
  name = "Platinum Paragon",  
    rarity = 11,
+
  noise = {casting = 9, effect = 15},  
    schools = {
+
  ["power cap"] = 200,  
      Summoning = true
+
  range = {max = 3, min = 3},  
    },
+
  schools = {
    ["summons limit"] = 4
+
    Forgecraft = true,
 
   },
 
   },
  Shatter = {
+
}
    books = {
+
m["Poisonous Vapours"] = {
      ["book of the Earth"] = true,
+
  books = {
      ["book of the Tempests"] = true
+
    ["Young Poisoner's Handbook"] = true,  
    },
+
    ["book of Cantrips"] = true,
    description = "Causes an enormous burst of concussive force around the caster. Flying and gelatinous creatures can escape the worst effects, and insubstantial creatures are entirely unaffected, but all others will be gravely injured by the blast. It may also destroy nearby walls.",
+
  },  
    flags = {
+
  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.
      AREA = true
+
 
     },
+
It cannot affect those with any resistance to poison.]=],  
    level = 9,
+
  flags = {
    name = "Shatter",
+
    destructive = true,
    noise = {
+
    not_self = true,
      casting = 7,
+
     target = true,
      effect = 30
+
  },  
    },
+
  level = 1,  
    ["power cap"] = 200,
+
  name = "Poisonous Vapours",  
    quote = "“And it happened when the people heard the sound of the trumpet, and the people shouted with a great shout, that the wall fell down flat. Then the people went up into the city, every man straight before him, and they took the city. And they utterly destroyed all that was in the city, both man and woman, young and old, ox and sheep and donkey, with the edge of the sword.”\n    -KJV Bible, Joshua 6:20-21.",
+
  noise = {casting = 1, effect = 0},  
    rarity = 10,
+
  ["power cap"] = 25,  
    schools = {
+
  range = {max = 3, min = 3},  
      Earth = true
+
  schools = {
     }
+
    Air = true,
 +
     Alchemy = true,
 
   },
 
   },
  Shock = {
+
}
    books = {
+
m["Polar Vortex"] = {
      ["book of Air"] = true
+
  books = {
    },
+
    ["book of Ice"] = true,
    description = "Throws a bouncing bolt of electricity. It partially bypasses armour.",
+
  },  
    flags = {
+
  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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      NEEDS_TRACER = true
+
    area = true,  
    },
+
    destructive = true,
    level = 1,
+
  },  
    name = "Shock",
+
  level = 9,  
    noise = {
+
  name = "Polar Vortex",  
      casting = 1,
+
  noise = {casting = 9, effect = 15},  
      effect = 2
+
  ["power cap"] = 200,  
    },
+
  range = {max = 5, min = 5},  
    ["power cap"] = 25,
+
  schools = {
    range = {
+
    Ice = true,
      max = 7,
 
      min = 7
 
    },
 
    rarity = 4,
 
    schools = {
 
      Air = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Shroud of Golubria"] = {
+
}
    books = {
+
m["Rending Blade"] = {
      ["book of Battle"] = true,
+
  books = {
      ["book of Spatial Translocations"] = true
+
    ["book of Armaments"] = true,  
    },
+
    ["book of Weapons"] = true,
    description = "Bends space around the caster's body, protecting them from some blows by redirecting their force to the air nearby. Ranged attacks cannot be diverted in this way. The shroud is highly unstable, and may fall apart unexpectedly under stress.",
+
  },  
    flags = {
+
  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.
      SELFENCH = true
+
 
    },
+
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.]=],  
    level = 2,
+
  flags = {
    name = "Shroud of Golubria",
+
    utility = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 4,  
      effect = 0
+
  name = "Rending Blade",  
    },
+
  noise = {casting = 4, effect = 0},  
    ["power cap"] = 200,
+
  ["power cap"] = 100,  
    rarity = 5,
+
  schools = {
    schools = {
+
    Conjuration = true,  
      Charms = true,
+
    Forgecraft = true,
      Translocation = true
 
    }
 
 
   },
 
   },
  Silence = {
+
}
    books = {
+
m["Rimeblight"] = {
      ["book of Dreams"] = true,
+
  books = {
      ["book of Enchantments"] = true,
+
    ["book of Maladies"] = true,  
      ["book of the Sky"] = true
+
    ["book of Wicked Creation"] = 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.",
+
  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.
    flags = {
+
 
      AREA = 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.]=],  
     },
+
  flags = {
    level = 5,
+
    destructive = true,
    name = "Silence",
+
     dir_or_target = true,
    noise = {
+
    not_self = true,
      casting = 4,
+
    unclean = true,
      effect = 0
+
  },  
    },
+
  level = 7,  
    ["power cap"] = 200,
+
  name = "Rimeblight",  
    rarity = 7,
+
  noise = {casting = 7, effect = 0},  
    schools = {
+
  ["power cap"] = 200,  
      Air = true,
+
  range = {max = 5, min = 5},  
      Hexes = true
+
  schools = {
    }
+
    Ice = true,  
 +
    Necromancy = true,
 
   },
 
   },
  Simulacrum = {
+
}
    books = {
+
m["Sandblast"] = {
      ["book of Ice"] = true,
+
  books = {
      ["book of Unlife"] = true
+
    ["book of Geomancy"] = true,
    },
+
  },  
    description = "Creates an icy replica from the corpse of the original being. This magic is unstable, so eventually the replica will sublimate into a freezing cloud. Simulacra cannot leave the level they were created on.",
+
  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 = {
    level = 6,
+
    destructive = true,
    name = "Simulacrum",
+
    dir_or_target = true,
    noise = {
+
    needs_tracer = true,
      casting = 5,
+
    not_self = true,
      effect = 0
+
  },  
    },
+
  level = 1,  
    ["power cap"] = 200,
+
  name = "Sandblast",  
    rarity = 10,
+
  noise = {casting = 1, effect = 0},  
    schools = {
+
  ["power cap"] = 50,  
      Ice = true,
+
  range = {max = 4, min = 4},  
      Necromancy = true
+
  schools = {
    }
+
    Earth = true,
 
   },
 
   },
  Slow = {
+
}
    books = {
+
m["Scorch"] = {
      ["book of Debilitation"] = true,
+
  books = {
      ["book of Minor Magic"] = true
+
    ["book of Scorching"] = true,
    },
+
  },  
    description = "Slows the actions of a creature.",
+
  description = "Scorches a random foe. Those injured by this have their resistance to fire burned away for a short time.",  
    flags = {
+
  flags = {
      DIR_OR_TARGET = true,
+
    destructive = true,
      MR_CHECK = true,
+
  },  
      NEEDS_TRACER = true
+
  level = 2,  
    },
+
  name = "Scorch",  
    level = 2,
+
  noise = {casting = 2, effect = 8},  
    name = "Slow",
+
  ["power cap"] = 50,  
    noise = {
+
  range = {max = 3, min = 3},  
      casting = 2,
+
  schools = {
      effect = 2
+
    Fire = true,
    },
 
    ["power cap"] = 50,
 
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    rarity = 1,
 
    schools = {
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Song of Slaying"] = {
+
}
    books = {
+
m["Sculpt Simulacrum"] = {
      ["book of Battle"] = true
+
  books = {
     },
+
    ["book of Cryoformation"] = true,
    description = "Recites ancient verses of battle. Each non-summoned enemy the caster slays in combat during this recitation temporarily enhances their melee and ranged skills. The bonus only lasts for the duration of the song; casting this spell while already singing will start a new song, not extend an existing one.",
+
     ["book of Wicked Creation"] = true,
    flags = {
+
  },  
      UTILITY = 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.
     },
+
 
    level = 2,
+
The good gods frown on this spell, as it works blood and ichor into unnatural facsimiles.
    name = "Song of Slaying",
+
 
    noise = {
+
You can maintain up to 5 simulacra simultaneously.]=],  
      casting = 2,
+
  flags = {
      effect = 8
+
    dir_or_target = true,
    },
+
    needs_tracer = true,
    ["power cap"] = 100,
+
     not_self = true,
    rarity = 5,
+
    target = true,
    schools = {
+
    unholy = true,
      Charms = true
+
  },  
     }
+
  level = 6,  
 +
  name = "Sculpt Simulacrum",  
 +
  noise = {casting = 6, effect = 0},  
 +
  ["power cap"] = 200,  
 +
  range = {max = 1, min = 1},  
 +
  schools = {
 +
    Alchemy = true,
 +
     Ice = true,
 
   },
 
   },
  ["Spectral Weapon"] = {
+
}
    books = {
+
m["Searing Ray"] = {
      ["book of Battle"] = true
+
  books = {
    },
+
    ["book of Conjurations"] = true,
    description = "Draws out the spirit within a wielded weapon to fight for the caster, with its strength increasing with power. It only attacks when the caster does, and its kills count as the caster's own. If the weapon is damaged, part of the injury will be echoed on the caster's body. Only one spectral weapon can be maintained at a time, and only while the original weapon remains wielded.\n\nCertain powerful named artefacts cannot be affected, and any abilities that require evocation skill to trigger will not be active.",
+
  },  
    flags = {
+
  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.",  
      NO_GHOST = true,
+
  flags = {
      SELFENCH = true,
+
    dir_or_target = true,  
      UTILITY = true
+
    needs_tracer = true,
    },
+
  },  
    level = 3,
+
  level = 2,  
    name = "Spectral Weapon",
+
  name = "Searing Ray",  
    noise = {
+
  noise = {casting = 2, effect = 0},  
      casting = 3,
+
  ["power cap"] = 50,  
      effect = 0
+
  range = {max = 4, min = 4},  
    },
+
  schools = {
    ["power cap"] = 100,
+
    Conjuration = true,
    rarity = 5,
 
    schools = {
 
      Charms = true,
 
      Hexes = true
 
    }
 
 
   },
 
   },
  ["Spellforged Servitor"] = {
+
}
    books = {
+
m["Shatter"] = {
      ["book of Power"] = true
+
  books = {
    },
+
    ["book of Annihilations"] = true,
    description = "Summons an extraplanar elemental and binds it to a durable shell forged from the caster's own magic. The servitor is capable of unleashing some of the destructive spells known to its creator, though the strongest and most volatile of magics cannot be imbued in this fashion.",
+
  },  
    flags = {},
+
  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.",  
    level = 7,
+
  flags = {
    name = "Spellforged Servitor",
+
    area = true,
    noise = {
+
    destructive = true,
      casting = 6,
+
  },  
      effect = 0
+
  level = 9,  
    },
+
  name = "Shatter",  
    ["power cap"] = 200,
+
  noise = {casting = 9, effect = 30},  
    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\"",
+
  ["power cap"] = 200,  
     rarity = 6,
+
  quote = [=[“So the people shouted when the priests blew with the trumpets: and it came to
    schools = {
+
pass, when the people heard the sound of the trumpet, and the people shouted
      Conjuration = true,
+
with a great shout, that the wall fell down flat, so that the people went up
      Summoning = true
+
into the city, every man straight before him, and they took the city.
    },
+
 
    ["summons limit"] = 1
+
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,
 
   },
 
   },
  ["Spider Form"] = {
+
}
    books = {
+
m["Shock"] = {
      ["book of Changes"] = true
+
  books = {
    },
+
    ["book of Air"] = true,
    description = "Transforms the caster into a venomous, spider-like creature. The caster becomes highly evasive and gains a poisonous bite, but gains vulnerability to poison.\n\nWhile transformed, any equipped weapons and armour are melded, and casting spells becomes slightly more difficult.",
+
  },  
    flags = {
+
  description = "Throws a bouncing bolt of electricity. It bypasses half of defenders' armour.",  
      CHAOTIC = true,
+
  flags = {
      HELPFUL = true,
+
    dir_or_target = true,  
      UTILITY = true
+
    needs_tracer = true,
    },
+
  },  
    level = 3,
+
  level = 1,  
    name = "Spider Form",
+
  name = "Shock",  
    noise = {
+
  noise = {casting = 1, effect = 0},  
      casting = 2,
+
  ["power cap"] = 25,  
      effect = 0
+
  range = {max = 8, min = 8},  
    },
+
  schools = {
    ["power cap"] = 200,
+
    Air = true,  
    rarity = 2,
+
    Conjuration = true,
    schools = {
 
      Poison = true,
 
      Transmutation = true
 
    }
 
 
   },
 
   },
  ["Static Discharge"] = {
+
}
    books = {
+
m["Sigil of Binding"] = {
      ["book of Air"] = true,
+
  books = {
      ["book of the Tempests"] = true
+
    ["Treatise on Traps"] = true,  
    },
+
    ["book of the Hunter"] = 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 = [=[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.
      AREA = true
+
 
    },
+
Only one set of sigils can be maintained at a time, and they will expire prematurely if they leave your sight.]=],  
    level = 3,
+
  flags = {
    name = "Static Discharge",
+
  },  
    noise = {
+
  level = 3,  
      casting = 3,
+
  name = "Sigil of Binding",  
      effect = 0
+
  noise = {casting = 3, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 100,
+
  schools = {
    range = {
+
     Hexes = true,
      max = 1,
 
      min = 1
 
     },
 
    rarity = 4,
 
    schools = {
 
      Air = true,
 
      Conjuration = true
 
    }
 
 
   },
 
   },
  ["Statue Form"] = {
+
}
    books = {
+
m["Silence"] = {
      ["book of the Earth"] = true,
+
  books = {
      ["book of Transfigurations"] = true
+
    ["book of the Moon"] = true,  
    },
+
    ["book of the Senses"] = true,
    description = "Transforms the caster into a slow but extremely robust stone statue, capable of dealing powerful blows with weapons or bare fists. The caster's stone body is insulated from electricity and gains resistance to poison, rotting and negative energy.",
+
  },  
    flags = {
+
  description = [=[Eliminates all sound near the caster. This makes reading scrolls, casting spells, invoking divine abilities, or shouting impossible in the caster's vicinity.
      CHAOTIC = true,
+
 
      HELPFUL = true,
+
Certain monsters have innate magical or special abilities which will still be usable while silenced.
      UTILITY = true
+
 
    },
+
The effect starts out with a radius depending on power, which will then shrink, eventually covering only the caster, before it times out.]=],  
    level = 6,
+
  flags = {
    name = "Statue Form",
+
    area = true,  
    noise = {
+
    silent = true,
      casting = 5,
+
  },  
      effect = 0
+
  level = 5,  
    },
+
  name = "Silence",  
    ["power cap"] = 150,
+
  noise = {casting = 0, effect = 0},  
    rarity = 8,
+
  ["power cap"] = 200,  
    schools = {
+
  schools = {
      Earth = true,
+
    Air = true,  
      Transmutation = true
+
    Hexes = true,
    }
 
 
   },
 
   },
  ["Sticks to Snakes"] = {
+
}
    books = {
+
m["Slow"] = {
      ["book of Changes"] = true
+
  books = {
    },
+
    ["book of Debilitation"] = true,
    description = "Transforms a number of arrows in inventory into short-lived snakes, creating more dangerous snakes with higher power.",
+
  },  
    flags = {
+
  description = "Slows the actions of a creature.",  
      NO_GHOST = true
+
  flags = {
     },
+
    WL_check = true,
    level = 2,
+
    dir_or_target = true,
    name = "Sticks to Snakes",
+
     needs_tracer = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 1,  
      effect = 0
+
  name = "Slow",  
    },
+
  noise = {casting = 1, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 25,  
    rarity = 2,
+
  range = {max = 8, min = 8},  
    schools = {
+
  schools = {
      Transmutation = true
+
    Hexes = true,
    }
 
 
   },
 
   },
  ["Sticky Flame"] = {
+
}
    books = {
+
m["Soul Splinter"] = {
      ["book of Flames"] = true
+
  books = {
     },
+
    ["book of Necromancy"] = true,
    description = "Conjures a glob of sticky flame, covering an adjacent creature with liquid fire for a short time.",
+
     ["book of Unlife"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.
      NEEDS_TRACER = true
+
 
     },
+
Wisps created from more powerful souls have more damaging attacks, but are always fragile.]=],  
    level = 4,
+
  flags = {
    name = "Sticky Flame",
+
    WL_check = true,
    noise = {
+
    dir_or_target = true,  
      casting = 4,
+
    needs_tracer = true,
      effect = 2
+
     not_self = true,
    },
+
  },  
    ["power cap"] = 50,
+
  level = 1,  
    quote = "“Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life.”\n    -Terry Pratchett, “Jingo”. 1997.",
+
  name = "Soul Splinter",  
    range = {
+
  noise = {casting = 1, effect = 0},  
      max = 1,
+
  ["power cap"] = 25,  
      min = 1
+
  range = {max = 5, min = 5},  
    },
+
  schools = {
    rarity = 4,
+
    Necromancy = true,
    schools = {
 
      Conjuration = true,
 
      Fire = true
 
    }
 
 
   },
 
   },
  Sting = {
+
}
    books = {
+
m["Spellspark Servitor"] = {
      ["Young Poisoner's Handbook"] = true
+
  books = {
     },
+
    ["book of Dangerous Friends"] = true,
    description = "Fires a magical dart of poison.",
+
     ["book of Power"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.
      NEEDS_TRACER = true
+
 
    },
+
(While you know this spell, you may choose which of your eligible spells it will cast with the Imbue Servitor ability.)]=],  
    level = 1,
+
  flags = {
    name = "Sting",
+
  },  
    noise = {
+
  level = 7,  
      casting = 1,
+
  name = "Spellspark Servitor",  
      effect = 2
+
  noise = {casting = 7, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 25,
+
  quote = [=[“When you think
    range = {
+
Your toys have gone berserk
      max = 6,
+
It's an illusion
      min = 6
+
You cannot shirk”
     },
+
     -Siouxsie and the Banshees, “Spellbound”]=],  
    rarity = 5,
+
  schools = {
    schools = {
+
    Conjuration = true,  
      Conjuration = true,
+
    Forgecraft = true,
      Poison = true
 
    }
 
 
   },
 
   },
  ["Stone Arrow"] = {
+
}
    books = {
+
m["Sphinx Sisters"] = {
      ["book of Geomancy"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["book of Beasts"] = true,  
    },
+
    ["book of Misfortune"] = true,
    description = "Fires a sharp spine of rock.",
+
  },  
    flags = {
+
  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.
      DIR_OR_TARGET = true,
+
 
      NEEDS_TRACER = true
+
Spell power increases the sphinxes' durability and the power of their spells.]=],  
    },
+
  flags = {
    level = 3,
+
    mons_abjure = true,
    name = "Stone Arrow",
+
  },  
    noise = {
+
  level = 7,  
      casting = 3,
+
  name = "Sphinx Sisters",  
      effect = 2
+
  noise = {casting = 7, effect = 0},  
    },
+
  ["power cap"] = 200,  
    ["power cap"] = 50,
+
  schools = {
    range = {
+
     Hexes = true,  
      max = 4,
+
     Summoning = true,
      min = 4
 
     },
 
    rarity = 4,
 
     schools = {
 
      Conjuration = true,
 
      Earth = true
 
    }
 
 
   },
 
   },
  ["Sublimation of Blood"] = {
+
}
    books = {
+
m["Splinterfrost Shell"] = {
      ["book of Alchemy"] = true,
+
  books = {
      ["book of Death"] = true
+
    ["book of Cryoformation"] = true,  
    },
+
    ["book of Duality"] = 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 = [=[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.
      UTILITY = true
+
 
     },
+
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.
    level = 2,
+
 
    name = "Sublimation of Blood",
+
If the caster strays too far away from their barrier, it will melt rapidly.]=],  
    noise = {
+
  flags = {
      casting = 2,
+
    not_self = true,
      effect = 0
+
     target = true,
    },
+
  },  
    ["power cap"] = 200,
+
  level = 7,  
    rarity = 11,
+
  name = "Splinterfrost Shell",  
    schools = {
+
  noise = {casting = 7, effect = 0},  
      Necromancy = true
+
  ["power cap"] = 200,  
     }
+
  range = {max = 1, min = 1},  
 +
  schools = {
 +
    Forgecraft = true,
 +
     Ice = true,
 
   },
 
   },
  ["Summon Butterflies"] = {
+
}
    books = {
+
m["Starburst"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["book of Party Tricks"] = true
+
    ["book of Fire"] = true,  
    },
+
    ["book of Spectacle"] = true,
    description = "Creates a shower of colourful butterflies. How pretty!",
+
  },  
    flags = {},
+
  description = "Releases penetrating bolts of fire from the caster in every direction.",  
    level = 1,
+
  flags = {
    name = "Summon Butterflies",
+
    area = true,
    noise = {
+
  },  
      casting = 1,
+
  level = 6,  
      effect = 0
+
  name = "Starburst",  
    },
+
  noise = {casting = 6, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 200,  
    rarity = 7,
+
  range = {max = 5, min = 5},  
    schools = {
+
  schools = {
      Summoning = true
+
    Conjuration = true,  
    },
+
     Fire = true,
     ["summons limit"] = 8
 
 
   },
 
   },
  ["Summon Demon"] = {
+
}
    books = {
+
m["Static Discharge"] = {
      ["book of Summonings"] = true
+
  books = {
    },
+
    ["book of Storms"] = true,
    description = "Opens a gate to the realm of Pandemonium and draws forth one of its inhabitants to serve the caster for a time. The demon's servitude is not guaranteed, but will be more likely with high power.",
+
  },  
    flags = {
+
  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.",  
      MONS_ABJURE = true,
+
  flags = {
      SELFENCH = true,
+
    area = true,
      UNHOLY = true
+
  },  
    },
+
  level = 2,  
    level = 5,
+
  name = "Static Discharge",  
    name = "Summon Demon",
+
  noise = {casting = 2, effect = 0},  
    noise = {
+
  ["power cap"] = 50,  
      casting = 4,
+
  range = {max = 1, min = 1},  
      effect = 0
+
  schools = {
    },
+
    Air = true,  
    ["power cap"] = 200,
+
     Conjuration = true,
    quote = "“'Tis now the very witching time of night,\n When churchyards yawn and hell itself breathes out\n Contagion to this world.”\n    -William Shakespeare, _The Tragedy of Hamlet, Prince of Denmark_, III, 2.",
 
    rarity = 11,
 
    schools = {
 
      Summoning = true
 
    },
 
     ["summons limit"] = 3
 
 
   },
 
   },
  ["Summon Forest"] = {
+
}
    books = {
+
m["Sticky Flame"] = {
      ["book of Summonings"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["Everburning Encyclopedia"] = true,  
    },
+
    ["book of Flames"] = true,
    description = "Forcefully intersects a forested plane with this world. It requires open space to succeed. While the spell holds, a spirit of the forest will be called forth, and the trees of the forest will be awakened to deal damage to nearby enemies.",
+
  },  
    flags = {},
+
  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.
    level = 5,
+
 
    name = "Summon Forest",
+
If the target is insubstantial, the liquid fire will fail to stick.]=],  
    noise = {
+
  flags = {
      casting = 4,
+
    destructive = true,
      effect = 10
+
    dir_or_target = true,
    },
+
    needs_tracer = true,
    ["power cap"] = 200,
+
  },  
     rarity = 11,
+
  level = 4,  
    schools = {
+
  name = "Sticky Flame",  
      Summoning = true,
+
  noise = {casting = 4, effect = 0},  
      Translocation = true
+
  ["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,
 
   },
 
   },
  ["Summon Greater Demon"] = {
+
}
    books = {
+
m["Stone Arrow"] = {
      ["Grand Grimoire"] = true
+
  books = {
     },
+
    ["book of Armaments"] = true,
    description = "Calls forth one of the greater demons of Pandemonium to serve the caster. With high power, the summoned demon will be less likely to be initially hostile — but the strongest demons may eventually turn against their summoner regardless.",
+
     ["book of Geomancy"] = true,
    flags = {
+
  },  
      MONS_ABJURE = true,
+
  description = "Fires a sharp spine of rock.",  
      SELFENCH = true,
+
  flags = {
      UNHOLY = true
+
    dir_or_target = true,  
    },
+
    needs_tracer = true,
    level = 7,
+
  },  
    name = "Summon Greater Demon",
+
  level = 3,  
    noise = {
+
  name = "Stone Arrow",  
      casting = 6,
+
  noise = {casting = 3, effect = 0},  
      effect = 0
+
  ["power cap"] = 50,  
    },
+
  range = {max = 4, min = 4},  
    ["power cap"] = 200,
+
  schools = {
    rarity = -1,
+
    Conjuration = true,  
    schools = {
+
     Earth = true,
      Summoning = true
 
    },
 
     ["summons limit"] = 3
 
 
   },
 
   },
  ["Summon Guardian Golem"] = {
+
}
    books = {
+
m["Sublimation of Blood"] = {
      ["book of Callings"] = true
+
  books = {
     },
+
    ["book of Blood"] = 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.",
+
     ["book of Maladies"] = true,
    flags = {},
+
  },  
    level = 3,
+
  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.",  
    name = "Summon Guardian Golem",
+
  flags = {
    noise = {
+
    utility = true,
      casting = 3,
+
  },  
      effect = 0
+
  level = 2,  
    },
+
  name = "Sublimation of Blood",  
    ["power cap"] = 100,
+
  noise = {casting = 2, effect = 0},  
    rarity = 3,
+
  ["power cap"] = 100,  
    schools = {
+
  schools = {
      Hexes = true,
+
    Necromancy = true,
      Summoning = true
 
    },
 
    ["summons limit"] = 1
 
 
   },
 
   },
  ["Summon Horrible Things"] = {
+
}
    books = {
+
m["Summon Cactus Giant"] = {
      ["Grand Grimoire"] = true
+
  books = {
     },
+
    ["book of Scorching"] = 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.",
+
     ["book of the Wilderness"] = true,
    flags = {
+
  },  
      CHAOTIC = 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.",  
      MONS_ABJURE = true,
+
  flags = {
      UNHOLY = true
+
  },  
    },
+
  level = 6,  
    level = 8,
+
  name = "Summon Cactus Giant",  
    name = "Summon Horrible Things",
+
  noise = {casting = 6, effect = 0},  
    noise = {
+
  ["power cap"] = 200,  
      casting = 6,
+
  schools = {
      effect = 0
+
    Summoning = true,
    },
 
    ["power cap"] = 200,
 
    rarity = -1,
 
    schools = {
 
      Summoning = true
 
    },
 
    ["summons limit"] = 8
 
 
   },
 
   },
  ["Summon Hydra"] = {
+
}
    books = {
+
m["Summon Forest"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["Fen Folio"] = true
+
    ["Fen Folio"] = true,  
    },
+
    ["book of the Wilderness"] = true,
    description = "Summons a many-headed hydra to fight alongside the caster for a short time.",
+
  },  
    flags = {
+
  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.",  
      MONS_ABJURE = true
+
  flags = {
    },
+
  },  
    level = 7,
+
  level = 5,  
    name = "Summon Hydra",
+
  name = "Summon Forest",  
    noise = {
+
  noise = {casting = 5, effect = 10},  
      casting = 6,
+
  ["power cap"] = 200,  
      effect = 0
+
  schools = {
    },
+
    Summoning = true,  
    ["power cap"] = 200,
+
     Translocation = true,
    rarity = 8,
 
    schools = {
 
      Summoning = true
 
    },
 
     ["summons limit"] = 3
 
 
   },
 
   },
  ["Summon Ice Beast"] = {
+
}
    books = {
+
m["Summon Horrible Things"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["book of Callings"] = true,
+
    ["Grand Grimoire"] = true,
      ["book of Frost"] = 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.",  
    description = "Calls forth a beast of ice to serve the caster.",
+
  flags = {
    flags = {},
+
    chaotic = true,
    level = 4,
+
    mons_abjure = true,
    name = "Summon Ice Beast",
+
    unholy = true,
    noise = {
+
  },  
      casting = 3,
+
  level = 8,  
      effect = 0
+
  name = "Summon Horrible Things",  
    },
+
  noise = {casting = 8, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 200,  
    rarity = 3,
+
  schools = {
    schools = {
+
    Summoning = true,
      Ice = true,
 
      Summoning = true
 
    },
 
    ["summons limit"] = 3
 
 
   },
 
   },
  ["Summon Lightning Spire"] = {
+
}
    books = {
+
m["Summon Hydra"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of the Sky"] = true
+
    ["Fen Folio"] = true,  
    },
+
    ["book of Blood"] = true,
    description = "Constructs a lightning spire in a nearby location. It can fire bouncing bolts of electricity at the caster's foes, but is completely immobile.",
+
  },  
    flags = {},
+
  description = "Summons a many-headed hydra to fight alongside the caster for a short time. Spell power determines the number of heads.",  
    level = 4,
+
  flags = {
    name = "Summon Lightning Spire",
+
    mons_abjure = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 7,  
      effect = 0
+
  name = "Summon Hydra",  
    },
+
  noise = {casting = 7, effect = 0},  
    ["power cap"] = 100,
+
  ["power cap"] = 200,  
    range = {
+
  schools = {
      max = 2,
+
     Summoning = true,
      min = 2
 
    },
 
    rarity = 3,
 
     schools = {
 
      Air = true,
 
      Summoning = true
 
    },
 
    ["summons limit"] = 1
 
 
   },
 
   },
  ["Summon Mana Viper"] = {
+
}
    books = {
+
m["Summon Ice Beast"] = {
      ["book of Beasts"] = true,
+
  books = {
      ["book of Summonings"] = true
+
    ["book of Beasts"] = true,  
    },
+
    ["book of the Tundra"] = 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 = "Calls forth a beast of ice to serve the caster. The strength of the beast depends on spell power.",  
      MONS_ABJURE = true
+
  flags = {
    },
+
  },  
    level = 5,
+
  level = 3,  
    name = "Summon Mana Viper",
+
  name = "Summon Ice Beast",  
    noise = {
+
  noise = {casting = 3, effect = 0},  
      casting = 4,
+
  ["power cap"] = 100,  
      effect = 0
+
  schools = {
    },
+
    Ice = true,  
    ["power cap"] = 100,
+
    Summoning = true,
    rarity = 8,
 
    schools = {
 
      Hexes = true,
 
      Summoning = true
 
    },
 
    ["summons limit"] = 2
 
 
   },
 
   },
  ["Summon Small Mammal"] = {
+
}
    books = {
+
m["Summon Mana Viper"] = {
      ["book of Callings"] = true,
+
  books = {
      ["book of Cantrips"] = true
+
    ["book of Beasts"] = true,  
    },
+
    ["book of the Wilderness"] = true,
    description = "Summons a small mammal to the caster's aid.",
+
  },  
    flags = {},
+
  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.",  
    level = 1,
+
  flags = {
    name = "Summon Small Mammal",
+
    mons_abjure = true,
    noise = {
+
  },  
      casting = 1,
+
  level = 5,  
      effect = 0
+
  name = "Summon Mana Viper",  
    },
+
  noise = {casting = 5, effect = 0},  
    ["power cap"] = 25,
+
  ["power cap"] = 100,  
    rarity = 1,
+
  schools = {
    schools = {
+
    Hexes = true,  
      Summoning = true
+
     Summoning = true,
    },
 
     ["summons limit"] = 4
 
 
   },
 
   },
  Swiftness = {
+
}
    books = {
+
m["Summon Seismosaurus Egg"] = {
      ["book of Air"] = true,
+
  books = {
      ["book of Burglary"] = true
+
    ["book of Beasts"] = true,  
    },
+
    ["book of the Wilderness"] = 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 = [=[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.
      HASTY = true,
+
 
      SELFENCH = true,
+
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.
      UTILITY = true
+
 
    },
+
Spell power increases the egg's durability and the strength of the seismosaur within, but not the time it takes to hatch.]=],  
    level = 2,
+
  flags = {
    name = "Swiftness",
+
  },  
    noise = {
+
  level = 4,  
      casting = 2,
+
  name = "Summon Seismosaurus Egg",  
      effect = 0
+
  noise = {casting = 4, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["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.
    rarity = 4,
+
 
    schools = {
+
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.]=],  
      Air = true,
+
  schools = {
      Charms = true
+
    Earth = true,  
    }
+
    Summoning = true,
 
   },
 
   },
  ["Teleport Other"] = {
+
}
    books = {
+
m["Summon Small Mammal"] = {
      ["book of Spatial Translocations"] = true
+
  books = {
    },
+
    ["book of Callings"] = true,  
     description = "Randomly translocates a targeted creature.",
+
     ["book of Cantrips"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = true,
+
  description = "Summons a rat, bat, or quokka to the caster's aid. Spell power increases the chance of summoning a quokka.",  
      EMERGENCY = true,
+
  flags = {
      ESCAPE = true,
+
  },  
      MR_CHECK = true,
+
  level = 1,  
      NEEDS_TRACER = true,
+
  name = "Summon Small Mammal",  
      NOT_SELF = true
+
  noise = {casting = 1, effect = 0},  
    },
+
  ["power cap"] = 25,  
    level = 3,
+
  schools = {
    name = "Teleport Other",
+
     Summoning = true,
    noise = {
 
      casting = 3,
 
      effect = 2
 
    },
 
    ["power cap"] = 50,
 
    range = {
 
      max = 7,
 
      min = 7
 
     },
 
    rarity = 10,
 
    schools = {
 
      Translocation = true
 
    }
 
 
   },
 
   },
  ["Throw Flame"] = {
+
}
    books = {
+
m["Swiftness"] = {
      ["book of Flames"] = true
+
  books = {
     },
+
    ["book of Air"] = true,
    description = "Throws a small puff of flame.",
+
     ["book of Burglary"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      NEEDS_TRACER = true
+
  flags = {
     },
+
    hasty = true,  
    level = 2,
+
    selfench = true,
    name = "Throw Flame",
+
     utility = true,
    noise = {
+
  },  
      casting = 2,
+
  level = 3,  
      effect = 2
+
  name = "Swiftness",  
    },
+
  noise = {casting = 3, effect = 0},  
    ["power cap"] = 50,
+
  ["power cap"] = 100,  
    range = {
+
  quote = [=[“JUST WALK OUT
      max = 7,
+
you can leave!!!
      min = 7
+
  work
    },
+
  social thing
    rarity = 4,
+
  movies
    schools = {
+
  home
      Conjuration = true,
+
  class
      Fire = true
+
  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,
 
   },
 
   },
  ["Throw Frost"] = {
+
}
    books = {
+
m["Teleport Other"] = {
      ["book of Frost"] = true
+
  books = {
    },
+
    ["There-And-Back Book"] = true,
    description = "Throws a small puff of frost.",
+
    ["book of Displacement"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = true,
+
  description = "Attempts to teleport a targeted creature out of the caster's sight, after a short delay.",  
      NEEDS_TRACER = true
+
  flags = {
     },
+
    WL_check = true,  
    level = 2,
+
    escape = true,
    name = "Throw Frost",
+
    not_self = true,
    noise = {
+
     target = true,
      casting = 2,
+
  },  
      effect = 2
+
  level = 3,  
    },
+
  name = "Teleport Other",  
    ["power cap"] = 50,
+
  noise = {casting = 3, effect = 0},  
    range = {
+
  ["power cap"] = 100,  
      max = 6,
+
  range = {max = 8, min = 8},  
      min = 6
+
  schools = {
    },
+
    Translocation = true,
    rarity = 4,
 
    schools = {
 
      Conjuration = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  ["Throw Icicle"] = {
+
}
    books = {
+
m["Tukima's Dance"] = {
      ["book of Frost"] = true
+
  books = {
    },
+
    ["Great Wizards, Vol. VII"] = true,
    description = "Fires a shard of ice. Due to its strong impact and cutting edges, a significant portion of its damage bypasses cold resistance.",
+
    ["book of Weapons"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.
      NEEDS_TRACER = true
+
 
     },
+
Certain powerful named artefacts cannot be animated, and any properties that require skill in evocations will not be active.]=],  
    level = 4,
+
  flags = {
    name = "Throw Icicle",
+
    WL_check = true,  
    noise = {
+
    dir_or_target = true,
      casting = 4,
+
     needs_tracer = true,
      effect = 2
+
    not_self = true,
    },
+
  },  
    ["power cap"] = 50,
+
  level = 3,  
    range = {
+
  name = "Tukima's Dance",  
      max = 5,
+
  noise = {casting = 3, effect = 0},  
      min = 5
+
  ["power cap"] = 100,  
    },
+
  range = {max = 8, min = 8},  
    rarity = 4,
+
  schools = {
    schools = {
+
    Hexes = true,
      Conjuration = true,
 
      Ice = true
 
    }
 
 
   },
 
   },
  Tornado = {
+
}
    books = {
+
m["Vampiric Draining"] = {
      ["book of the Sky"] = true,
+
  books = {
      ["book of the Tempests"] = true
+
    ["book of Duality"] = true,  
    },
+
    ["book of Necromancy"] = true,
    description = "Turns the air around the caster into a mighty vortex, doing tremendous damage to everyone caught in it. Those affected will also be swept up into the air and tossed around. Only the eye of the storm is a safe place, and it follows the caster. The spell's effectiveness is greatly diminished in closed areas.",
+
  },  
    flags = {
+
  description = "Steals the life of an adjacent living creature and grants it to the caster.",  
      AREA = true
+
  flags = {
     },
+
    dir_or_target = true,
    level = 9,
+
     not_self = true,
    name = "Tornado",
+
  },  
    noise = {
+
  level = 3,  
      casting = 5,
+
  name = "Vampiric Draining",  
      effect = 15
+
  noise = {casting = 3, effect = 0},  
    },
+
  ["power cap"] = 100,  
    ["power cap"] = 200,
+
  range = {max = 1, min = 1},  
    range = {
+
  schools = {
      max = 5,
+
    Necromancy = true,
      min = 5
 
    },
 
    rarity = 10,
 
    schools = {
 
      Air = true
 
    }
 
 
   },
 
   },
  ["Tukima's Dance"] = {
+
}
    books = {
+
m["Vhi's Electric Charge"] = {
      ["book of Maledictions"] = true,
+
  books = {
      ["book of Party Tricks"] = true
+
    ["book of Lightning"] = true,  
    },
+
    ["book of Movement"] = true,
    description = "Animates the weapon of a targeted foe, ripping it from their hands and causing it to attack them relentlessly. Once the target dies, the weapon will fall to the ground shortly thereafter.\n\nRanged weapons and certain powerful named artefacts cannot be affected, and any abilities that require evocation skill to trigger will not be active.",
+
  },  
    flags = {
+
  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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      MR_CHECK = true,
+
    dir_or_target = true,  
      NEEDS_TRACER = true,
+
    noisy = true,
      NOT_SELF = true
+
  },  
    },
+
  level = 4,  
    level = 3,
+
  name = "Vhi's Electric Charge",  
    name = "Tukima's Dance",
+
  noise = {casting = 4, effect = 0},  
    noise = {
+
  ["power cap"] = 50,  
      casting = 3,
+
  range = {max = 4, min = 4},  
      effect = 2
+
  schools = {
    },
+
    Air = true,
    ["power cap"] = 50,
+
     Translocation = true,
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    rarity = 2,
 
    schools = {
 
      Hexes = true
 
     }
 
 
   },
 
   },
  ["Vampiric Draining"] = {
+
}
    books = {
+
m["Volatile Blastmotes"] = {
      ["book of Necromancy"] = true
+
  books = {
     },
+
    ["book of Blasting"] = true,
    description = "Steals the life of an adjacent living creature and grants it to the caster. Life will not be drained in excess of what the caster can capably absorb.",
+
     ["book of Movement"] = true,
    flags = {
+
  },  
      DIR_OR_TARGET = 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.",  
      EMERGENCY = true,
+
  flags = {
      NOT_SELF = true,
+
    destructive = true,
      SELFENCH = true
+
  },  
    },
+
  level = 3,  
    level = 3,
+
  name = "Volatile Blastmotes",  
    name = "Vampiric Draining",
+
  noise = {casting = 3, effect = 0},  
    noise = {
+
  ["power cap"] = 50,  
      casting = 3,
+
  schools = {
      effect = 0
+
     Fire = true,  
    },
+
     Translocation = true,
    ["power cap"] = 200,
 
    range = {
 
      max = 1,
 
      min = 1
 
    },
 
     rarity = 3,
 
     schools = {
 
      Necromancy = true
 
    }
 
 
   },
 
   },
  ["Venom Bolt"] = {
+
}
    books = {
+
m["Yara's Violent Unravelling"] = {
      ["book of Power"] = true,
+
  books = {
      ["Young Poisoner's Handbook"] = true
+
    ["Great Wizards, Vol. VII"] = true,  
    },
+
    ["book of Misfortune"] = true,
    description = "Fires a penetrating bolt of poison.",
+
  },  
    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.",  
      DIR_OR_TARGET = true,
+
  flags = {
      NEEDS_TRACER = true
+
    chaotic = true,
     },
+
    destructive = true,  
    level = 5,
+
    no_ghost = true,
    name = "Venom Bolt",
+
     target = true,
    noise = {
+
  },  
      casting = 5,
+
  level = 5,  
      effect = 2
+
  name = "Yara's Violent Unravelling",  
    },
+
  noise = {casting = 5, effect = 15},  
    ["power cap"] = 50,
+
  ["power cap"] = 200,  
    range = {
+
  range = {max = 8, min = 8},  
      max = 5,
+
  schools = {
      min = 5
+
    Alchemy = true,  
    },
+
    Hexes = true,
    rarity = 5,
 
    schools = {
 
      Conjuration = true,
 
      Poison = true
 
    }
 
 
   },
 
   },
  ["Yara's Violent Unravelling"] = {
 
    books = {
 
      ["book of Enchantments"] = true,
 
      ["book of Misfortune"] = true
 
    },
 
    description = "Tears apart the bonds that bind enchantments to the target creature, transforming the magic into a spray of deadly, mutagenic radiation.",
 
    flags = {
 
      CHAOTIC = true,
 
      DIR_OR_TARGET = true,
 
      NEEDS_TRACER = true,
 
      NO_GHOST = true
 
    },
 
    level = 5,
 
    name = "Yara's Violent Unravelling",
 
    noise = {
 
      casting = 5,
 
      effect = 15
 
    },
 
    ["power cap"] = 50,
 
    range = {
 
      max = 7,
 
      min = 7
 
    },
 
    rarity = 1,
 
    schools = {
 
      Hexes = true,
 
      Transmutation = true
 
    }
 
  }
 
 
}
 
}
 +
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