[
  {
    "type": "SPELL",
    "id": "voidmage_final_grasp",
    "name": "Final Grasp",
    "description": "In the end, everything succumbs to the grasp of nothingness and stasis.  This spell gives the target a foretaste of that.",
    "effect": "attack",
    "shape": "blast",
    "valid_targets": [ "hostile" ],
    "flags": [ "EVOCATION_SPELL", "SILENT", "SOMATIC", "IGNORE_WALLS", "NO_LEGS" ],
    "min_damage": 0,
    "max_damage": 0,
    "min_range": 5,
    "max_range": 25,
    "range_increment": 0.7,
    "damage_type": "necrotic",
    "min_dot": 5,
    "max_dot": 25,
    "dot_increment": 0.75,
    "max_level": 35,
    "min_duration": 500,
    "max_duration": 5000,
    "duration_increment": 130,
    "spell_class": "VOID_MAGE",
    "base_casting_time": 200,
    "magic_type": "magiclysm_generic_magic",
    "base_energy_cost": 300,
    "final_energy_cost": 150,
    "energy_increment": -5,
    "difficulty": 9,
    "extra_effects": [ { "id": "voidmage_final_grasp_slowdown" }, { "id": "eoc_evocation_setup", "hit_self": true } ]
  },
  {
    "id": "voidmage_final_grasp_slowdown",
    "type": "SPELL",
    "name": { "str": "Final Grasp Slowdown", "//~": "NO_I18N" },
    "description": {
      "str": "Removes some moves from an enemy.  Subspell; you aren't allowed to see it except in debug mode.",
      "//~": "NO_I18N"
    },
    "valid_targets": [ "hostile" ],
    "flags": [ "EVOCATION_SPELL" ],
    "effect": "mod_moves",
    "shape": "blast",
    "max_level": 35,
    "min_damage": -100,
    "max_damage": -3000,
    "damage_increment": -85
  },
  {
    "type": "SPELL",
    "id": "voidmage_horizon_vortex",
    "name": "Horizon Vortex",
    "description": "Creates a chaotic energy field that disrupts enemies inside it.  It is rather random, and its effects can range from almost nothing to killing all hostiles in the area.",
    "effect": "attack",
    "shape": "blast",
    "valid_targets": [ "hostile", "ground" ],
    "flags": [ "EVOCATION_SPELL", "RANDOM_DAMAGE", "SILENT", "SOMATIC", "WONDER", "NO_LEGS", "RANDOM_DAMAGE" ],
    "min_damage": 5,
    "max_damage": 20,
    "min_range": 5,
    "max_range": 20,
    "range_increment": 0.4,
    "max_level": 35,
    "spell_class": "VOID_MAGE",
    "base_casting_time": 1200,
    "final_casting_time": 600,
    "casting_time_increment": -15,
    "magic_type": "magiclysm_generic_magic",
    "base_energy_cost": 1600,
    "final_energy_cost": 1000,
    "energy_increment": -15,
    "difficulty": 10,
    "extra_effects": [
      { "id": "horizon_vortex_fire" },
      { "id": "horizon_vortex_acid" },
      { "id": "horizon_vortex_bash" },
      { "id": "horizon_vortex_nether" },
      { "id": "horizon_vortex_cold" },
      { "id": "horizon_vortex_cut" },
      { "id": "horizon_vortex_electric" },
      { "id": "horizon_vortex_stab" }
    ]
  },
  {
    "type": "SPELL",
    "abstract": "horizon_vortex_abstract",
    "name": { "str": "Horizon Vortex Abstract", "//~": "NO_I18N" },
    "description": {
      "str": "Causes some damage in the Horizon Vortex spell.  Subspell; you aren't allowed to see it except in debug mode.",
      "//~": "NO_I18N"
    },
    "valid_targets": [ "hostile" ],
    "flags": [ "NO_PROJECTILE", "LOUD", "RANDOM_TARGET" ],
    "message": "",
    "effect": "attack",
    "shape": "blast",
    "min_damage": { "math": [ "(u_spell_level('voidmage_horizon_vortex') * 0.6) + 5" ] },
    "max_damage": { "math": [ "(u_spell_level('voidmage_horizon_vortex') * 1.5) + 12" ] },
    "min_range": 10,
    "range_increment": 0.45,
    "max_range": 25
  },
  {
    "id": "horizon_vortex_fire",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Heat Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "heat"
  },
  {
    "id": "horizon_vortex_acid",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Acid Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "acid"
  },
  {
    "id": "horizon_vortex_bash",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Light Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "light"
  },
  {
    "id": "horizon_vortex_nether",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Pure Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "nether"
  },
  {
    "id": "horizon_vortex_cold",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Cold Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "cold",
    "max_level": 35
  },
  {
    "id": "horizon_vortex_cut",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Necrotic Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "necrotic",
    "max_level": 35
  },
  {
    "id": "horizon_vortex_electric",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Electric Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "electric",
    "max_level": 35
  },
  {
    "id": "horizon_vortex_stab",
    "copy-from": "horizon_vortex_abstract",
    "type": "SPELL",
    "name": { "str": "Horizon Vortex Poison Damage", "//~": "NO_I18N" },
    "extend": { "flags": [ "RANDOM_DAMAGE" ] },
    "damage_type": "poison",
    "max_level": 35
  }
]
