class Feeblemind(Spell): name = "Feeblemind" class_level_map = { classes.MagicUser: 5, } duration = Permanent() range = SpellRange(base_range=units.Feet(180))
class ConjureElemental(Spell): name = "Conjure Elemental" class_level_map = { classes.MagicUser: 5, } duration = Special() range = SpellRange(base_range=units.Feet(240))
class Clairvoyance(Spell): name = "Blade Barrier" class_level_map = { classes.MagicUser: 3, } duration = SpellDuration(duration_per_level=units.GameTurn(12)) range = SpellRange(base_range=units.Feet(60))
class FindTraps(Spell): name = "Find Traps" class_level_map = { classes.Cleric: 2, } duration = SpellDuration(base_duration=units.GameTurn(3)) range = SpellRange(units.Feet(30))
class DetectInvisible(Spell): name = "Detect Invisible" class_level_map = { classes.MagicUser: 2, } duration = SpellDuration(duration_per_level=units.CombatRound(1)) range = SpellRange(base_range=units.Feet(60))
class Disintegrate(Spell): name = "Disintegrate" class_level_map = { classes.MagicUser: 6, } duration = Instantaneous() range = SpellRange(base_range=units.Feet(60))
class CharmPerson(Spell): name = "Charm Person" class_level_map = { classes.MagicUser: 1, } duration = Special() range = SpellRange(base_range=units.Feet(30))
class DimensionDoor(Spell): name = "Dimension Door" class_level_map = { classes.MagicUser: 4, } duration = Instantaneous() range = SpellRange(base_range=units.Feet(10))
class CharmMonster(Spell): name = "Charm Monster" class_level_map = { classes.MagicUser: 4, } duration = Special() range = SpellRange(base_range=units.Feet(30))
class CreateFood(Spell): name = "Create Food" class_level_map = { classes.Cleric: 5, } duration = Permanent() range = SpellRange(base_range=units.Feet(10))
class DeathSpell(Spell): name = "Death Spell" class_level_map = { classes.MagicUser: 6, } duration = Instantaneous range = SpellRange(units.Feet(240))
class ESP(Spell): name = "ESP" class_level_map = { classes.MagicUser: 2, } duration = SpellDuration(duration_per_level=units.GameTurn(1)) range = SpellRange(base_range=units.Feet(60))
class BladeBarrier(Spell): name = "Blade Barrier" class_level_map = { classes.Cleric: 6, } duration = SpellDuration(duration_per_level=units.CombatRound(1)) range = SpellRange(base_range=units.Feet(90))
class CharmAnimal(Spell): name = "Charm Animal" class_level_map = { classes.Cleric: 2, } duration = SpellDuration(base_duration=dice.D4(1), duration_per_level=units.CombatRound(1)) range = SpellRange(base_range=units.Feet(60))
class CloudKill(Spell): name = "Cloudkill" class_level_map = { classes.MagicUser: 5, } duration = SpellDuration(duration_per_level=units.CombatRound(6)) range = SpellRange(base_range=units.Feet(100), range_per_level=units.Feet(10))
class GrowthOfAnimals(Spell): name = "Growth of Animals" class_level_map = { classes.Cleric: 3, } duration = SpellDuration(duration_per_level=units.GameTurn(1)) range = SpellRange(base_range=units.Feet(60), range_per_level=units.Feet(10))
class Geas(Spell): name = "Geas" class_level_map = { classes.MagicUser: 6, } duration = Special() range = SpellRange(units.Feet(5)) reverse_spell = ReverseGeas
class FloatingDisc(Spell): name = "Floating Disc" class_level_map = { classes.MagicUser: 1, } duration = SpellDuration(base_duration=units.GameTurn(5), duration_per_level=units.GameTurn(1)) range = SpellRange(units.Feet(0))
class DispelMagic(Spell): name = "Dispel Magic" class_level_map = { classes.MagicUser: 3, classes.Cleric: 4, } duration = Instantaneous() range = SpellRange(units.Feet(120))
class FleshToStone(Spell): name = "Flesh to Stone" class_level_map = { classes.MagicUser: 6, } duration = Permanent() range = SpellRange(range_per_level=units.Feet(30)) reverse_spell = StoneToFlesh
class DetectMagic(Spell): name = "Detect Magic" class_level_map = { classes.Cleric: 1, classes.MagicUser: 2, } duration = SpellDuration(base_duration=units.GameTurn(2)) range = SpellRange(base_range=units.Feet(60))
class Fireball(Spell): name = "Fireball" class_level_map = { classes.MagicUser: 3, } duration = Instantaneous() range = SpellRange(base_range=units.Feet(100), range_per_level=units.Feet(10))
class AnimateObjects(Spell): name = "Animate Objects" class_level_map = { classes.Cleric: 6, } duration = SpellDuration(duration_per_level=units.CombatRound(1)) range = SpellRange(base_range=units.Feet(100), range_per_level=units.Feet(10))
class ContinualLight(Spell): name = "Continual Light" class_level_map = { classes.Cleric: 3, classes.MagicUser: 2, } duration = SpellDuration(duration_per_level=units.Year(1)) range = SpellRange(base_range=units.Feet(360)) reverse_spell = ContinualDarkness
class Confusion(Spell): name = "Confusion" class_level_map = { classes.MagicUser: 4, } duration = SpellDuration( base_duration=units.CombatRound(2), duration_per_level=units.CombatRound(1) ) range = SpellRange(base_range=units.Feet(360))