[
  {
    "id": "xedra_arvore_magick",
    "type": "magic_type",
    "energy_source": "MANA",
    "cannot_cast_flags": [ "NO_FEY_MAGIC", "NO_SPELLCASTING" ],
    "cannot_cast_message": "You can't draw on the power of nature!",
    "failure_cost_percent": 0.25,
    "max_book_level": 0,
    "casting_xp_formula_id": "xe_fey_elemental_magick_arvore_exp_per_cast",
    "failure_chance_formula_id": "xe_fey_elemental_magick_arvore_failure_chance"
  },
  {
    "type": "enchantment",
    "id": "arvore_resist_chill",
    "condition": "ALWAYS",
    "//": "No cold armor here--trees are very vulnerable to ice breaking their limbs",
    "values": [ { "value": "CLIMATE_CONTROL_HEAT", "add": 40 } ]
  },
  {
    "type": "enchantment",
    "id": "arvore_forest_detect_enemies",
    "condition": {
      "and": [
        "u_is_outside",
        {
          "or": [
            { "u_has_trait": "ARVORE_TREE_FORM_TRAITS" },
            { "u_is_on_terrain_with_flag": "SHRUB" },
            { "u_is_on_terrain_with_flag": "YOUNG" },
            { "u_is_on_terrain": "t_bamboo_tall" },
            { "u_is_on_terrain": "t_grass_long" },
            { "u_at_om_location": "forest" },
            { "u_at_om_location": "forest_thick" }
          ]
        }
      ]
    },
    "special_vision": [
      {
        "distance": { "math": [ "u_val('perception') + u_val('intelligence')" ] },
        "condition": {
          "and": [
            { "not": { "npc_has_species": "ZOMBIE" } },
            {
              "or": [
                "npc_is_npc",
                { "npc_has_species": "FERAL" },
                { "npc_has_species": "HUMAN" },
                { "npc_has_species": "RENFIELD" },
                { "npc_has_flag": "HUMAN" }
              ]
            }
          ]
        },
        "descriptions": [
          {
            "id": "human_sense",
            "symbol": "@",
            "color": "c_white",
            "text": "The forest nervously whispers to you about the presence of humans."
          }
        ]
      },
      {
        "distance": { "math": [ "u_val('perception') + u_val('intelligence')" ] },
        "condition": {
          "and": [
            { "not": { "npc_has_species": "ZOMBIE" } },
            {
              "or": [
                { "npc_has_species": "MAMMAL" },
                { "npc_has_species": "BIRD" },
                { "npc_has_species": "REPTILE" },
                { "npc_has_species": "MAMMAL" },
                { "npc_has_species": "PLANT" },
                { "npc_has_species": "AMPHIBIAN" },
                { "npc_has_species": "FISH" },
                { "npc_has_species": "INSECT" },
                { "npc_has_species": "CENTIPEDE" },
                { "npc_has_species": "SPIDER" },
                { "npc_has_species": "INSECT_FLYING" },
                { "npc_has_species": "MOLLUSK" },
                { "npc_has_species": "ARVORE" }
              ]
            }
          ]
        },
        "descriptions": [
          {
            "id": "infrared_creature_medium",
            "symbol": "?",
            "color": "c_green",
            "text": "The forest gently whispers to you about the creatures of nature."
          }
        ]
      },
      {
        "distance": { "math": [ "u_val('perception') + u_val('intelligence')" ] },
        "condition": {
          "or": [
            { "npc_has_species": "ZOMBIE" },
            { "npc_has_species": "FUNGUS" },
            { "npc_has_species": "MIGO" },
            { "npc_has_species": "NETHER" },
            { "npc_has_species": "NETHER_BURROWING" },
            { "npc_has_species": "VAMPIRE" },
            { "npc_has_species": "NIGHTMARE" },
            { "npc_has_species": "HORROR" },
            { "npc_has_species": "ABERRATION" }
          ]
        },
        "descriptions": [
          {
            "id": "alien_being_sense",
            "symbol": "?",
            "color": "c_red",
            "text": "The forest whispers warnings of unnatural creatures nearby."
          }
        ]
      }
    ]
  },
  {
    "type": "enchantment",
    "id": "arvore_forest_see_overmap",
    "condition": {
      "and": [
        "u_is_outside",
        {
          "or": [
            { "u_has_trait": "ARVORE_TREE_FORM_TRAITS" },
            { "u_is_on_terrain_with_flag": "SHRUB" },
            { "u_is_on_terrain_with_flag": "YOUNG" },
            { "u_is_on_terrain": "t_bamboo_tall" },
            { "u_is_on_terrain": "t_grass_long" },
            { "u_at_om_location": "forest" },
            { "u_at_om_location": "forest_thick" }
          ]
        }
      ]
    },
    "values": [
      {
        "value": "OVERMAP_SIGHT",
        "add": { "math": [ "(u_has_trait('ARVORE_FOREST_DETECT_AND_OVERMAP') * 2) + (u_has_trait('THRESH_ARVORE') * 2)" ] }
      }
    ]
  },
  {
    "type": "enchantment",
    "id": "ench_jagged_claws_faster_attack",
    "has": "WORN",
    "condition": { "not": "u_has_weapon" },
    "values": [ { "value": "ATTACK_SPEED", "add": -10 } ]
  },
  {
    "type": "enchantment",
    "id": "ench_jagged_claws_when_bramble_bite",
    "has": "WORN",
    "condition": { "u_has_trait": "ARVORE_WOOD_WEAPON_DAMAGE" },
    "values": [ { "value": "MELEE_DAMAGE", "multiply": 0.25 } ]
  },
  {
    "type": "enchantment",
    "id": "arvore_ignore_chill",
    "condition": "ALWAYS",
    "values": [ { "value": "CLIMATE_CONTROL_HEAT", "add": 150 } ]
  },
  {
    "type": "enchantment",
    "id": "ench_arvore_thorns_mut",
    "condition": "ALWAYS",
    "hit_me_effect": [ { "id": "spell_arvore_thorns_mut_counter", "hit_self": false, "once_in": 3 } ]
  },
  {
    "type": "enchantment",
    "id": "ench_arvore_forest_stealth",
    "condition": {
      "and": [
        "u_is_outside",
        {
          "or": [
            { "u_is_on_terrain_with_flag": "SHRUB" },
            { "u_is_on_terrain_with_flag": "YOUNG" },
            { "u_is_on_terrain": "t_bamboo_tall" },
            { "u_is_on_terrain": "t_grass_long" },
            { "u_at_om_location": "forest" },
            { "u_at_om_location": "forest_thick" }
          ]
        }
      ]
    },
    "values": [ { "value": "STEALTH_MODIFIER", "add": { "math": [ "40 + ( u_has_trait('THRESH_ARVORE') * 20)" ] } } ]
  },
  {
    "type": "enchantment",
    "id": "ench_arvore_sense_sun",
    "condition": { "math": [ "u_val('pos_z') >= 0" ] },
    "ench_effects": [ { "effect": "effect_arvore_sense_sun", "intensity": 1 } ]
  },
  {
    "type": "enchantment",
    "id": "ench_arvore_wilds_super_mending",
    "condition": {
      "and": [
        "u_is_outside",
        {
          "or": [
            { "u_is_on_terrain_with_flag": "SHRUB" },
            { "u_is_on_terrain_with_flag": "DIGGABLE" },
            { "u_is_on_terrain_with_flag": "YOUNG" }
          ]
        },
        { "not": { "u_near_om_location": "road", "range": 1 } }
      ]
    },
    "values": [ { "value": "MENDING_MODIFIER", "multiply": 10 } ]
  },
  {
    "type": "enchantment",
    "id": "ench_arvore_sun_foods_on",
    "condition": {
      "and": [
        "is_day",
        "u_is_outside",
        {
          "or": [
            { "u_is_on_terrain_with_flag": "SHRUB" },
            { "u_is_on_terrain": "t_tree_young" },
            { "u_is_on_terrain": "t_bamboo_tall" },
            { "u_is_on_terrain": "t_dirt" },
            { "u_is_on_terrain": "t_dirtmound" },
            { "u_is_on_terrain": "t_clay" },
            { "u_is_on_terrain": "t_sand" },
            { "u_is_on_terrain": "t_sandmound" },
            { "u_is_on_terrain": "t_grave" },
            { "u_is_on_terrain": "t_forestfloor" },
            { "u_is_on_terrain": "t_grass" },
            { "u_is_on_terrain": "t_grass_long" },
            { "u_is_on_terrain": "t_grass_tall" },
            { "u_is_on_terrain": "t_grass_dead" },
            { "u_is_on_terrain": "t_mud" },
            { "u_is_on_terrain": "t_dirtfloor_no_roof" },
            { "u_is_on_terrain": "t_moss" }
          ]
        }
      ]
    },
    "values": [ { "value": "HUNGER", "multiply": -0.95 } ]
  },
  {
    "type": "enchantment",
    "id": "ench_arvore_tree_form",
    "condition": "ALWAYS",
    "special_vision": [
      {
        "distance": { "math": [ "u_val('perception') + u_val('intelligence')" ] },
        "descriptions": [ { "id": "moving_creature", "symbol": "?", "color": "c_white", "text": "You sense something moving here." } ]
      }
    ],
    "values": [ { "value": "SLEEPY", "add": 150 }, { "value": "CLIMATE_CONTROL_HEAT", "add": 150 } ]
  },
  {
    "id": "spell_arvore_thorns_mut_counter",
    "type": "SPELL",
    "name": { "str": "Arvore Thorns Damage", "//~": "NO_I18N" },
    "description": { "str": "Sometimes, when an enemy punches your thorns, they hurt themselves.", "//~": "NO_I18N" },
    "valid_targets": [ "ally", "hostile" ],
    "skill": "deduction",
    "effect": "attack",
    "shape": "blast",
    "min_damage": 1,
    "max_damage": 8,
    "min_range": 1,
    "damage_type": "stab",
    "flags": [ "RANDOM_DAMAGE" ]
  },
  {
    "//": "General principle for spells below is--spells that involving growing or nurturing plants in the long-term are intelligence-based, other spells are perception-based.  Briarwall (long-term) is thus Intelligence, whereas Hungry Thirsty Roots is Perception because the roots die within minutes.",
    "id": "arvore_commune_with_nature",
    "type": "SPELL",
    "name": "Commune with Nature",
    "description": "You concentrate on nature around you and commune with it, improving your health and calming the nearby wildlife.  This spell may only be cast outdoors in natural surroundings.",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "spell_class": "ARVORE",
    "teachable": false,
    "effect": "effect_on_condition",
    "effect_str": "EOC_COMMUNE_WITH_NATURE",
    "shape": "blast",
    "flags": [ "SOMATIC", "VERBAL", "NO_LEGS", "NO_HANDS", "NO_EXPLOSION_SFX" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "difficulty": 4,
    "base_casting_time": 12000,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 500,
    "final_energy_cost": 250,
    "energy_increment": -12,
    "min_duration": {
      "math": [
        "( 60000 + (u_spell_level('arvore_commune_with_nature') * 24000) ) * scaling_factor(u_val('perception') ) * paraclesian_post_threshold_doubler(1)"
      ]
    },
    "max_duration": {
      "math": [
        "( 60000 + (u_spell_level('arvore_commune_with_nature') * 24000 ) ) * scaling_factor(u_val('perception') ) * paraclesian_post_threshold_doubler(1)"
      ]
    },
    "learn_spells": { "arvore_summon_preservation_container": 6 }
  },
  {
    "id": "arvore_cultivate_goblin_fruit",
    "type": "SPELL",
    "name": "Cultivate Goblin Fruit",
    "description": "You may spin a bit of fae magic into a plant, 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",
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_GOBLIN_FRUIT",
    "shape": "blast",
    "spell_class": "ARVORE",
    "teachable": false,
    "flags": [ "SOMATIC", "VERBAL", "NO_LEGS", "NO_HANDS" ],
    "max_level": { "math": [ "int_to_level(1)" ] },
    "difficulty": 8,
    "base_casting_time": 180000,
    "final_casting_time": 100,
    "casting_time_increment": -6000,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 450,
    "final_energy_cost": 350,
    "energy_increment": -4
  },
  {
    "id": "arvore_tree_singing_spell",
    "type": "SPELL",
    "name": "Treesinging",
    "description": "Using your voice and your magic, bring forth living wood from a tree to provide resources without harming the forest.",
    "message": "You close your eyes and sing to the trees.",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "spell_class": "ARVORE",
    "teachable": false,
    "difficulty": 6,
    "max_level": { "math": [ "int_to_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_TREE_SINGING",
    "shape": "blast",
    "magic_type": "xedra_arvore_magick",
    "base_casting_time": 100,
    "base_energy_cost": 800,
    "final_energy_cost": 500,
    "energy_increment": -40,
    "learn_spells": { "arvore_create_living_tent_spell": 4, "arvore_summon_floral_boat": 10 }
  },
  {
    "id": "arvore_verdant_infusion",
    "type": "SPELL",
    "name": "Verdant Infusion",
    "description": "You draw on your own connection to nature and infuse some of its power into one of your allies, healing them for a small amount and increasing their overall health.",
    "valid_targets": [ "ally" ],
    "skill": "deduction",
    "effect": "attack",
    "effect_str": "arvore_verdant_infusion",
    "shape": "blast",
    "spell_class": "ARVORE",
    "teachable": false,
    "flags": [ "SOMATIC", "VERBAL", "NO_PROJECTILE", "RANDOM_DAMAGE", "NO_LEGS", "NO_HANDS" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "difficulty": 5,
    "min_damage": -1,
    "max_damage": { "math": [ "( (u_spell_level('arvore_verdant_infusion') * -1) * (scaling_factor(u_val('perception') ) ) ) " ] },
    "min_range": 1,
    "max_range": 20,
    "range_increment": 0.4,
    "base_casting_time": 6000,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 750,
    "final_energy_cost": 500,
    "energy_increment": -10,
    "min_duration": 30000,
    "max_duration": 1080000,
    "duration_increment": 16500,
    "learn_spells": { "arvore_summon_preservation_container": 9, "arvore_turn_into_tree": 18 }
  },
  {
    "id": "arvore_roots_crack_the_foundation",
    "type": "SPELL",
    "name": "Roots Crack the Foundation",
    "description": "Roots can grow through even concrete given time.  With this spell, you can compress that time into a single instant to shatter walls or rip doors off their hinges.",
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "teachable": false,
    "effect": "bash",
    "shape": "cone",
    "spell_class": "ARVORE",
    "flags": [ "SOMATIC", "VERBAL", "IGNORE_WALLS", "RANDOM_DAMAGE", "NO_LEGS", "NO_HANDS" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "difficulty": 7,
    "min_damage": {
      "math": [ "( (u_spell_level('arvore_roots_crack_the_foundation') * 1.5) * (scaling_factor(u_val('perception') ) ) )" ]
    },
    "max_damage": {
      "math": [ "( (u_spell_level('arvore_roots_crack_the_foundation') * 5.5) * (scaling_factor(u_val('perception') ) ) )" ]
    },
    "min_range": 2,
    "max_range": 8,
    "min_aoe": 30,
    "max_aoe": 50,
    "aoe_increment": 0.7,
    "range_increment": 0.4,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 450,
    "final_energy_cost": 250,
    "energy_increment": -10,
    "base_casting_time": 150,
    "final_casting_time": 100,
    "casting_time_increment": -4,
    "learn_spells": { "arvore_roots_spell": 7 }
  },
  {
    "id": "arvore_summon_wood_spirit",
    "type": "SPELL",
    "name": "Call the Children of the Roots",
    "description": "A lesser wood spirit is summoned to support you.",
    "flags": [ "SOMATIC", "VERBAL", "SPAWN_GROUP" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": 35,
    "difficulty": 3,
    "spell_class": "ARVORE",
    "teachable": false,
    "effect": "summon",
    "effect_str": "GROUP_GENIUS_ARVORE_LESSER",
    "shape": "blast",
    "min_damage": 1,
    "max_damage": 8,
    "min_range": 1,
    "max_range": 15,
    "range_increment": 1,
    "min_aoe": 2,
    "max_aoe": 2,
    "damage_increment": 0.5,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 200,
    "base_casting_time": 3000,
    "min_duration": 36000,
    "max_duration": 1080000,
    "duration_increment": 36000
  },
  {
    "id": "arvore_summon_preservation_container",
    "type": "SPELL",
    "name": { "str": "To Withstand Decay" },
    "description": "While in the wild, weave together some leaves and grasses and magick to form a container that will keep its contents from rotting for a length of time.  The container will only last a few weeks at most.",
    "flags": [ "SOMATIC", "VERBAL" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "difficulty": 4,
    "spell_class": "ARVORE",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_SUMMON_PRESERVATION_CONTAINER_CHECK",
    "shape": "blast",
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 800,
    "final_energy_cost": 300,
    "energy_increment": -30,
    "base_casting_time": 6000,
    "final_casting_time": 1500,
    "casting_time_increment": -250,
    "learn_spells": { "arvore_create_living_tent_spell": 6, "arvore_summon_floral_boat": 12 }
  },
  {
    "id": "arvore_summon_preservation_container_real",
    "type": "SPELL",
    "name": { "str": "To Withstand Decay Real", "//~": "NO_I18N" },
    "description": { "str": "The actual spell that summons the container.  It's a bug if you have it directly.", "//~": "NO_I18N" },
    "flags": [ "SILENT", "RANDOM_DURATION" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "difficulty": 3,
    "spell_class": "ARVORE",
    "valid_targets": [ "self" ],
    "effect": "spawn_item",
    "effect_str": "arvore_preservation_container",
    "shape": "blast",
    "min_damage": 1,
    "max_damage": 1,
    "min_duration": {
      "math": [
        "( 51840000 + (u_spell_level('arvore_summon_preservation_container') * 18360000) ) * scaling_factor(u_val('perception') )"
      ]
    },
    "max_duration": {
      "math": [
        "( 51840000 + (u_spell_level('arvore_summon_preservation_container') * 30240000) ) * scaling_factor(u_val('perception') )"
      ]
    },
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 350,
    "base_casting_time": 400
  },
  {
    "id": "arvore_summon_floral_boat",
    "type": "SPELL",
    "name": "Viridescent Vessel",
    "description": "Trees require water but will still drown if submerged.  This spell allows the Arvore to create a floral boat with the help of a nearby tree, letting them travel safely across water.\n\nYou must be standing <color_yellow>next to a tree</color> and <color_yellow>near the water</color> for the spell to be effective.",
    "message": "",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC", "SILENT" ],
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_SUMMON_FLORAL_BOAT_CHECK",
    "shape": "blast",
    "difficulty": 7,
    "spell_class": "ARVORE",
    "teachable": false,
    "max_level": { "math": [ "per_to_level(1)" ] },
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 1000,
    "energy_increment": -40,
    "final_energy_cost": 600,
    "base_casting_time": 3000,
    "casting_time_increment": 75,
    "final_casting_time": 100
  },
  {
    "id": "arvore_summon_floral_boat_real",
    "type": "SPELL",
    "name": { "str": "Viridescent Vessel Real", "//~": "NO_I18N" },
    "description": { "str": "The actual spell to summon the boat.  If you have it, it's a bug.", "//~": "NO_I18N" },
    "message": "",
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "flags": [ "SILENT", "NO_PROJECTILE", "RANDOM_DURATION" ],
    "effect": "summon_vehicle",
    "effect_str": "arvore_floral_boat",
    "shape": "blast",
    "min_range": 8,
    "max_range": 8,
    "min_duration": {
      "math": [
        "( 45000 + (u_spell_level('arvore_summon_floral_boat') * 10000) ) * scaling_factor(u_val('perception') ) * paraclesian_post_threshold_doubler(1)"
      ]
    },
    "max_duration": {
      "math": [
        "( 90000 + (u_spell_level('arvore_summon_floral_boat') * 32000 ) ) * scaling_factor(u_val('perception') ) * paraclesian_post_threshold_doubler(1)"
      ]
    }
  },
  {
    "id": "arvore_summon_briars",
    "type": "SPELL",
    "name": "Briarwall",
    "description": "Call up thick briars and thorns, either in a line to form a wall or an arc to trap an enemy.  They will grow to full size in moments.",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "teachable": false,
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_BRIARS_SELECTOR",
    "max_level": { "math": [ "int_to_level(1)" ] },
    "shape": "blast",
    "flags": [ "SOMATIC", "VERBAL" ],
    "magic_type": "xedra_arvore_magick",
    "spell_class": "ARVORE",
    "difficulty": 5,
    "base_casting_time": 150,
    "final_casting_time": 75,
    "casting_time_increment": -5,
    "base_energy_cost": 550,
    "final_energy_cost": 250,
    "energy_increment": -15,
    "learn_spells": { "arvore_roots_spell": 8, "arvore_tree_singing_spell": 12 }
  },
  {
    "id": "arvore_summon_briars_arc",
    "type": "SPELL",
    "name": { "str": "Summon Briars Arc", "//~": "NO_I18N" },
    "description": {
      "str": "Call up briars and thorns, either in a line to form a wall or an arc to trap an enemy.  They will grow to full size in moments.",
      "//~": "NO_I18N"
    },
    "valid_targets": [ "ground", "hostile" ],
    "skill": "deduction",
    "effect": "ter_transform",
    "effect_str": "ter_arvore_summoned_brambles",
    "shape": "cone",
    "spell_class": "ARVORE",
    "teachable": false,
    "flags": [ "SILENT", "NO_PROJECTILE" ],
    "max_level": 15,
    "min_range": { "math": [ "( (u_spell_level('arvore_summon_briars') * 0.6) + 1)" ] },
    "max_range": { "math": [ "( (u_spell_level('arvore_summon_briars') * 0.6) + 1)" ] },
    "min_aoe": { "math": [ "( (u_spell_level('arvore_summon_briars') * 1.9) + 30)" ] },
    "max_aoe": { "math": [ "( (u_spell_level('arvore_summon_briars') * 1.9) + 30)" ] }
  },
  {
    "id": "arvore_summon_briars_line",
    "type": "SPELL",
    "name": { "str": "Summon Briars Line", "//~": "NO_I18N" },
    "description": {
      "str": "Call up briars and thorns, either in a line to form a wall or an arc to trap an enemy.  They will grow to full size in moments.",
      "//~": "NO_I18N"
    },
    "valid_targets": [ "ground", "hostile" ],
    "skill": "deduction",
    "effect": "ter_transform",
    "effect_str": "ter_arvore_summoned_brambles",
    "shape": "line",
    "spell_class": "ARVORE",
    "teachable": false,
    "flags": [ "SILENT", "NO_PROJECTILE" ],
    "max_level": 15,
    "min_range": { "math": [ "( (u_spell_level('arvore_summon_briars') * 1) + 1)" ] },
    "max_range": { "math": [ "( (u_spell_level('arvore_summon_briars') * 1) + 1)" ] }
  },
  {
    "id": "arvore_anti_plant_spell",
    "type": "SPELL",
    "name": "Tending the Garden",
    "description": "Invasive weeds must be rooted out, lest they choke the life from the garden.  This spell inflicts a rapid withering on plants and fungus within its area of effect.",
    "flags": [ "SOMATIC", "VERBAL", "RANDOM_DAMAGE", "RANDOM_DURATION" ],
    "valid_targets": [ "hostile" ],
    "targeted_monster_species": [ "PLANT", "FUNGUS", "LEECH_PLANT", "ARVORE" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "skill": "deduction",
    "difficulty": 4,
    "effect": "attack",
    "extra_effects": [ { "id": "arvore_anti_plant_spell_fungicide" } ],
    "damage_type": "biological",
    "shape": "blast",
    "spell_class": "ARVORE",
    "teachable": false,
    "min_damage": { "math": [ "(10 + (u_spell_level('arvore_anti_plant_spell') * 2.5) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_damage": { "math": [ "(15 + (u_spell_level('arvore_anti_plant_spell') * 5.5) * (scaling_factor(u_val('perception') ) ) )" ] },
    "min_dot": 1,
    "max_dot": 3,
    "dot_increment": 0.1,
    "min_duration": { "math": [ "(200 + (u_spell_level('arvore_anti_plant_spell') * 150) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_duration": { "math": [ "(1000 + (u_spell_level('arvore_anti_plant_spell') * 350) * (scaling_factor(u_val('perception') ) ) )" ] },
    "min_range": { "math": [ "(2 + (u_spell_level('arvore_anti_plant_spell') * 1.5) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_range": 70,
    "min_aoe": { "math": [ "(0 + (u_spell_level('arvore_anti_plant_spell') * 0.25) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_aoe": 8,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 400,
    "final_energy_cost": 150,
    "energy_increment": -10,
    "base_casting_time": 200,
    "final_casting_time": 100,
    "casting_time_increment": -5,
    "learn_spells": { "arvore_turn_into_tree": 15 }
  },
  {
    "id": "arvore_anti_plant_spell_fungicide",
    "type": "SPELL",
    "name": { "str": "Tending the Garden Fungicide", "//~": "NO_I18N" },
    "description": {
      "str": "This is the fungicidal effect of the Tending the Garden spell.  It's a bug if you have it directly.",
      "//~": "NO_I18N"
    },
    "flags": [ "SOMATIC", "VERBAL", "RANDOM_AOE", "NO_EXPLOSION_SFX" ],
    "valid_targets": [ "hostile" ],
    "targeted_monster_species": [ "PLANT", "FUNGUS", "LEECH_PLANT", "ARVORE" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "skill": "deduction",
    "difficulty": 4,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_fungicide",
    "shape": "blast",
    "spell_class": "ARVORE",
    "teachable": false,
    "min_range": { "math": [ "(2 + (u_spell_level('arvore_anti_plant_spell') * 1.5) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_range": 70,
    "min_aoe": { "math": [ "(1 + (u_spell_level('arvore_anti_plant_spell') * 0.5) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_aoe": { "math": [ "(1 + (u_spell_level('arvore_anti_plant_spell') * 1) * (scaling_factor(u_val('perception') ) ) )" ] }
  },
  {
    "id": "arvore_vine_drag_spell",
    "type": "SPELL",
    "name": { "str": "Entangling Vines Spell", "//~": "NO_I18N" },
    "description": { "str": "Pull a target to you.", "//~": "NO_I18N" },
    "message": "",
    "valid_targets": [ "hostile" ],
    "flags": [ "SILENT" ],
    "effect": "directed_push",
    "shape": "blast",
    "difficulty": 1,
    "min_damage": { "math": [ "(u_val('dexterity') / 2) * -1" ] },
    "min_range": { "math": [ "(u_val('dexterity') / 2)" ] }
  },
  {
    "id": "arvore_nurture_the_green",
    "type": "SPELL",
    "name": "Nurturing the Green",
    "description": "You can greatly speed plant growth.  Grass can grow from seed in moments, crops can be brought to ripeness, and even young trees will reach their full bloom.",
    "flags": [ "SOMATIC", "VERBAL" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": { "math": [ "int_to_level(1)" ] },
    "shape": "blast",
    "difficulty": 2,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_plant_growth",
    "min_range": 1,
    "magic_type": "xedra_arvore_magick",
    "spell_class": "ARVORE",
    "teachable": false,
    "base_energy_cost": 1000,
    "final_energy_cost": 500,
    "energy_increment": -40,
    "base_casting_time": 6000,
    "final_casting_time": 1500,
    "casting_time_increment": -225,
    "learn_spells": { "arvore_summon_preservation_container": 6, "arvore_tree_singing_spell": 10, "arvore_nurture_the_green_aoe": 14 }
  },
  {
    "id": "arvore_nurture_the_green_aoe",
    "type": "SPELL",
    "name": "Spreading the Viridian Mantle",
    "description": "Rather than fostering the growth of a single plant, you can cause a wave of growth all around you, affecting an entire field and bringing it towards ripeness.",
    "flags": [ "SOMATIC", "VERBAL" ],
    "spell_class": "ARVORE",
    "teachable": false,
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": { "math": [ "int_to_level(1)" ] },
    "shape": "blast",
    "difficulty": 9,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_plant_growth",
    "min_aoe": { "math": [ "(1 + (u_spell_level('arvore_nurture_the_green_aoe') * 1) * (scaling_factor(u_val('intelligence') ) ) )" ] },
    "max_aoe": { "math": [ "(1 + (u_spell_level('arvore_nurture_the_green_aoe') * 1) * (scaling_factor(u_val('intelligence') ) ) )" ] },
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 4000,
    "final_energy_cost": 2500,
    "energy_increment": -50,
    "base_casting_time": 720000,
    "final_casting_time": 360000,
    "casting_time_increment": -15000
  },
  {
    "id": "arvore_growing_wood_walls",
    "type": "SPELL",
    "name": "The Forest Offers Shelter",
    "description": "In natural surroundings, you can create structures out of living wood--walls, floors, doors, and roofs all together.",
    "flags": [ "SOMATIC", "VERBAL" ],
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "max_level": { "math": [ "int_to_level(1)" ] },
    "shape": "blast",
    "difficulty": 6,
    "spell_class": "ARVORE",
    "teachable": false,
    "effect": "effect_on_condition",
    "effect_str": "EOC_GROWING_WOOD_WALLS_SELECTOR",
    "base_casting_time": 30000,
    "final_casting_time": 12000,
    "casting_time_increment": -900,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 600,
    "final_energy_cost": 350,
    "energy_increment": -15,
    "learn_spells": { "arvore_tree_singing_spell": 6, "arvore_create_living_tent_spell": 8, "arvore_turn_into_tree": 12 }
  },
  {
    "id": "arvore_growing_wood_walls_wall",
    "type": "SPELL",
    "name": { "str": "The Forest Offers Shelter (Wall)", "//~": "NO_I18N" },
    "description": { "str": "The walls part of the Forest Offers Shelter spell.  It's a bug if you have it directly.", "//~": "NO_I18N" },
    "flags": [ "SILENT" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": 20,
    "difficulty": 6,
    "effect": "effect_on_condition",
    "effect_str": "EOC_GROWING_WOOD_WALLS_WALL",
    "shape": "blast",
    "min_range": 1,
    "max_range": 4,
    "range_increment": 0.25
  },
  {
    "type": "effect_on_condition",
    "id": "EOC_GROWING_WOOD_WALLS_WALL",
    "eoc_type": "ACTIVATION",
    "effect": [
      {
        "npc_transform_radius": 0,
        "ter_furn_transform": "ter_arvore_wood_wall",
        "target_var": { "context_val": "spell_location" }
      },
      { "location_variable_adjust": { "context_val": "spell_location" }, "z_adjust": 1 },
      {
        "npc_transform_radius": 0,
        "ter_furn_transform": "ter_arvore_wood_wall_top",
        "target_var": { "context_val": "spell_location" }
      }
    ]
  },
  {
    "id": "arvore_growing_wood_walls_floor",
    "type": "SPELL",
    "name": { "str": "The Forest Offers Shelter (Floor)", "//~": "NO_I18N" },
    "description": { "str": "The floor part of the Forest Offers Shelter spell.  It's a bug if you have it directly.", "//~": "NO_I18N" },
    "flags": [ "SILENT" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": 20,
    "difficulty": 6,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_wood_floor",
    "shape": "blast",
    "min_range": 1,
    "max_range": 4,
    "range_increment": 0.25
  },
  {
    "id": "arvore_growing_wood_walls_branch",
    "type": "SPELL",
    "name": { "str": "The Forest Offers Shelter (Branches)", "//~": "NO_I18N" },
    "description": {
      "str": "The branches part of the Forest Offers Shelter spell.  It's a bug if you have it directly.",
      "//~": "NO_I18N"
    },
    "flags": [ "SILENT" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": 20,
    "difficulty": 6,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_wood_branches",
    "shape": "blast",
    "min_range": 1,
    "max_range": 4,
    "range_increment": 0.25
  },
  {
    "id": "arvore_growing_wood_walls_door",
    "type": "SPELL",
    "name": { "str": "The Forest Offers Shelter (Door)", "//~": "NO_I18N" },
    "description": { "str": "The doors part of the Forest Offers Shelter spell.  It's a bug if you have it directly.", "//~": "NO_I18N" },
    "flags": [ "SILENT" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": 20,
    "difficulty": 6,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_wood_door",
    "shape": "blast",
    "min_range": 1,
    "max_range": 4,
    "range_increment": 0.25
  },
  {
    "id": "arvore_climbing_vine_spell",
    "type": "SPELL",
    "name": "Creeper Ascends the Wall",
    "description": "Cause a cluster of vines to burst out of diggable ground and rise up into the sky in moments.  It will be easy to climb once its growth is finished.",
    "message": "The soil churns as thick vines burst forth and shoots toward the sky.",
    "flags": [ "VERBAL", "SOMATIC" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "spell_class": "ARVORE",
    "max_level": { "math": [ "int_to_level(1)" ] },
    "difficulty": 3,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_climbing_vine",
    "shape": "blast",
    "min_range": 1,
    "teachable": false,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 350,
    "final_energy_cost": 200,
    "energy_increment": -25,
    "base_casting_time": 150,
    "final_casting_time": 75,
    "casting_time_increment": -5,
    "learn_spells": { "arvore_roots_spell": 8, "arvore_create_living_tent_spell": 10, "arvore_summon_floral_boat": 16 }
  },
  {
    "type": "SPELL",
    "id": "arvore_create_living_tent_spell",
    "name": "Den of Brambles",
    "description": "When outside on diggable ground, create a small structure of wood near the Arvore, offering shelter against the elements.",
    "flags": [ "SOMATIC", "VERBAL", "NO_FAIL" ],
    "valid_targets": [ "ground" ],
    "skill": "deduction",
    "max_level": { "math": [ "int_to_level(1)" ] },
    "difficulty": 5,
    "teachable": false,
    "spell_class": "ARVORE",
    "effect": "ter_transform",
    "effect_str": "ter_arvore_living_tent",
    "shape": "blast",
    "min_range": 1,
    "max_range": 1,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 500,
    "final_energy_cost": 250,
    "energy_increment": -20,
    "base_casting_time": 12000,
    "final_casting_time": 1500,
    "casting_time_increment": -150,
    "learn_spells": { "arvore_summon_floral_boat": 8 }
  },
  {
    "id": "arvore_summon_grass_field_spell",
    "type": "SPELL",
    "name": { "str": "Commanding the Grasses" },
    "description": "Your command over plants allows you to cause grass to grow in profusion from the soil, making the terrain very difficult for enemies to traverse.",
    "valid_targets": [ "hostile", "ground" ],
    "flags": [ "VERBAL", "SOMATIC", "NO_PROJECTILE", "NO_HANDS", "NO_LEGS" ],
    "max_level": { "math": [ "int_to_level(1)" ] },
    "skill": "deduction",
    "teachable": false,
    "difficulty": 1,
    "spell_class": "ARVORE",
    "effect": "ter_transform",
    "effect_str": "ter_arvore_command_grasses",
    "shape": "blast",
    "damage_type": "bash",
    "min_range": {
      "math": [ "( ( (u_spell_level('arvore_summon_grass_field_spell') * 0.8) + 3) * (scaling_factor(u_val('intelligence') ) ) )" ]
    },
    "max_range": {
      "math": [ "( ( (u_spell_level('arvore_summon_grass_field_spell') * 0.8) + 3) * (scaling_factor(u_val('intelligence') ) ) )" ]
    },
    "min_aoe": {
      "math": [ "( ( (u_spell_level('arvore_summon_grass_field_spell') * 0.5) + 2) * (scaling_factor(u_val('intelligence') ) ) )" ]
    },
    "max_aoe": {
      "math": [ "( ( (u_spell_level('arvore_summon_grass_field_spell') * 0.5) + 5) * (scaling_factor(u_val('intelligence') ) ) )" ]
    },
    "magic_type": "xedra_arvore_magick",
    "base_casting_time": 100,
    "final_casting_time": 35,
    "casting_time_increment": -4,
    "base_energy_cost": 150,
    "final_energy_cost": 75,
    "energy_increment": -5,
    "learn_spells": { "arvore_roots_spell": 6 }
  },
  {
    "id": "arvore_roots_spell",
    "type": "SPELL",
    "name": { "//~": "The name is a reference to the poem \"Goblin Market\" by Christina Rossetti.", "str": "Hungry Thirsty Roots" },
    "description": "Your command over plants allows you to call forth roots from the earth to clutch and grasp at your enemies.",
    "valid_targets": [ "hostile", "ground" ],
    "flags": [ "VERBAL", "NO_PROJECTILE", "NO_HANDS", "NO_LEGS", "RANDOM_DURATION" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "skill": "deduction",
    "teachable": false,
    "difficulty": 3,
    "spell_class": "ARVORE",
    "effect": "attack",
    "effect_str": "effect_hungry_roots",
    "shape": "blast",
    "damage_type": "bash",
    "min_range": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 0.65) + 2) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_range": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 0.65) + 2) * (scaling_factor(u_val('perception') ) ) )" ] },
    "min_aoe": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 0.25) + 0) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_aoe": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 0.25) + 0) * (scaling_factor(u_val('perception') ) ) )" ] },
    "min_dot": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 0.1) + 0) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_dot": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 0.1) + 0) * (scaling_factor(u_val('perception') ) ) )" ] },
    "min_duration": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 50) + 300) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_duration": { "math": [ "( ( (u_spell_level('arvore_roots_spell') * 100) + 1000) * (scaling_factor(u_val('perception') ) ) )" ] },
    "magic_type": "xedra_arvore_magick",
    "base_casting_time": 150,
    "final_casting_time": 50,
    "casting_time_increment": -4,
    "base_energy_cost": 225,
    "final_energy_cost": 125,
    "energy_increment": -5
  },
  {
    "id": "arvore_perennial_rebirth_spell",
    "type": "SPELL",
    "name": "Perennial Rebirth",
    "description": "Bind your soul to the heart of the forest, rebirthing yourself if you should die.  You may only perform this in thick forests or at an arvore altar, you may be reborn no more than once in a lunar month.",
    "flags": [ "SOMATIC", "VERBAL", "NO_FAIL" ],
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "teachable": false,
    "spell_class": "ARVORE",
    "effect": "effect_on_condition",
    "effect_str": "EOC_PERENNIAL_REBIRTH_INITIAL_CHECK",
    "shape": "blast",
    "max_level": 1,
    "difficulty": 10,
    "base_casting_time": 2160000,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 2000
  },
  {
    "id": "arvore_overgrowth_spell",
    "type": "SPELL",
    "name": "Overgrowth",
    "description": "While outdoors and not underground, the Arvore can create a profusion of life around themselves, causing grass to grow through pavement, bushes and flowers to sprout, and trees to grow to full height in moments.",
    "flags": [ "SOMATIC", "VERBAL" ],
    "valid_targets": [ "self" ],
    "max_level": { "math": [ "int_to_level(1)" ] },
    "skill": "deduction",
    "spell_class": "ARVORE",
    "shape": "blast",
    "difficulty": 8,
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_OVERGROWTH",
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 1500,
    "final_energy_cost": 750,
    "energy_increment": -35,
    "base_casting_time": 500,
    "final_casting_time": 250,
    "casting_time_increment": -8,
    "learn_spells": { "arvore_tree_singing_spell": 5, "arvore_turn_into_tree": 9, "arvore_damage_zombies_heal_living": 12 }
  },
  {
    "id": "arvore_cause_decay",
    "type": "SPELL",
    "name": "Fallen Trees Decay to Soil",
    "description": "Even the mightiest tree returns to soil in the end.  The Arvore may channel this natural process into an area around themselves, infecting everyone within with the energies of rot.\n\n<color_yellow>This spell is indiscriminate</color> and <color_red>should not be used near allies</color>.",
    "flags": [ "SOMATIC", "NO_PROJECTILE", "RANDOM_DURATION", "VERBAL" ],
    "valid_targets": [ "hostile", "ground", "ally" ],
    "skill": "deduction",
    "teachable": false,
    "effect": "attack",
    "shape": "blast",
    "max_level": { "math": [ "per_to_level(1)" ] },
    "difficulty": 9,
    "spell_class": "ARVORE",
    "damage_type": "biological",
    "min_aoe": { "math": [ "( ( (u_spell_level('arvore_cause_decay') * 0.8) + 3) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_aoe": { "math": [ "( ( (u_spell_level('arvore_cause_decay') * 0.8) + 3) * (scaling_factor(u_val('perception') ) ) )" ] },
    "min_dot": 1,
    "max_dot": 5,
    "dot_increment": 0.2,
    "min_duration": { "math": [ "( ( (u_spell_level('arvore_cause_decay') * 100) + 500) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_duration": { "math": [ "( ( (u_spell_level('arvore_cause_decay') * 300) + 3000) * (scaling_factor(u_val('perception') ) ) )" ] },
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 1000,
    "final_energy_cost": 500,
    "energy_increment": -20,
    "base_casting_time": 150,
    "final_casting_time": 75,
    "casting_time_increment": -2,
    "learn_spells": { "arvore_damage_zombies_heal_living": 7 }
  },
  {
    "id": "arvore_traverse_the_wilds",
    "type": "SPELL",
    "name": "Traverse the Wilds",
    "description": "Roots grow together and so forests are connected.  The Arvore may use this connection to quickly transport themselves tree to tree, stepping into an adjacent tree and then stepping out of another one within the spell's range.",
    "message": "",
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC", "SILENT" ],
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_WALK_WILDS_TELEPORT_CHECK",
    "shape": "blast",
    "difficulty": 4,
    "spell_class": "ARVORE",
    "teachable": false,
    "max_level": { "math": [ "per_to_level(1)" ] },
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 250,
    "energy_increment": -5,
    "final_energy_cost": 80,
    "base_casting_time": 100,
    "casting_time_increment": -1,
    "final_casting_time": 80
  },
  {
    "id": "arvore_traverse_the_wilds_real",
    "type": "SPELL",
    "name": { "str": "Traverse the Wilds Real", "//~": "NO_I18N" },
    "description": {
      "str": "Roots grow together and so forests are connected.  The Arvore may use this connection to quickly transport themselves tree to tree, stepping into an adjacent tree and then stepping out of another one within the spell's range.",
      "//~": "NO_I18N"
    },
    "message": "",
    "valid_targets": [ "ground", "ally", "hostile" ],
    "skill": "deduction",
    "flags": [ "SILENT", "TARGET_TELEPORT", "NO_PROJECTILE" ],
    "effect": "short_range_teleport",
    "shape": "blast",
    "max_level": { "math": [ "per_to_level(1)" ] },
    "min_range": {
      "math": [ "( ( (u_spell_level('arvore_traverse_the_wilds') * 1.5) + 5) * (scaling_factor(u_val('perception') ) ) )" ]
    },
    "max_range": {
      "math": [ "( ( (u_spell_level('arvore_traverse_the_wilds') * 1.5) + 5) * (scaling_factor(u_val('perception') ) ) )" ]
    }
  },
  {
    "id": "arvore_forest_translocate",
    "type": "SPELL",
    "name": "From Root to Root the Forest Is Joined",
    "description": "All forests are connected at their hearts.  You can use this connection to travel from the depths of a forest to the depths of another forest, if you properly attune to your destination.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "ARVORE",
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC" ],
    "difficulty": 9,
    "max_level": { "math": [ "per_to_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_ROOT_TO_ROOT_TRANSLOCATE_CHECK",
    "shape": "blast",
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 1500,
    "base_casting_time": 30000
  },
  {
    "id": "arvore_forest_translocate_attune",
    "type": "SPELL",
    "name": "Root to Root Attunement",
    "description": "Attune to a location for later traveling.  You must attune within the depths of a forest.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "ARVORE",
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC", "NO_FAIL" ],
    "difficulty": 1,
    "max_level": 1,
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_ROOT_TO_ROOT_ATTUNEMENT_CHECK",
    "shape": "blast",
    "magic_type": "xedra_arvore_magick",
    "min_range": 1,
    "base_energy_cost": 0,
    "base_casting_time": { "math": [ "2880000 - max(( u_spell_level('arvore_forest_translocate') * 108000), 180000)" ] }
  },
  {
    "id": "arvore_forest_translocate_attune_real",
    "type": "SPELL",
    "name": { "str": "Root to Root Attunement Real", "//~": "NO_I18N" },
    "description": { "str": "The actual Root to Root attunement spell.  It's a bug if you have it.", "//~": "NO_I18N" },
    "teachable": false,
    "valid_targets": [ "ground" ],
    "spell_class": "ARVORE",
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC", "NO_FAIL" ],
    "difficulty": 1,
    "max_level": 1,
    "effect": "ter_transform",
    "effect_str": "ter_arvore_translocate_location_attune",
    "shape": "blast",
    "min_range": 1
  },
  {
    "id": "arvore_turn_into_tree",
    "type": "SPELL",
    "name": "Verdant Imprisonment",
    "description": "The ultimate expression of nature's power, you can turn your target into a tree that might have stood for a century or more.  It works best on an already-weakened target, and does not work at all on non-organic targets.",
    "valid_targets": [ "hostile" ],
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC", "SILENT", "RANDOM_DAMAGE" ],
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_VERDANT_IMPRISONMENT",
    "shape": "blast",
    "difficulty": 10,
    "spell_class": "ARVORE",
    "teachable": false,
    "max_level": { "math": [ "int_to_level(1)" ] },
    "min_range": { "math": [ "(3 + (u_spell_level('arvore_turn_into_tree') * 1.2) * (scaling_factor(u_val('perception') ) ) )" ] },
    "max_range": 70,
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 1750,
    "energy_increment": -50,
    "final_energy_cost": 850,
    "base_casting_time": 200,
    "casting_time_increment": -5,
    "final_casting_time": 100,
    "ignored_monster_species": [ "NETHER_EMANATION", "ROBOT", "ROBOT_FLYING" ]
  },
  {
    "id": "arvore_turn_into_tree_banish",
    "type": "SPELL",
    "name": { "str": "Verdant Imprisonment Self", "//~": "NO_I18N" },
    "description": { "str": "This is the banishment that the target casts on themselves.", "//~": "NO_I18N" },
    "valid_targets": [ "self" ],
    "skill": "deduction",
    "flags": [ "VERBAL", "SOMATIC", "SILENT", "RANDOM_DAMAGE" ],
    "effect": "banishment",
    "shape": "blast",
    "spell_class": "ARVORE",
    "teachable": false,
    "min_damage": { "math": [ "(25 + (u_arvore_turn_into_tree_spell_level * 5)) * u_arvore_turn_into_tree_intelligence" ] },
    "max_damage": { "math": [ "(100 + (u_arvore_turn_into_tree_spell_level * 15)) * u_arvore_turn_into_tree_intelligence" ] },
    "min_range": 0,
    "max_range": 0,
    "ignored_monster_species": [ "NETHER_EMANATION", "ROBOT", "ROBOT_FLYING" ]
  },
  {
    "id": "arvore_damage_zombies_heal_living",
    "type": "SPELL",
    "name": "Embrace of the Verdant Mother",
    "description": "While outdoors and not underground, the Arvore can unleash the power of nature against their enemies.  The walking dead and most creatures not native to the world suffer the Earthmother's wrath, while animals and humans are healed.  Triffids, being plants, are healed as well.\n\nNote that this power is <color_yellow>indiscriminate</color>: if the Arvore has somehow bound a Nether creature to their service, it will be damaged, and hostile humans will be healed.",
    "message": "",
    "flags": [ "SOMATIC", "VERBAL", "RANDOM_DAMAGE", "IGNORE_WALLS" ],
    "valid_targets": [ "hostile", "ally" ],
    "max_level": { "math": [ "per_to_level(1)" ] },
    "skill": "deduction",
    "spell_class": "ARVORE",
    "shape": "blast",
    "difficulty": 10,
    "effect": "effect_on_condition",
    "effect_str": "EOC_ARVORE_DAMAGE_ZOMBIES_HEAL_LIVING",
    "min_aoe": {
      "math": [ "( (u_spell_level('arvore_damage_zombies_heal_living') * 1.1) + 2.5) * scaling_factor(u_val('intelligence') )" ]
    },
    "max_aoe": {
      "math": [ "( (u_spell_level('arvore_damage_zombies_heal_living') * 1.1) + 2.5) * scaling_factor(u_val('intelligence') )" ]
    },
    "magic_type": "xedra_arvore_magick",
    "base_energy_cost": 2200,
    "final_energy_cost": 1500,
    "energy_increment": -55,
    "base_casting_time": 350,
    "final_casting_time": 100,
    "casting_time_increment": -15
  }
]
