[
  {
    "id": "test_eoc_spell",
    "type": "SPELL",
    "name": "Mana Bolt",
    "description": "A bolt of magical power that only damages your foes.",
    "valid_targets": [ "self" ],
    "flags": [ "VERBAL", "SOMATIC", "NO_LEGS" ],
    "effect": "attack",
    "shape": "blast",
    "spell_class": "test_trait",
    "energy_source": "MANA",
    "base_casting_time": 100,
    "base_energy_cost": 150,
    "difficulty": 5,
    "max_level": 20,
    "min_damage": 20,
    "max_damage": 120,
    "damage_increment": 5,
    "damage_type": "pure",
    "min_range": 5,
    "max_range": 30,
    "range_increment": 1.5
  },
  {
    "id": "test_spell_pew",
    "type": "SPELL",
    "name": "Pew, Pew",
    "description": "You aim your finger at your opponent and make 'Pew, pew' sounds.",
    "effect": "attack",
    "shape": "blast",
    "damage_type": "pure",
    "valid_targets": [ "hostile" ],
    "flags": [ "VERBAL", "SOMATIC", "NO_LEGS", "NO_PROJECTILE" ],
    "max_level": 10,
    "min_damage": 1,
    "max_damage": 5,
    "damage_increment": 1,
    "min_range": 10,
    "max_range": 30,
    "range_increment": 2,
    "spell_class": "NONE",
    "difficulty": 1,
    "base_casting_time": 100,
    "base_energy_cost": 50,
    "energy_source": "MANA"
  },
  {
    "type": "ter_furn_transform",
    "id": "test_lava_terrain",
    "terrain": [ { "result": "t_lava", "valid_flags": [ "DIGGABLE" ] } ]
  },
  {
    "id": "test_spell_lava",
    "type": "SPELL",
    "name": "The Floor is Lava",
    "description": "Better find a chair or countertop to climb onto, because the floor is made of lava!",
    "effect": "ter_transform",
    "effect_str": "test_lava_terrain",
    "shape": "blast",
    "damage_type": "heat",
    "valid_targets": [ "hostile" ],
    "max_level": 20,
    "min_aoe": 4,
    "max_aoe": 15,
    "aoe_increment": 1,
    "min_range": 3,
    "max_range": 10,
    "range_increment": 1,
    "min_duration": 10000,
    "max_duration": 25000,
    "duration_increment": 1000,
    "difficulty": 10,
    "base_casting_time": 500,
    "base_energy_cost": 500,
    "energy_source": "MANA"
  },
  {
    "id": "test_spell_montage",
    "type": "SPELL",
    "name": "Sports Training Montage",
    "description": "When something takes a really long time, and you want to just skip to the end, you're gonna need a montage.",
    "effect": "recover_energy",
    "effect_str": "STAMINA",
    "shape": "blast",
    "valid_targets": [ "self" ],
    "min_damage": 1000,
    "max_damage": 10000,
    "damage_increment": 1000,
    "max_level": 10,
    "difficulty": 5,
    "base_casting_time": 500,
    "base_energy_cost": 800,
    "energy_source": "MANA"
  },
  {
    "id": "test_spell_kiss",
    "type": "SPELL",
    "name": "Kiss the Owie",
    "description": "A tender kiss to make the pain go away, just like mother used to give.",
    "effect": "recover_energy",
    "effect_str": "PAIN",
    "shape": "blast",
    "valid_targets": [ "self" ],
    "flags": [ "PERMANENT" ],
    "min_damage": 1,
    "max_damage": 10,
    "damage_increment": 1,
    "max_level": 10,
    "difficulty": 2,
    "base_casting_time": 100,
    "base_energy_cost": 50,
    "energy_source": "MANA"
  },
  {
    "id": "test_spell_box",
    "type": "SPELL",
    "name": "TEST Build-a-Box",
    "valid_targets": [ "ground" ],
    "spell_class": "NONE",
    "description": "Create a cardboard box out of thin air, to keep your Bag of Cats amused.  Box will exist for 10 minutes at level 0, and 5 minutes longer for each extra level.  Box becomes permanent at level 10.",
    "min_duration": 60000,
    "max_duration": 360000,
    "duration_increment": 30000,
    "flags": [ "PERMANENT", "NO_LEGS", "CONCENTRATE", "NO_HANDS" ],
    "max_level": 10,
    "effect": "spawn_item",
    "effect_str": "test_box",
    "shape": "blast",
    "energy_source": "MANA",
    "base_energy_cost": 1000,
    "final_energy_cost": 1000,
    "base_casting_time": 600000,
    "final_casting_time": 600000
  },
  {
    "id": "test_mon_mummy",
    "type": "MONSTER",
    "name": { "str": "toilet paper mummy", "str_pl": "toilet paper mummies" },
    "description": "Vaguely humanoid in shape, layered in something resembling toilet paper.",
    "bodytype": "human",
    "default_faction": "factionless",
    "hp": 10,
    "speed": 30,
    "material": [ "paper" ],
    "symbol": "M",
    "color": "white",
    "weight": "10 kg",
    "volume": "60 L",
    "aggression": 100,
    "morale": 100
  },
  {
    "id": "test_spell_tp_mummy",
    "type": "SPELL",
    "name": "Summon Mummy",
    "description": "Call forth a flimsy creature of tissue from the broom closet of your soul.",
    "effect": "summon",
    "effect_str": "test_mon_mummy",
    "shape": "blast",
    "valid_targets": [ "ground" ],
    "flags": [ "PERMANENT" ],
    "difficulty": 2,
    "max_level": 50,
    "min_damage": 1,
    "max_damage": 100,
    "damage_increment": 2,
    "min_range": 1,
    "max_range": 10,
    "range_increment": 0.25,
    "base_casting_time": 100,
    "base_energy_cost": 100,
    "energy_source": "MANA"
  },
  {
    "id": "test_spell_tp_ghost",
    "type": "SPELL",
    "name": "Summon Ghost",
    "description": "Call forth the ghost of a flimsy creature of tissue from the broom closet of your soul.",
    "effect": "summon",
    "effect_str": "test_mon_mummy",
    "shape": "blast",
    "valid_targets": [ "ground" ],
    "flags": [ "PERMANENT", "NO_CORPSE_QUIET" ],
    "difficulty": 2,
    "max_level": 50,
    "min_damage": 1,
    "max_damage": 100,
    "damage_increment": 2,
    "min_range": 1,
    "max_range": 10,
    "range_increment": 0.25,
    "base_casting_time": 100,
    "base_energy_cost": 100,
    "energy_source": "MANA"
  },
  {
    "id": "test_field",
    "type": "field_type",
    "intensity_levels": [ { "name": "test field", "sym": "8" } ]
  },
  {
    "type": "SPELL",
    "id": "test_fake_spell",
    "name": "test fake spell",
    "description": "this is a spell that only exists for extra effects",
    "valid_targets": [ "none" ],
    "flags": [ "NO_PROJECTILE" ],
    "shape": "blast",
    "effect": "attack"
  },
  {
    "type": "SPELL",
    "id": "test_spell_json",
    "name": "test spell",
    "description": "a spell to make sure the json deserialization and serialization is working properly",
    "effect": "attack",
    "shape": "blast",
    "valid_targets": [ "none" ],
    "effect_str": "string",
    "skill": "not_spellcraft",
    "components": "test_components",
    "message": "test message",
    "sound_description": "test_description",
    "sound_type": "weather",
    "sound_ambient": true,
    "sound_id": "test_sound",
    "sound_variant": "not_default",
    "targeted_monster_ids": [ "mon_test" ],
    "extra_effects": [ { "id": "test_fake_spell" } ],
    "affected_body_parts": [ "head" ],
    "flags": [ "CONCENTRATE" ],
    "field_id": "test_field",
    "field_chance": 2,
    "max_field_intensity": 2,
    "min_field_intensity": 2,
    "field_intensity_increment": 1,
    "field_intensity_variance": 1,
    "min_damage": 1,
    "max_damage": 1,
    "damage_increment": 1,
    "min_range": 1,
    "max_range": 1,
    "range_increment": 1,
    "min_aoe": 1,
    "max_aoe": 1,
    "aoe_increment": 1,
    "min_dot": 1,
    "max_dot": 1,
    "dot_increment": 1,
    "min_duration": 1,
    "max_duration": 1,
    "duration_increment": 1,
    "min_pierce": 1,
    "max_pierce": 1,
    "pierce_increment": 1,
    "base_energy_cost": 1,
    "final_energy_cost": 2,
    "energy_increment": 1,
    "spell_class": "test_trait",
    "energy_source": "MANA",
    "damage_type": "pure",
    "difficulty": 1,
    "max_level": 1,
    "base_casting_time": 1,
    "final_casting_time": 2,
    "casting_time_increment": 1,
    "learn_spells": { "test_fake_spell": 1 }
  }
]
