[
  {
    "id": "zap_electrical_emission",
    "type": "SPELL",
    "name": "Zap",
    "description": "Electricity emits from your extremities.",
    "message": "tsszappp!",
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "effect": "attack",
    "shape": "cone",
    "valid_targets": [ "ally", "hostile", "ground" ],
    "flags": [ "LOUD", "NO_PROJECTILE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_damage": { "math": [ "( (u_spell_level('zap_electrical_emission') * 1) + 3) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_damage": { "math": [ "( (u_spell_level('zap_electrical_emission') * 4) + 7) * (scaling_factor(u_val('dexterity') ) )" ] },
    "min_range": 2,
    "max_range": 6,
    "range_increment": 0.25,
    "base_casting_time": 100,
    "final_casting_time": 35,
    "casting_time_increment": -4,
    "base_energy_cost": 150,
    "final_energy_cost": 50,
    "energy_increment": 5,
    "energy_source": "MANA",
    "difficulty": 1,
    "sound_description": "a crackle",
    "damage_type": "electric",
    "learn_spells": { "sylph_call_lightning": 5, "sylph_crash_of_lightning": 9 }
  },
  {
    "id": "sylph_call_lightning",
    "type": "SPELL",
    "name": "Lightning Bolt",
    "description": "The goto ability for many Sylphs, this does just what you expect: you shoot lightning from your fingertips.  However, this lightning is more directed than most lightning, and travels in a line through most non-solid targets.",
    "teachable": false,
    "spell_class": "SYLPH",
    "effect": "attack",
    "shape": "line",
    "skill": "deduction",
    "valid_targets": [ "ally", "hostile", "ground" ],
    "flags": [ "LOUD", "SOMATIC", "NO_LEGS", "NO_HANDS" ],
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_damage": { "math": [ "( (u_spell_level('sylph_call_lightning') * 3) + 6) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_damage": { "math": [ "( (u_spell_level('sylph_call_lightning') * 4) + 26) * (scaling_factor(u_val('dexterity') ) )" ] },
    "min_range": { "math": [ "( (u_spell_level('sylph_call_lightning') * 1.5) + 2) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_range": 70,
    "difficulty": 6,
    "min_aoe": 1,
    "max_aoe": 1,
    "base_casting_time": 200,
    "final_casting_time": 100,
    "casting_time_increment": -5,
    "base_energy_cost": 240,
    "final_energy_cost": 60,
    "energy_increment": -8,
    "field_id": "fd_electricity",
    "min_field_intensity": 1,
    "max_field_intensity": 1,
    "field_chance": 1,
    "damage_type": "electric",
    "sound_description": "a crackle",
    "energy_source": "MANA"
  },
  {
    "id": "sylph_crash_of_lightning",
    "type": "SPELL",
    "name": "Crash of lightning",
    "description": "The crash of lightning strikes your foes with a blast of electricity and a physical force that knocks them prone.",
    "spell_class": "SYLPH",
    "teachable": false,
    "effect": "attack",
    "shape": "line",
    "skill": "deduction",
    "valid_targets": [ "ally", "hostile", "ground" ],
    "extra_effects": [ { "id": "crash", "hit_self": false, "max_level": 3 } ],
    "flags": [ "LOUD", "SOMATIC", "NO_LEGS", "NO_HANDS" ],
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_damage": { "math": [ "( (u_spell_level('sylph_crash_of_lightning') * 3) + 6) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_damage": { "math": [ "( (u_spell_level('sylph_crash_of_lightning') * 4) + 26) * (scaling_factor(u_val('dexterity') ) )" ] },
    "min_range": { "math": [ "( (u_spell_level('sylph_crash_of_lightning') * 1.5) + 2) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_range": 70,
    "difficulty": 6,
    "min_aoe": 1,
    "max_aoe": 1,
    "base_casting_time": 200,
    "final_casting_time": 100,
    "casting_time_increment": -5,
    "base_energy_cost": 240,
    "final_energy_cost": 80,
    "energy_increment": 8,
    "field_id": "fd_electricity",
    "min_field_intensity": 1,
    "max_field_intensity": 1,
    "field_chance": 1,
    "damage_type": "electric",
    "sound_description": "a crackle",
    "energy_source": "MANA"
  },
  {
    "type": "SPELL",
    "id": "crash",
    "name": "crash",
    "description": "A thunder clap at a distance.",
    "valid_targets": [ "hostile", "ground", "self", "ally" ],
    "effect": "attack",
    "effect_str": "downed",
    "shape": "line",
    "flags": [ "LOUD" ],
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_range": { "math": [ "( (u_spell_level('sylph_crash_of_lightning') * 1.5) + 2) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_range": 70
  },
  {
    "type": "SPELL",
    "id": "clap_of_thunder",
    "name": "Clap of Thunder",
    "description": "A thunder clap at a distance.",
    "valid_targets": [ "hostile", "ground", "self", "ally" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "effect": "flashbang",
    "shape": "blast",
    "flags": [ "LOUD" ],
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_range": 12,
    "max_range": 24,
    "range_increment": 0.4,
    "base_casting_time": 200,
    "final_casting_time": 80,
    "casting_time_increment": -5,
    "base_energy_cost": 90,
    "final_energy_cost": 20,
    "energy_increment": 8
  },
  {
    "id": "electrical_field",
    "type": "SPELL",
    "name": "Electrical Field",
    "description": "Summons a field of electricity.",
    "message": "tsszappp!",
    "valid_targets": [ "hostile", "ground" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "flags": [ "LOUD", "NO_PROJECTILE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
    "effect": "attack",
    "shape": "blast",
    "damage_type": "electric",
    "difficulty": 2,
    "min_aoe": 1,
    "max_aoe": 7,
    "aoe_increment": 0.5,
    "field_id": "fd_electricity",
    "min_field_intensity": 0,
    "max_field_intensity": 4,
    "field_intensity_increment": 1,
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_range": { "math": [ "( (u_spell_level('electrical_field') * 1.5) + 2) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_range": 70,
    "energy_source": "MANA",
    "base_energy_cost": 500,
    "final_energy_cost": 250,
    "energy_increment": -25,
    "base_casting_time": 100,
    "final_casting_time": 35,
    "casting_time_increment": -4,
    "sound_type": "combat",
    "sound_description": "zzzpptttt!",
    "learn_spells": { "lightning_field": 5 }
  },
  {
    "id": "lightning_field",
    "type": "SPELL",
    "name": "Lightning Field",
    "description": "Summons a field of lightning.",
    "message": "tsszappp!",
    "valid_targets": [ "hostile", "ground" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "flags": [ "LOUD", "NO_PROJECTILE", "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS" ],
    "effect": "attack",
    "shape": "blast",
    "damage_type": "electric",
    "difficulty": 2,
    "min_aoe": 1,
    "max_aoe": 7,
    "aoe_increment": 0.5,
    "field_id": "fd_electricity",
    "min_field_intensity": 6,
    "max_field_intensity": 10,
    "field_intensity_increment": 1,
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "min_range": { "math": [ "( (u_spell_level('lightning_field') * 1.5) + 2) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_range": 70,
    "energy_source": "MANA",
    "base_energy_cost": 800,
    "final_energy_cost": 450,
    "energy_increment": -25,
    "base_casting_time": 100,
    "final_casting_time": 35,
    "casting_time_increment": -4,
    "sound_type": "combat",
    "sound_description": "cracklezzbit!"
  },
  {
    "id": "sylph_cultivate_goblin_fruit",
    "type": "SPELL",
    "name": "Cultivate Goblin Fruit",
    "description": "You may spin a bit of fae magic into the winds, bringing forth a goblin fruit.  Goblin fruit have a variety of effects, never predictable but always at least somewhat beneficial.  This spell may only be cast outdoors in natural surroundings.",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "effect": "effect_on_condition",
    "effect_str": "EOC_SYLPH_GOBLIN_FRUIT",
    "shape": "blast",
    "flags": [ "SOMATIC", "VERBAL", "NO_LEGS", "NO_HANDS" ],
    "max_level": { "math": [ "dex_to_level(1)" ] },
    "difficulty": 8,
    "base_casting_time": 180000,
    "final_casting_time": 100,
    "casting_time_increment": -6000,
    "energy_source": "MANA",
    "base_energy_cost": 450
  },
  {
    "id": "summon_air_sprite",
    "type": "SPELL",
    "name": "Summon Air Sprite",
    "description": "A lesser air elemental is summoned to support you.",
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "min_damage": 1,
    "max_damage": 8,
    "damage_increment": 0.5,
    "min_range": 1,
    "max_range": 15,
    "range_increment": 1,
    "max_level": 35,
    "difficulty": 3,
    "effect": "summon",
    "effect_str": "GROUP_GENIUS_SYLPH",
    "shape": "blast",
    "energy_source": "MANA",
    "base_energy_cost": 200,
    "base_casting_time": 3000,
    "flags": [ "SOMATIC", "VERBAL", "SPAWN_GROUP", "SPAWN_GROUP" ],
    "min_duration": 36000,
    "max_duration": 1080000,
    "duration_increment": 36000
  },
  {
    "id": "ominous_wind",
    "type": "SPELL",
    "name": "Ominous Wind",
    "description": "A whistling wind gusts past your shoulder in the direction you've pointed.  It creates a fearful effect in your foes.",
    "valid_targets": [ "hostile", "ground" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "effect": "attack",
    "effect_str": "morale",
    "shape": "cone",
    "affected_body_parts": [ "torso" ],
    "max_level": 20,
    "min_damage": -20,
    "max_damage": -60,
    "damage_increment": 2,
    "min_aoe": 2,
    "max_aoe": 10,
    "aoe_increment": 2,
    "min_range": 1,
    "max_range": 1,
    "min_duration": 1000,
    "max_duration": 5000,
    "duration_increment": 1000,
    "base_casting_time": 200,
    "base_energy_cost": 200,
    "energy_source": "MANA",
    "difficulty": 0,
    "flags": [ "LOUD", "NO_HANDS", "NO_LEGS" ]
  },
  {
    "id": "pushing_wind",
    "type": "SPELL",
    "name": "Pushing Wind",
    "description": "Shove something away with a burst of elemental air.",
    "message": "You hurl your target away.",
    "valid_targets": [ "ally", "hostile", "item", "ground" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "SYLPH",
    "flags": [ "RANDOM_DAMAGE", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX" ],
    "effect": "directed_push",
    "shape": "cone",
    "difficulty": 2,
    "max_level": { "math": [ "int_to_level(1)" ] },
    "damage_type": "bashing",
    "min_damage": { "math": [ "( (u_spell_level('pushing_wind') * 0.25) + 2) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_damage": { "math": [ "( (u_spell_level('pushing_wind') * 0.25) + 6) * (scaling_factor(u_val('dexterity') ) )" ] },
    "min_range": { "math": [ "( (u_spell_level('pushing_wind') * 1.2) + 1) * (scaling_factor(u_val('dexterity') ) )" ] },
    "max_range": 40,
    "energy_source": "MANA",
    "base_energy_cost": 100,
    "final_energy_cost": 25,
    "energy_increment": -5,
    "base_casting_time": 50,
    "final_casting_time": 10,
    "casting_time_increment": -4
  }
]
