[
  {
    "id": "blood_suck",
    "type": "SPELL",
    "name": { "str": "Blood Suck", "//~": "NO_I18N" },
    "description": { "str": "Sucks blood from one foe.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "flags": [ "NO_HANDS", "NO_LEGS" ],
    "damage_type": "stab",
    "min_damage": 5,
    "max_damage": 10,
    "damage_increment": 1.0,
    "max_level": 5,
    "min_range": 1,
    "max_range": 2,
    "range_increment": 0.2,
    "effect": "attack",
    "shape": "blast",
    "extra_effects": [ { "id": "light_healing", "hit_self": true } ]
  },
  {
    "id": "bear_trap",
    "type": "SPELL",
    "name": { "str": "Bear Trap", "//~": "NO_I18N" },
    "description": { "str": "A trap that summons bears!  Not what you were expecting, is it?", "//~": "NO_I18N" },
    "valid_targets": [ "ground" ],
    "flags": [ "HOSTILE_SUMMON", "LOUD", "NO_PROJECTILE" ],
    "min_damage": 3,
    "max_damage": 3,
    "min_aoe": 5,
    "max_aoe": 5,
    "sound_description": "\"It's a trap!\"",
    "min_duration": 30000,
    "max_duration": 30000,
    "sound_type": "speech",
    "shape": "blast",
    "effect": "summon",
    "effect_str": "mon_bear"
  },
  {
    "id": "forge_trap",
    "type": "SPELL",
    "name": { "str": "Forge Trap", "//~": "NO_I18N" },
    "description": { "str": "A trap that summons forge hounds!  Not what you were expecting, is it?", "//~": "NO_I18N" },
    "valid_targets": [ "ground" ],
    "flags": [ "HOSTILE_SUMMON", "LOUD", "NO_PROJECTILE" ],
    "min_damage": 3,
    "max_damage": 3,
    "min_aoe": 5,
    "max_aoe": 5,
    "sound_description": "\"It's a trap!\"",
    "min_duration": 30000,
    "max_duration": 30000,
    "sound_type": "speech",
    "shape": "blast",
    "effect": "summon",
    "effect_str": "mon_forgehounds"
  },
  {
    "id": "rocket_punch",
    "type": "SPELL",
    "name": { "str": "Rocket Punch", "//~": "NO_I18N" },
    "description": { "str": "Ejects giant fist from arm.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "flags": [ "NO_LEGS" ],
    "damage_type": "bash",
    "min_damage": 30,
    "max_damage": 40,
    "damage_increment": 2.0,
    "max_level": 5,
    "min_range": 1,
    "max_range": 2,
    "range_increment": 0.2,
    "shape": "blast",
    "effect": "attack"
  },
  {
    "id": "summon_vengeance",
    "type": "SPELL",
    "name": { "str": "Spirits of Vengeance", "//~": "NO_I18N" },
    "description": { "str": "Summons spirits of vengeance.", "//~": "NO_I18N" },
    "valid_targets": [ "ground" ],
    "flags": [ "HOSTILE_SUMMON", "PERMANENT" ],
    "effect": "summon",
    "effect_str": "mon_spirit_vengeance",
    "shape": "blast",
    "max_level": 1,
    "base_casting_time": 10,
    "min_range": 20,
    "max_range": 20,
    "min_damage": 3,
    "max_damage": 3,
    "min_aoe": 6,
    "max_aoe": 6
  },
  {
    "type": "SPELL",
    "id": "teleport_charge",
    "name": { "str": "Teleport Charge", "//~": "NO_I18N" },
    "description": { "str": "Edit all this tomorrow.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile", "ground" ],
    "flags": [ "IGNORE_WALLS" ],
    "effect": "dash",
    "effect_str": "downed",
    "shape": "cone",
    "min_damage": 0,
    "max_damage": 35,
    "damage_increment": 10,
    "damage_type": "bash",
    "min_range": 8,
    "max_range": 8
  },
  {
    "id": "prank",
    "type": "SPELL",
    "name": { "str": "Leprechaun Prank", "//~": "NO_I18N" },
    "description": { "str": "Pranks the PC.  Gag humor.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "flags": [ "NO_LEGS" ],
    "max_level": 5,
    "min_range": 1,
    "max_range": 5,
    "range_increment": 1,
    "shape": "blast",
    "effect": "vomit"
  },
  {
    "id": "gas_attack",
    "type": "SPELL",
    "name": { "str": "Gas Attack", "//~": "NO_I18N" },
    "description": { "str": "Spreads toxic gas around itself.", "//~": "NO_I18N" },
    "valid_targets": [ "self", "hostile", "ground" ],
    "flags": [ "NO_HANDS", "NO_LEGS", "NO_PROJECTILE" ],
    "damage_type": "biological",
    "min_damage": 1,
    "max_damage": 1,
    "max_level": 5,
    "min_range": 1,
    "max_range": 3,
    "range_increment": 0.2,
    "effect": "attack",
    "shape": "blast",
    "field_id": "fd_toxic_gas",
    "field_chance": 10,
    "min_field_intensity": 1,
    "max_field_intensity": 1,
    "min_duration": 1000,
    "max_duration": 6000,
    "duration_increment": 1000,
    "min_aoe": 1,
    "max_aoe": 2,
    "aoe_increment": 0.2
  },
  {
    "type": "SPELL",
    "id": "mon_demon_fireball",
    "name": { "str": "Demon Fireball", "//~": "NO_I18N" },
    "description": { "str": "This is a monster only spell.", "//~": "NO_I18N" },
    "flags": [ "IGNITE_FLAMMABLE", "SPLIT_DAMAGE", "RANDOM_DAMAGE" ],
    "valid_targets": [ "hostile", "ground", "ally", "self" ],
    "min_damage": 45,
    "max_damage": 90,
    "min_range": 12,
    "max_range": 12,
    "min_aoe": 2,
    "max_aoe": 2,
    "base_casting_time": 120,
    "effect": "attack",
    "shape": "blast",
    "damage_type": "heat"
  },
  {
    "type": "SPELL",
    "id": "mon_summon_demon_spiderlings",
    "name": { "str": "Summon Demon Spiderlings", "//~": "NO_I18N" },
    "description": { "str": "Summons 4 permanent demon spiderlings.", "//~": "NO_I18N" },
    "flags": [ "HOSTILE_SUMMON", "PERMANENT", "NO_PROJECTILE" ],
    "valid_targets": [ "ground" ],
    "min_damage": 4,
    "max_damage": 4,
    "min_range": 5,
    "max_range": 5,
    "min_aoe": 3,
    "max_aoe": 3,
    "base_casting_time": 160,
    "shape": "blast",
    "effect": "summon",
    "effect_str": "mon_demon_spiderling"
  },
  {
    "id": "burning_hands_monster",
    "type": "SPELL",
    "name": { "str": "Burning Hands Monster", "//~": "NO_I18N" },
    "description": { "str": "Burning hands, if you're a monster.", "//~": "NO_I18N" },
    "effect": "attack",
    "shape": "cone",
    "valid_targets": [ "ally", "hostile", "ground" ],
    "flags": [ "EVOCATION_SPELL", "RANDOM_DAMAGE", "SOMATIC", "VERBAL", "IGNITE_FLAMMABLE", "NO_HANDS", "SPLIT_DAMAGE" ],
    "extra_effects": [ { "id": "eoc_evocation_setup", "hit_self": true } ],
    "max_level": 20,
    "min_damage": 30,
    "max_damage": 60,
    "min_range": 3,
    "max_range": 5,
    "range_increment": 0.25,
    "min_aoe": 25,
    "max_aoe": 60,
    "aoe_increment": 5.0,
    "damage_type": "heat"
  },
  {
    "type": "SPELL",
    "id": "demon_spider_fire_heal",
    "name": { "str": "Demon Spider Heal", "//~": "NO_I18N" },
    "description": { "str": "Drinks in flame and heals the demon spider.", "//~": "NO_I18N" },
    "flags": [ "SILENT", "NO_PROJECTILE", "RANDOM_DAMAGE", "RANDOM_DURATION" ],
    "valid_targets": [ "self" ],
    "shape": "blast",
    "effect": "attack",
    "effect_str": "effect_demon_spider_speed",
    "extra_effects": [ { "id": "demon_spider_flame_drinking" } ],
    "min_damage": -15,
    "max_damage": -80,
    "min_duration": 300,
    "max_duration": 800
  },
  {
    "type": "SPELL",
    "id": "demon_spider_queen_fire_heal",
    "name": { "str": "Demon Spider Queen Heal", "//~": "NO_I18N" },
    "description": { "str": "Drinks in flame and heals the demon spider queen, as well as boosting her speed", "//~": "NO_I18N" },
    "flags": [ "SILENT", "NO_PROJECTILE", "RANDOM_DAMAGE", "RANDOM_DURATION" ],
    "valid_targets": [ "self" ],
    "shape": "blast",
    "effect": "attack",
    "effect_str": "effect_demon_spider_speed",
    "extra_effects": [ { "id": "demon_spider_flame_drinking" } ],
    "min_damage": -25,
    "max_damage": -150,
    "min_duration": 300,
    "max_duration": 800
  },
  {
    "type": "SPELL",
    "id": "demon_spider_flame_drinking",
    "name": { "str": "Demon Spider Flame Drinking", "//~": "NO_I18N" },
    "description": { "str": "Removes the flame field on the tile the demon spider is standing on.", "//~": "NO_I18N" },
    "flags": [ "SILENT" ],
    "valid_targets": [ "ground" ],
    "shape": "blast",
    "effect": "ter_transform",
    "effect_str": "ter_kelvinist_extinguish_transform"
  },
  {
    "type": "SPELL",
    "id": "demon_breath_fire",
    "name": { "str": "Hellfire Belch", "//~": "NO_I18N" },
    "description": { "str": "Spits supernatural napalm from your mouth.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile", "ally", "ground" ],
    "damage_type": "heat",
    "max_level": 30,
    "min_damage": 6,
    "max_damage": 180,
    "damage_increment": 6.0,
    "min_range": 8,
    "max_range": 12,
    "range_increment": 0.1,
    "effect": "attack",
    "shape": "line",
    "flags": [ "VERBAL", "NO_HANDS", "NO_LEGS", "SPLIT_DAMAGE" ]
  },
  {
    "id": "shambling_aoe",
    "type": "SPELL",
    "name": { "str": "Shambling attack", "//~": "NO_I18N" },
    "description": { "str": "Devastating AoE attack.  You can see it only on debug mode.", "//~": "NO_I18N" },
    "effect": "attack",
    "shape": "cone",
    "valid_targets": [ "hostile", "ground" ],
    "flags": [ "RANDOM_DAMAGE", "RANDOM_AOE", "SPLIT_DAMAGE" ],
    "max_level": 0,
    "min_damage": 15,
    "max_damage": 70,
    "min_range": 2,
    "max_range": 2,
    "min_aoe": 90,
    "max_aoe": 270,
    "damage_type": "bash"
  },
  {
    "type": "SPELL",
    "id": "spell_feral_wizard_base",
    "name": { "str": "Wild Magic Monster Sorcery", "//~": "NO_I18N" },
    "description": { "str": "Causes one of the spells to be cast, used for the feral wizard.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "effect": "none",
    "shape": "blast",
    "base_casting_time": 100,
    "flags": [ "WONDER", "NO_PROJECTILE" ],
    "min_damage": 1,
    "max_damage": 1,
    "min_range": 10,
    "max_range": 10,
    "message": "",
    "extra_effects": [
      { "id": "blinding_flash" },
      { "id": "ethereal_grasp_monster" },
      { "id": "point_flare" },
      { "id": "dispel_magic_monster" }
    ]
  },
  {
    "id": "monster_downed_stomp",
    "type": "SPELL",
    "name": { "str": "Monster Downed Stomp", "//~": "NO_I18N" },
    "description": { "str": "The monster stomps on the ground and knocks anyone nearby off their feet.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile", "ground" ],
    "effect": "attack",
    "effect_str": "downed",
    "shape": "blast",
    "max_level": 5,
    "min_aoe": 1,
    "max_aoe": 6,
    "aoe_increment": 1,
    "min_duration": 100,
    "max_duration": 300,
    "duration_increment": 40
  },
  {
    "id": "mon_troll_regenerate_limb_spell",
    "type": "SPELL",
    "name": { "str": "Troll regenerate limbs", "//~": "NO_I18N" },
    "description": { "str": "Allows trolls to remove the maimed effect if their HP is high enough.", "//~": "NO_I18N" },
    "valid_targets": [ "self" ],
    "effect": "remove_effect",
    "effect_str": "maimed_arm",
    "shape": "blast"
  },
  {
    "type": "SPELL",
    "id": "monster_invisibility_spell",
    "name": { "str": "monster invisibility", "//~": "NO_I18N" },
    "description": { "str": "Makes the target invisible", "//~": "NO_I18N" },
    "valid_targets": [ "self" ],
    "effect": "attack",
    "effect_str": "invisibility",
    "shape": "blast",
    "message": "",
    "max_level": 35,
    "min_duration": 1000,
    "max_duration": 36000,
    "duration_increment": 1000,
    "flags": [ "SILENT", "NO_EXPLOSION_SFX" ]
  },
  {
    "id": "monster_ranged_gas_attack",
    "type": "SPELL",
    "name": { "str": "Gas Attack Ranged", "//~": "NO_I18N" },
    "description": { "str": "Spreads toxic gas around at range.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "flags": [ "NO_PROJECTILE" ],
    "damage_type": "biological",
    "min_damage": 1,
    "max_damage": 1,
    "max_level": 10,
    "min_range": 3,
    "max_range": 13,
    "range_increment": 1,
    "effect": "emit",
    "effect_str": "emit_toxic_stream",
    "shape": "blast",
    "field_id": "fd_toxic_gas",
    "field_chance": 1,
    "min_field_intensity": 1,
    "max_field_intensity": 1,
    "min_aoe": 1,
    "max_aoe": 5,
    "aoe_increment": 0.5
  },
  {
    "type": "SPELL",
    "id": "mon_bloodlust_spell",
    "name": { "str": "Bloodlust", "//~": "NO_I18N" },
    "description": { "str": "Speeds up an ally.", "//~": "NO_I18N" },
    "valid_targets": [ "ally" ],
    "effect": "attack",
    "shape": "blast",
    "effect_str": "frenzy",
    "max_level": 1,
    "min_range": 10,
    "max_range": 10,
    "min_damage": 0,
    "max_damage": 0,
    "min_duration": 6000,
    "max_duration": 12000,
    "base_casting_time": 200,
    "flags": [ "NO_EXPLOSION_SFX", "RANDOM_DURATION" ]
  },
  {
    "type": "SPELL",
    "id": "ankheg_acid_spit",
    "name": { "str": "Ankheg Acid Spit", "//~": "NO_I18N" },
    "description": { "str": "Spews a line of acid from your mouth.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "damage_type": "acid",
    "max_level": 40,
    "min_damage": 10,
    "max_damage": 20,
    "min_range": 8,
    "max_range": 12,
    "range_increment": 0.1,
    "effect": "attack",
    "extra_effects": [ { "id": "ankheg_acid_spit_self", "hit_self": true } ],
    "shape": "line",
    "field_id": "fd_acid",
    "min_field_intensity": 1,
    "max_field_intensity": 4,
    "field_chance": 2,
    "field_intensity_increment": 0.1,
    "flags": [ "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS", "MUST_HAVE_CLASS_TO_LEARN" ]
  },
  {
    "type": "SPELL",
    "id": "ankheg_acid_spit_self",
    "name": { "str": "Ankheg Acid Spit Self", "//~": "NO_I18N" },
    "description": { "str": "Maims the ankheg's acid gland after spitting acid.", "//~": "NO_I18N" },
    "flags": [ "RANDOM_DURATION", "NO_HANDS", "NO_LEGS", "MUST_HAVE_CLASS_TO_LEARN" ],
    "valid_targets": [ "self" ],
    "effect": "attack",
    "effect_str": "maimed_acid_gland",
    "shape": "blast",
    "min_duration": 720000,
    "max_duration": 2160000
  },
  {
    "type": "SPELL",
    "id": "catoblepas_gaze_spell",
    "name": { "str": "catoblepas gaze", "//~": "NO_I18N" },
    "description": { "str": "Does a big thwack of damage if the target can see the catoblepas", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "effect": "effect_on_condition",
    "effect_str": "EOC_CATOBLEPAS_GAZE",
    "shape": "blast",
    "message": "",
    "max_level": 20,
    "min_range": 15,
    "max_range": 15,
    "flags": [ "SILENT", "NO_EXPLOSION_SFX" ]
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_CATOBLEPAS_GAZE",
    "condition": {
      "and": [
        { "not": { "u_has_flag": "BLIND" } },
        { "not": { "u_has_effect": "BLIND" } },
        { "not": { "u_has_worn_with_flag": "BLIND" } }
      ]
    },
    "effect": [
      {
        "run_eocs": [
          {
            "id": "EOC_CATOBLEPAS_GAZE_2",
            "condition": "u_is_character",
            "effect": [
              {
                "u_add_effect": "effect_catoblepas_gaze",
                "duration": { "math": [ "rand(10) + 5" ] },
                "target_part": "head",
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze', 'bodypart': 'head') + 1" ] }
              },
              {
                "u_add_effect": "effect_catoblepas_gaze",
                "duration": { "math": [ "rand(10) + 5" ] },
                "target_part": "torso",
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze', 'bodypart': 'torso') + 1" ] }
              },
              {
                "u_add_effect": "effect_catoblepas_gaze",
                "duration": { "math": [ "rand(10) + 5" ] },
                "target_part": "arm_l",
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze', 'bodypart': 'arm_l') + 1" ] }
              },
              {
                "u_add_effect": "effect_catoblepas_gaze",
                "duration": { "math": [ "rand(10) + 5" ] },
                "target_part": "arm_r",
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze', 'bodypart': 'arm_r') + 1" ] }
              },
              {
                "u_add_effect": "effect_catoblepas_gaze",
                "duration": { "math": [ "rand(10) + 5" ] },
                "target_part": "leg_l",
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze', 'bodypart': 'leg_l') + 1" ] }
              },
              {
                "u_add_effect": "effect_catoblepas_gaze",
                "duration": { "math": [ "rand(10) + 5" ] },
                "target_part": "leg_r",
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze', 'bodypart': 'leg_r') + 1" ] }
              }
            ],
            "false_effect": [
              {
                "u_add_effect": "effect_catoblepas_gaze_monster",
                "duration": { "math": [ "rand(10) + 5" ] },
                "intensity": { "math": [ "u_effect_intensity('effect_catoblepas_gaze_monster') + 1" ] }
              }
            ]
          }
        ]
      }
    ]
  },
  {
    "type": "SPELL",
    "id": "feral_dabble_spell_selector_spell",
    "name": { "str": "Dabbler Spell selector", "//~": "NO_I18N" },
    "description": { "str": "Random chance for a feral to have a single spell.  This picks a random spell.", "//~": "NO_I18N" },
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "MUST_HAVE_CLASS_TO_LEARN" ],
    "valid_targets": [ "hostile" ],
    "max_level": 1,
    "effect": "effect_on_condition",
    "effect_str": "EOC_FERAL_DABBLE_SPELLS_SELECTOR_SPELL",
    "shape": "blast",
    "min_range": 60,
    "max_range": 60
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_FERAL_DABBLE_SPELLS_SELECTOR_SPELL",
    "effect": [ { "math": [ "n_feral_dabbler_chosen_spell_number = rand(99) + 1" ] } ]
  },
  {
    "id": "summon_wisps_monster",
    "type": "SPELL",
    "name": { "str": "Ignus Fatuus Monster", "//~": "NO_I18N" },
    "description": {
      "str": "Summons ghostly foxfire worked from living marsh vapor to lead your enemies astray.  With more experience, this spell can conjure multiple ghost lights.",
      "//~": "NO_I18N"
    },
    "valid_targets": [ "ground" ],
    "effect": "summon",
    "effect_str": "mon_wisp",
    "shape": "blast",
    "flags": [ "CONJURATION_SPELL", "LOUD", "SOMATIC", "HOSTILE_SUMMON" ],
    "energy_source": "MANA",
    "difficulty": 2,
    "max_level": 25,
    "min_damage": 1,
    "max_damage": 8,
    "damage_increment": 0.28,
    "min_aoe": 3,
    "max_aoe": 3,
    "min_range": 3,
    "max_range": 7,
    "range_increment": 0.16,
    "min_duration": 6000,
    "max_duration": 60000,
    "duration_increment": 2160
  },
  {
    "id": "windrun_monster",
    "type": "SPELL",
    "name": { "str": "Windrunning Monster", "//~": "NO_I18N" },
    "description": {
      "str": "A magical wind pushes you forward as you move, easing your movements and increasing speed.",
      "//~": "NO_I18N"
    },
    "energy_source": "MANA",
    "difficulty": 1,
    "effect": "attack",
    "effect_str": "enchant_windrun_monster",
    "shape": "blast",
    "valid_targets": [ "self" ],
    "flags": [ "ENHANCEMENT_SPELL", "SILENT", "VERBAL", "NO_HANDS", "NO_PROJECTILE" ],
    "max_level": 10,
    "min_duration": 6000,
    "max_duration": 30000,
    "duration_increment": 2400
  },
  {
    "id": "necrotic_gaze_monster",
    "type": "SPELL",
    "name": { "str": "Necrotic Gaze Monster", "//~": "NO_I18N" },
    "description": { "str": "Like the animist spell, but for monsters", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "effect": "attack",
    "shape": "line",
    "flags": [ "NO_LEGS", "RANDOM_DAMAGE", "NO_PROJECTILE", "NO_HANDS", "SPLIT_DAMAGE" ],
    "min_damage": 30,
    "max_damage": 80,
    "min_range": 3,
    "max_range": 5,
    "range_increment": 0.1,
    "max_level": 25,
    "difficulty": 3,
    "base_casting_time": 100,
    "min_aoe": 1,
    "max_aoe": 3,
    "aoe_increment": 0.1,
    "damage_type": "necrotic"
  },
  {
    "id": "ethereal_grasp_monster",
    "type": "SPELL",
    "name": { "str": "Ethereal Grasp", "//~": "NO_I18N" },
    "description": "A mass of spectral hands emerge from the ground, slowing everything in range.  Higher levels allow a bigger AoE, and longer effect.",
    "effect": "attack",
    "effect_str": "effect_ethereal_grasp_monster",
    "shape": "blast",
    "affected_body_parts": [ "foot_l", "foot_r" ],
    "valid_targets": [ "hostile", "ground" ],
    "max_level": 20,
    "min_aoe": 2,
    "max_aoe": 20,
    "aoe_increment": 0.5,
    "min_range": 5,
    "max_range": 20,
    "range_increment": 2.0,
    "min_duration": 1000,
    "max_duration": 5000,
    "duration_increment": 200,
    "spell_class": "NONE",
    "flags": [ "SOMATIC", "NO_PROJECTILE" ],
    "damage_type": "bash"
  },
  {
    "id": "druid_veggrasp_monster",
    "type": "SPELL",
    "name": { "str": "Vegetative Grasp Monster", "//~": "NO_I18N" },
    "description": "This spell causes roots and vines to burst forth from the ground and grab your foes, slowing them and doing a small amount of damage as they dig in.",
    "valid_targets": [ "hostile", "ground" ],
    "flags": [ "EVOCATION_SPELL", "LOUD", "SOMATIC", "VERBAL", "NO_LEGS", "NO_PROJECTILE", "SPLIT_DAMAGE" ],
    "effect": "attack",
    "effect_str": "entangled_monster",
    "shape": "blast",
    "spell_class": "NONE",
    "difficulty": 2,
    "max_level": 20,
    "min_damage": 1,
    "max_damage": 10,
    "damage_increment": 0.5,
    "min_aoe": 2,
    "max_aoe": 8,
    "aoe_increment": 0.5,
    "min_range": 3,
    "max_range": 10,
    "range_increment": 1.0,
    "min_duration": 1000,
    "max_duration": 10000,
    "duration_increment": 500,
    "min_pierce": 1,
    "max_pierce": 5,
    "pierce_increment": 0.25,
    "min_dot": 0.1,
    "max_dot": 0.3,
    "dot_increment": 0.01,
    "damage_type": "stab"
  },
  {
    "id": "natural_spirit_zombie_decay",
    "type": "SPELL",
    "name": { "str": "Nature spirit anti-zombie spell", "//~": "NO_I18N" },
    "description": {
      "str": "Cause zombies to rot away into nothingness.  You can't get this spell, though, you're not in tune with nature enough.",
      "//~": "NO_I18N"
    },
    "valid_targets": [ "hostile" ],
    "effect": "attack",
    "shape": "blast",
    "flags": [ "VERBAL", "SOMATIC", "NO_LEGS", "RANDOM_DURATION", "RANDOM_AOE", "IGNORE_WALLS", "NO_PROJECTILE", "NO_HANDS" ],
    "damage_type": "biological",
    "max_level": 25,
    "min_range": 15,
    "max_range": 15,
    "min_duration": 1000,
    "max_duration": 2500,
    "min_aoe": 4,
    "max_aoe": 7,
    "min_dot": 5,
    "max_dot": 10,
    "targeted_monster_species": [ "ZOMBIE" ]
  },
  {
    "id": "seeker_bolts_levinbolt_spell",
    "type": "SPELL",
    "name": { "str": "Zombie Seeker Bolts", "//~": "NO_I18N" },
    "description": { "str": "I cast seeker bolts at the living.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile" ],
    "flags": [ "RANDOM_DAMAGE", "NO_LEGS", "SILENT", "NO_PROJECTILE" ],
    "min_damage": 10,
    "max_damage": 30,
    "damage_type": "nether",
    "multiple_projectiles": 3,
    "min_range": 8,
    "shape": "blast",
    "effect": "attack"
  },
  {
    "id": "manastorm_zombie_spell",
    "type": "SPELL",
    "name": { "str": "Zombie Mana Blast", "//~": "NO_I18N" },
    "description": { "str": "A magical explosion that leyspark zombies use.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile", "ally", "ground" ],
    "flags": [ "RANDOM_DAMAGE", "NO_LEGS", "SILENT", "NO_PROJECTILE", "SPLIT_DAMAGE" ],
    "min_damage": 50,
    "max_damage": 150,
    "damage_type": "nether",
    "min_aoe": 3,
    "max_aoe": 3,
    "min_range": 12,
    "shape": "blast",
    "effect": "attack"
  },
  {
    "id": "will_o_wisp_draining_spell",
    "type": "SPELL",
    "name": { "str": "Will o the Wisp draining attack", "//~": "NO_I18N" },
    "description": { "str": "The will o the Wisp life-draining attack.", "//~": "NO_I18N" },
    "valid_targets": [ "hostile", "ally", "ground" ],
    "flags": [ "NO_LEGS", "SILENT", "NO_PROJECTILE", "SPLIT_DAMAGE" ],
    "min_range": 3,
    "shape": "blast",
    "effect": "effect_on_condition",
    "effect_str": "EOC_MAGICLYSM_WILL_O_THE_WISP_DRAINING_ATTACK"
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_MAGICLYSM_WILL_O_THE_WISP_DRAINING_ATTACK",
    "condition": "u_is_character",
    "effect": [
      { "math": [ "_attack_value = (100 + rand(100))" ] },
      { "math": [ "u_calories()", "-=", "_attack_value" ] },
      { "math": [ "u_calories('dont_affect_weariness': true)", "+=", "_attack_value" ] }
    ],
    "false_effect": [ { "u_add_effect": "effect_will_o_wisp_draining_monsters", "duration": [ 7200, 360000 ] } ]
  }
]
