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))
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 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 DispelEvil(Spell): name = "Dispel Evil" class_level_map = { classes.Cleric: 5, } duration = SpellDuration(duration_per_level=units.CombatRound(1)) range = Touch()
class Commune(Spell): name = "Commune" class_level_map = { classes.Cleric: 5, } duration = SpellDuration(duration_per_level=units.CombatRound(1)) range = Self()
class AntiMagicShell(Spell): name = "Anti-Magic Shell" class_level_map = { classes.MagicUser: 6, } duration = SpellDuration(duration_per_level=units.CombatRound(1)) range = SpellRadius(base_radius=units.Feet(10))
class PotionOfHealing(Potion): name = "Potion of Healing" effect = effects.Healing(units.CombatRound(0), dice.D6(1, 1)) price = None size = Size.Small weight = units.Pound(0.5)
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))
def execute(cls, character, target_selection=None): """ Set yourself on fire! Whoosh! """ for target in target_selection: effector = target.effects if effector: effector.add_effect(Burning(units.CombatRound(4)))
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))