[
  {
    "id": "xedra_chronomancy_magic",
    "type": "magic_type",
    "energy_source": "MANA",
    "get_level_formula_id": "xedra_chronomancer_formula_get_level",
    "exp_for_level_formula_id": "xedra_chronomancer_formula_exp_for_level",
    "casting_xp_formula_id": "xedra_chronomancer_formula_exp_per_cast"
  },
  {
    "id": "xedra_chronomancer_time_freeze_target",
    "type": "SPELL",
    "name": "Time Freeze",
    "description": "Freeze your target in time, preventing them from acting but also preventing them from suffering harm.",
    "message": "You freeze your target in time!",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 2,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "attack",
    "effect_str": "effect_xedra_time_freeze",
    "shape": "blast",
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_freeze_target'), 2, 1 ), 80 )" ] },
    "max_range": 80,
    "min_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_freeze_target'), 60000, 0 )" ] },
    "max_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_freeze_target'), 60000, 0 )" ] },
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 200,
    "final_energy_cost": 50,
    "energy_increment": -5,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_normalize_time",
    "type": "SPELL",
    "name": "Normalize Time",
    "description": "Fix the target area's timestream, unfreezing frozen targets and ending any active timeloops.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 2,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "remove_effect",
    "effect_str": "effect_xedra_time_freeze",
    "extra_effects": [ { "id": "xedra_chronomancer_normalize_time_terrain" }, { "id": "xedra_chronomancer_normalize_time_loop" } ],
    "shape": "blast",
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_normalize_time'), 2, 1 ), 80 )" ] },
    "max_range": 80,
    "magic_type": "xedra_chronomancy_magic",
    "energy_source": "NONE",
    "base_energy_cost": 0,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_normalize_time_loop",
    "type": "SPELL",
    "name": "Unfreeze Time - Loop",
    "description": "Remove a time loop.  Part of the main unfreeze spell.  Having this spell is a bug.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "NO_FAIL", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 0,
    "max_level": 1,
    "effect": "remove_effect",
    "effect_str": "effect_xedra_time_loop",
    "shape": "blast",
    "min_range": 80,
    "max_range": 80,
    "base_energy_cost": 0,
    "base_casting_time": 0
  },
  {
    "id": "xedra_chronomancer_normalize_time_terrain",
    "type": "SPELL",
    "name": "Unfreeze Time - Terrain",
    "description": "Unfreeze terrain from frozen time.  Part of the main unfreeze spell.  Having this spell is a bug.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "NO_FAIL", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 0,
    "max_level": 1,
    "effect": "ter_transform",
    "effect_str": "xedra_chronomancer_normalize_time_terrain_furn_transform",
    "shape": "blast",
    "min_range": 80,
    "max_range": 80,
    "base_energy_cost": 0,
    "base_casting_time": 0
  },
  {
    "id": "xedra_chronomancer_entropic_burst",
    "type": "SPELL",
    "name": "Entropic Burst",
    "description": "Dangerously destabilize local time in an area, flooding everything within with entropy.  This will destroy any areas of frozen time and steadily erode any creatures caught within.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 8,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "attack",
    "shape": "blast",
    "extra_effects": [ { "id": "xedra_chronomancer_entropic_burst_field" }, { "id": "xedra_chronomancer_entropic_burst_effect" } ],
    "min_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 0.5, 1 ), 15 )" ] },
    "max_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 0.5, 1 ), 15 )" ] },
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 2, 1 ), 80 )" ] },
    "max_range": 80,
    "min_dot": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 1, 0 )" ] },
    "max_dot": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 1, 0 )" ] },
    "min_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 50, 200 )" ] },
    "max_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 50, 200 )" ] },
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 600,
    "final_energy_cost": 150,
    "energy_increment": -15,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5,
    "damage_type": "pure"
  },
  {
    "id": "xedra_chronomancer_entropic_burst_field",
    "type": "SPELL",
    "name": "Entropic Burst - Fields",
    "description": "Remove fields of frozen time.  Part of the Entropic Burst spell.  Having this spell is a bug.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [
      "NO_FAIL",
      "SILENT",
      "NO_HANDS",
      "NO_LEGS",
      "NO_EXPLOSION_SFX",
      "IGNORE_WALLS",
      "NO_PROJECTILE",
      "MUST_HAVE_CLASS_TO_LEARN"
    ],
    "difficulty": 0,
    "max_level": 0,
    "effect": "ter_transform",
    "effect_str": "xedra_chronomancer_normalize_time_terrain_furn_transform",
    "shape": "blast",
    "min_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 0.5, 1 ), 15 )" ] },
    "max_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 0.5, 1 ), 15 )" ] },
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 2, 1 ), 80 )" ] },
    "max_range": 80,
    "base_energy_cost": 0,
    "base_casting_time": 0
  },
  {
    "id": "xedra_chronomancer_entropic_burst_effect",
    "type": "SPELL",
    "name": "Entropic Burst - Effect",
    "description": "Unfreeze target from frozen time.  Part of the main entropic burst spell.  Having this spell is a bug.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "NO_FAIL", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 0,
    "max_level": 1,
    "effect": "remove_effect",
    "effect_str": "effect_xedra_time_freeze",
    "shape": "blast",
    "min_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 0.5, 1 ), 15 )" ] },
    "max_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_entropic_burst'), 0.5, 1 ), 15 )" ] },
    "min_range": 80,
    "max_range": 80,
    "base_energy_cost": 0,
    "base_casting_time": 0
  },
  {
    "type": "ter_furn_transform",
    "id": "xedra_chronomancer_normalize_time_terrain_furn_transform",
    "field": [ { "result": [ "fd_null" ], "valid_field": [ "fd_frozen_time" ], "message": "You unfreeze a zone of frozen time." } ]
  },
  {
    "id": "xedra_chronomancer_time_bubble",
    "type": "SPELL",
    "name": "Time Bubble",
    "description": "Create an impenetrable bubble of frozen time at your chosen location, freezing everything within.",
    "message": "You create a bubble of frozen time!",
    "teachable": false,
    "valid_targets": [ "self", "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 3,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "attack",
    "effect_str": "effect_xedra_time_freeze",
    "shape": "blast",
    "min_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_bubble'), 0.5, 1 ), 15 )" ] },
    "max_aoe": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_bubble'), 0.5, 1 ), 15 )" ] },
    "field_id": "fd_frozen_time",
    "field_chance": 1,
    "min_field_intensity": 10,
    "max_field_intensity": 10,
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_bubble'), 2, 1 ), 80 )" ] },
    "max_range": 80,
    "min_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_bubble'), 60000, 0 )" ] },
    "max_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_bubble'), 60000, 0 )" ] },
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 600,
    "final_energy_cost": 150,
    "energy_increment": -15,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_revert_wound",
    "type": "SPELL",
    "name": "Revert Wound",
    "description": "Rewind the last injury you have taken, erasing the effects it has had on your person.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 4,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_DAMAGE_REVERSAL",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 200,
    "final_energy_cost": 50,
    "energy_increment": -5,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_time_loop",
    "type": "SPELL",
    "name": "Time Loop",
    "description": "Loop time around your person for a short duration, repeatedly resetting any changes to your person every few seconds.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 5,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "attack",
    "effect_str": "effect_xedra_time_loop",
    "shape": "blast",
    "min_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_loop'), 3000, 0 )" ] },
    "max_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_loop'), 3000, 0 )" ] },
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 300,
    "final_energy_cost": 100,
    "energy_increment": -10,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_time_stop",
    "type": "SPELL",
    "name": "Time Stop",
    "description": "Temporarily halt the progression of time for everything but yourself.  Lasts roughly 2 seconds per level.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 10,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "mod_moves",
    "shape": "blast",
    "min_damage": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_stop'), 200, 0 )" ] },
    "max_damage": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_time_stop'), 200, 0 )" ] },
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 1000,
    "final_energy_cost": 800,
    "energy_increment": -10,
    "base_casting_time": 0
  },
  {
    "id": "xedra_chronomancer_revert_location",
    "type": "SPELL",
    "name": "Revert Location",
    "description": "Revert yourself to a location you have previously memorized.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 8,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "translocate",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 1000,
    "final_energy_cost": 500,
    "energy_increment": -25,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_revert_location_attune",
    "type": "SPELL",
    "name": "Memorize Location",
    "description": "Spend time memorizing an area so you can revert your physical location to that spot.",
    "teachable": false,
    "valid_targets": [ "ground" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "NO_FAIL", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 0,
    "max_level": 0,
    "energy_source": "NONE",
    "base_energy_cost": 0,
    "magic_type": "xedra_chronomancy_magic",
    "effect": "ter_transform",
    "effect_str": "xedra_chronomancer_memorize_terrain_switch",
    "shape": "blast",
    "min_range": 0
  },
  {
    "type": "ter_furn_transform",
    "id": "xedra_chronomancer_memorize_terrain_switch",
    "furniture": [
      {
        "result": "xedra_chronomancer_memorized_terrain",
        "valid_furniture": [ "f_null" ],
        "message": "You don't think you'd forget this spot.",
        "message_good": true
      }
    ]
  },
  {
    "id": "xedra_chronomancer_cement_time",
    "type": "SPELL",
    "name": "Cement Time",
    "description": "Stabilize a zone of disjointed time, preventing it from decaying.",
    "teachable": false,
    "valid_targets": [ "ally", "ground", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 10,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "ter_transform",
    "effect_str": "xedra_chronomancer_cement_time_terrain_furn_transform",
    "extra_effects": [ { "id": "xedra_chronomancer_cement_time_terrain" } ],
    "shape": "blast",
    "min_range": 1,
    "max_range": 1,
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 1000,
    "final_energy_cost": 800,
    "energy_increment": -10,
    "base_casting_time": 1000,
    "final_casting_time": 200,
    "casting_time_increment": -40
  },
  {
    "id": "xedra_chronomancer_cement_time_terrain",
    "type": "SPELL",
    "name": "Cement Time - Target",
    "description": "Stabilize target of frozen time.  Part of the main cement spell.  Having this spell is a bug.",
    "teachable": false,
    "valid_targets": [ "self", "ally", "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "NO_FAIL", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 0,
    "max_level": 1,
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_CEMENT_TIME_TARGET",
    "shape": "blast",
    "min_range": 1,
    "max_range": 1,
    "base_energy_cost": 0,
    "base_casting_time": 0
  },
  {
    "type": "ter_furn_transform",
    "id": "xedra_chronomancer_cement_time_terrain_furn_transform",
    "field": [
      {
        "result": [ "fd_frozen_time_permanent" ],
        "valid_field": [ "fd_frozen_time" ],
        "message": "You permanently freeze a zone of frozen time."
      }
    ]
  },
  {
    "id": "xedra_chronomancer_paradox",
    "type": "SPELL",
    "name": "Paradox",
    "description": "Create a minute incision in your target's personal timestream, separating their present from their past and thus deleting them from reality in a temporal paradox.  This technique is harder to perform on more powerful foes, and may result in backlash if you are not prepared.  Luckily, this time anomaly is significant enough that merely observing it will give you significant temporal insights based on its strength.",
    "teachable": false,
    "valid_targets": [ "hostile" ],
    "condition": { "and": [ { "not": { "npc_has_flag": "DIMENSIONAL_ANCHOR" } }, { "not": { "npc_has_flag": "STABILIZED_TIMELINE" } } ] },
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 10,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_PARADOX_INSIGHT",
    "extra_effects": [ { "id": "xedra_chronomancer_paradox_banish" } ],
    "shape": "blast",
    "min_damage": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_paradox'), 25, 0 )" ] },
    "max_damage": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_paradox'), 25, 0 )" ] },
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_paradox'), 1, 0 ), 20 )" ] },
    "max_range": 20,
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 2000,
    "final_energy_cost": 1000,
    "energy_increment": -50,
    "base_casting_time": 200,
    "final_casting_time": 50,
    "casting_time_increment": -5
  },
  {
    "id": "xedra_chronomancer_paradox_banish",
    "type": "SPELL",
    "name": { "str": "Paradox", "//~": "NO_I18N" },
    "description": { "str": "Banish Portion of Paradox.  Having this spell is a bug", "//~": "NO_I18N" },
    "message": "",
    "teachable": false,
    "valid_targets": [ "hostile" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "NO_FAIL", "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "IGNORE_WALLS", "NO_PROJECTILE" ],
    "difficulty": 0,
    "max_level": 1,
    "min_damage": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_paradox'), 25, 0 )" ] },
    "max_damage": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_paradox'), 25, 0 )" ] },
    "effect": "banishment",
    "shape": "blast",
    "min_range": { "math": [ "min( xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_paradox'), 1, 0 ), 20 )" ] },
    "max_range": 20,
    "base_energy_cost": 0,
    "base_casting_time": 0
  },
  {
    "id": "xedra_chronomancer_stable_loop",
    "type": "SPELL",
    "name": "Stable Time Loop (T)",
    "description": "Create a long-lasting time loop around yourself which you can end at any time.  Ending the loop will return you to the state you were in at the start of it.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 8,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_STABLE_TIMELOOP_INITIATE",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_stable_timeloop') > -1 ? 0 : max( ( 1000 - ( 25 * u_spell_level('xedra_chronomancer_stable_loop') ) ), 250 ) "
      ]
    },
    "base_casting_time": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_stable_timeloop') > -1 ? 0 : max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_stable_loop') ) ), 50 )"
      ]
    }
  },
  {
    "id": "xedra_chronomancer_chronal_acceleration",
    "type": "SPELL",
    "name": "Chronal Acceleration (T)",
    "description": "You speed up the flow of your personal timestream, allowing you to act quicker relative to everything else.  This power will remain active until toggled off.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 5,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_CHRONAL_ACCEL_INITIATE",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_chronal_accel') > -1 ? 0 : max( ( 1000 - ( 25 * u_spell_level('xedra_chronomancer_chronal_acceleration') ) ), 250 ) "
      ]
    },
    "base_casting_time": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_chronal_accel') > -1 ? 0 : max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_chronal_acceleration') ) ), 50 )"
      ]
    }
  },
  {
    "id": "xedra_chronomancer_destabilizing_strikes",
    "type": "SPELL",
    "name": "Destabilizing Strikes (T)",
    "description": "By maintaining a field of destabilized time around your body, you can effortlessly cause your attacks to erode your target over time.  This power will remain active until toggled off.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 6,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_DESTABILIZING_STRIKES_INITIATE",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_destabilizing_strikes') > -1 ? 0 : max( ( 1000 - ( 25 * u_spell_level('xedra_chronomancer_destabilizing_strikes') ) ), 250 ) "
      ]
    },
    "base_casting_time": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_destabilizing_strikes') > -1 ? 0 : max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_destabilizing_strikes') ) ), 50 )"
      ]
    }
  },
  {
    "id": "xedra_chronomancer_destabilizing_strikes_attack",
    "type": "SPELL",
    "name": "Destabilizing Strikes (T) - Attack",
    "description": "This causes the dot when attacking targets with the destabilizing strikes buff.  Having the spell is a bug.",
    "valid_targets": [ "hostile" ],
    "flags": [ "SILENT", "NO_PROJECTILE", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "effect": "attack",
    "shape": "blast",
    "min_dot": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_destabilizing_strikes'), 0.2, 0 )" ] },
    "max_dot": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_destabilizing_strikes'), 0.2, 0 )" ] },
    "min_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_destabilizing_strikes'), 100, 0 )" ] },
    "max_duration": { "math": [ "xedra_chron_spell_calc( u_spell_level('xedra_chronomancer_destabilizing_strikes'), 100, 0 )" ] },
    "min_range": 1,
    "max_range": 1,
    "damage_type": "pure"
  },
  {
    "id": "xedra_chronomancer_stabilize_timeline",
    "type": "SPELL",
    "name": "Stabilize Timeline (T)",
    "description": "Stabilize your personal timeline, making yourself immune to adverse changes to time around you.  This power will remain active until toggled off.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 3,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_STABILIZE_TIMELINE_INITIATE",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_stabilize_timeline') > -1 ? 0 : max( ( 500 - ( 12.5 * u_spell_level('xedra_chronomancer_stabilize_timeline') ) ), 125 ) "
      ]
    },
    "base_casting_time": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_stabilize_timeline') > -1 ? 0 : max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_stabilize_timeline') ) ), 50 )"
      ]
    }
  },
  {
    "id": "xedra_chronomancer_reverse_entropy",
    "type": "SPELL",
    "name": "Reverse Entropy (T)",
    "description": "Reverse the entropy on your equipment, repairing any damage it has taken or energy it has spent over time.  This power will remain active until toggled off.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 3,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_REVERSE_ENTROPY_INITIATE",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_reverse_entropy') > -1 ? 0 : max( ( 1000 - ( 25 * u_spell_level('xedra_chronomancer_reverse_entropy') ) ), 250 ) "
      ]
    },
    "base_casting_time": {
      "math": [
        "u_effect_intensity('effect_xedra_chronomancer_reverse_entropy') > -1 ? 0 : max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_reverse_entropy') ) ), 50 )"
      ]
    }
  },
  {
    "id": "xedra_chronomancer_rewrite_wound_causality",
    "type": "SPELL",
    "name": "Rewrite Wound Causality (M)",
    "description": "Sink into a mediative trance where you steadily rewrite the causality of your current wounds, effectively healing yourself of injury.  This power will remain active until you run out of mana or your wounds are healed.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 6,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_REWRITE_WOUND_CAUSALITY",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 20,
    "base_casting_time": { "math": [ " max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_rewrite_wound_causality') ) ), 50 )" ] }
  },
  {
    "id": "xedra_chronomancer_rewrite_equipment_causality",
    "type": "SPELL",
    "name": "Rewrite Equipment Causality (M)",
    "description": "Sink into a mediative trance where you steadily rewrite the causality of your carried items, efficiently repairing any faults they may have.  This power will remain active until you run out of mana or your wounds are healed.",
    "teachable": false,
    "valid_targets": [ "self" ],
    "spell_class": "XEDRA_CHRONOMANCER",
    "skill": "deduction",
    "flags": [ "SILENT", "NO_HANDS", "NO_LEGS", "NO_EXPLOSION_SFX", "MUST_HAVE_CLASS_TO_LEARN" ],
    "difficulty": 6,
    "max_level": { "math": [ "xedra_chronomancer_level(1)" ] },
    "effect": "effect_on_condition",
    "effect_str": "EOC_XEDRA_CHRONOMANCER_REWRITE_EQUIPMENT_CAUSALITY",
    "shape": "blast",
    "magic_type": "xedra_chronomancy_magic",
    "base_energy_cost": 20,
    "base_casting_time": { "math": [ " max( ( 200 - ( 5 * u_spell_level('xedra_chronomancer_rewrite_equipment_causality') ) ), 50 )" ] }
  }
]
